PDA

Просмотр полной версии : [Статья] Поиск PackCall за 23 действия


sumikot
03.07.2012, 19:23
Поиск PackCall (Адрес функции для отправки пакетов) За 23 действия и один мат.
Кто-то скажет - ну все, посыпались гайды.
Не копипаст.(Почти баян)

Для поиска нужен Cheat Engine. Как скачать: в Google в поисковой строке вбить "Cheat Engine" без кавычек, нажать Enter. В результатах поиска (на момент написания гайда ссылка на оригинальный сайт выпадала первой) кликнуть по первой ссылке. Когда откроется страница, нажать на "Download Cheat Engine" в большом зеленом овале.

1. Запустить клиент и зайти любым персом в оконном режиме.
2. Желательно, но не обязательно отойти или отлететь в безлюдное (безперсовое) место. Это нужно, чтобы никто не мешал разнообразными запросами. Да и чем меньше действий происходит вокруг, тем меньше посылается пакетов как на клиент, так и с клиента.
2. Открыть инвентарь.
3. Запустить Cheat Engine.
4. Файл - открытие_процесса - выбрать процесс elemenclient.exe.
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
5. Нажать кнопку добавить адрес.
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
6. Ввести корректное значение BaseAdress для данного клиента.
BaseAdress ([Ссылки могут видеть только зарегистрированные и активированные пользователи])
Описание не обязательно, эта строка предназначена для удобства.
Тип 4 байта. Ок.
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
7. ПКМ по получившейся строке с базовым адресом, "Точка Останова на Доступ".
У кого англоязычная версия CE - "Find out what reads from this address".
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
8. Согласиться с присоединением отладчика. Внимание! После этого пункта PW начинает работать медленнее, как бы рывками. Не пугайтесь, так и должно быть.
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
9. В окне появится список адресов инструкций, которые обращаются к BaseAdress.
10. Ждать, пока новые адреса не перестанут появляться.
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
11. Прокрутить адреса скроллингом и ЛКМ на крайний снизу, чтобы его выделить.
12. "Alt"+"Tab" или другим способом сделать окно клиента активным.
13. Поводить мышкой над участком открытого окна инвентаря, ни на что не нажимая.
13. "Alt"+"Tab" или другим способом сделать окно Chat Engine активным.
14. Вот и попались адресочки! После выделенного адреса их целая куча.
15. Жаль, что они никому не нужны.
16. Повторить пункты 11 - 15 до тех пор, пока новые адреса не перестанут появляться.
17. Сделать окно клиента активным и в инвентаре перенести любой предмет из одной ячейки в другую. Сколько раз будет перенесен предмет с ячейки в ячейку, такой и счетчик будет на нужном адресе.
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
18. Вернуться к Cheat Engine и нажать кнопку стоп.
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
19. По очереди выделять адреса после выделенного в 11 пункте и, нажав на него ПКМ, выбирать включение отладчика. (По подсказке VeTaL_UA можно просто выделить нужную строку с адресом и нажать справа кнопку Отладчик. Но это для очень ленивых. Никогда так не поступайте, если еще дочитали до этого пункта)
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
20. В открывшемся отладчике нужно искать примерно такое сочетание текста. То есть сначала в регистр загружается значение базового адреса, потом в регистр ecx загружается значение BA+20, в стек сохраняется сначала длинна пакета, потом адрес пакета, потом управление передается функции.
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
21. Вместо адреса функции получается мистическое число elementclient.exe+23DB70
22. Так как число мистическое, нужно и поступать с ним мистически. Нужно громко вслух произнести свою фамилию и быстро сложить на пальцах два шестнадцатиричных числа - 0x400000 и получившееся 0x23DB70. Если с первого раза не выйдет, нужно как можно громче произнести любой мат на свой выбор. (0x400000 - это разница между положением почти любого байта в файле elementclient и в процессе от этого же файла)
23. При поиске нужно знать одну истину - если при обновлении клиента BaseAdress стал больше, то и адрес искомой функции тоже будет больше. (Пока китайские братья не надумают капитально изменить исходник). Поэтому если получаемый адрес функции, допустим, меньше, то либо пальцев у вас 10 (Для быстрого счета по шестнадцатиричной системе рекомендуется купировать два пальца), либо найденный адрес только притворяется валидным, и прийдется просматривать найденное дальше, или даже начинать заново.

Всё :hd:

VeTaL_UA(1)
03.07.2012, 20:33
[Ссылки могут видеть только зарегистрированные и активированные пользователи]

Мы не ищем лёгких путей? /dgs

sumikot
03.07.2012, 20:52
Зачем? Даже расписал все так, чтобы никто не понял. На самом деле просто привычка. Даже файл, лежащий с корзиной рядом, удалю не через перетаскивание, а через ЛКМ-"Del" или ПКМ-Удалить. Это уже не исправить...

ЗЫ кстати, именно для таких как я в Cheat Engine кроме кнопок есть еще действия через ПКМ

Spyware
03.07.2012, 22:15
Мне кажется или способ,указанный в теме ниже легче?

chetoss
03.07.2012, 22:29
Мне кажется или некоторым лень ждать "парсинга"(дизассемблирования) в IDA?

sumikot
03.07.2012, 22:37
Мне кажется или способ,указанный в теме ниже легче?
Количество функций с поисковым словом может измениться, они могут поменяться местами, поисковое слово вообще может измениться... Метод временный.

Мне кажется или некоторым лень ждать парсинга в IDA?
IDA не парсит, только декомпилирует. Парсит программа, специально для этого написанная.

Тему прочитало 32 человека, одно замечание о неприемлимости действия, два негативных, 0 положительных.
Тема не нужна?

chetoss
03.07.2012, 22:44
Количество функций с поисковым словом может измениться, они могут поменяться местами, поисковое слово вообще может измениться... Метод временный.


IDA не парсит, только декомпилирует. Парсит программа, специально для этого написанная.

Тему прочитало 32 человека, одно замечание о неприемлимости действия, два негативных, 0 положительных.
Тема не нужна?
Тема пригодится, как относительно статический метод, но во вторая тема на данный момент более актуальна.

Smertig
03.07.2012, 22:58
Разные способы - разные темы. Чем больше разнообразной теории, тем лучше.

=Grande=
04.07.2012, 01:22
Где можно программу скачать? Дайте ссылку..желательно на жхост

AEBus
04.07.2012, 02:51
Где можно программу скачать?
тут ([Ссылки могут видеть только зарегистрированные и активированные пользователи])

Даже файл, лежащий с корзиной рядом, удалю не через перетаскивание, а через ЛКМ-"Del" или ПКМ-Удалить.
а я использую shift + del, корзина у меня всегда пустая

sumikot
04.07.2012, 10:02
Где можно программу скачать?
Точно. По ссылке Nitrogen, первая строка - сайт производителя данной продукции.

а я использую shift + del, корзина у меня всегда пустая
У меня на домашнем ее вообще нет... Года два как удалил с помощью реестра. А вот на работе не получается - шеф выпадает в ступор. Потому как корзина должна быть. "Штоб была возможность достать неправильно удаленный файл"

GenOstr
04.07.2012, 22:53
IDA не парсит, только декомпилирует. Парсит программа, специально для этого написанная.
ммм....кто так решил??? ИДА более чем заменяет Олю+Cheat Engine+артмани вместе. Ах да, там на англицком.
тут дело предпочтений. самый легкий способ поиска (сам таким пользуюсь) инжектов и адресов через системные сообщения в чате. но для этого нужно ТОЧНО знать что ищете и механику клиента.

mr-anri
04.07.2012, 23:58
на пункте 8 вылетает клиент, через IDA замучался искать этот адресс, потому что гайд очень неподробный да и не ищет он эту комбинацию слов, скажите пожалуйста как исправить проблему с вылетом? если никак то какие ещё есть спопособы узнать sendpacket

sumikot
05.07.2012, 11:45
ммм....кто так решил??? ИДА более чем заменяет Олю+Cheat Engine+артмани вместе.
Нууу... Микроскопом тоже можно орехи колоть.... Только этот способ использования разработчиками микроскопа в мануале почему то не описан. А чтобы Вам не быть голословным - способ парсинга подгружаемого процесса с помощью регулярного выражения без использования плагинов - в студию - в виде отдельной темы. Так как ЭТА тема - совсем не про Interactive Disassembler.

самый легкий способ поиска (сам таким пользуюсь) инжектов и адресов через системные сообщения в чате
Я хочу это видеть!!! Я может, и неправильно понял именно это предложение, но просмотр гайда на тему поиска адресов всех инжектов в PW через системные сообщения в чате был бы для меня равноценен, допустим... прослушиванием эксклюзивного концерта Аллы Борисовны для одного зрителя, причем не в записи.

на пункте 8 вылетает клиент
Cheat Engine скачан с официального сайта? При установке/использовании антивирус выключен?
Система ХР32? (на других может быть небольшой, хоть и устраняемый гемор)

через IDA замучался искать этот адресс
Тут я ничем не помогу, так как именно этот способ не проверял. Но там и описывать нечего, всего 2 действия. А про то, что не ищет - возможно, что в твоем клиенте код не совсем такой... Или версия IDA не та. Второе вероятнее, так как с выходом новых версий немного изменялся способ обработки кода, добавлялись и изменялись библиотеки. Поэтому вполне вероятно, что в дизассемблированном тексте этот код может выглядеть немного по другому. По смыслу он будет одинаков, а вот по написанию, хотя бы, например, по количеству пробелов - нет.

Как выглядит начало функции на IDA 4 версии (название функции было изменено вручную):

[Ссылки могут видеть только зарегистрированные и активированные пользователи]

Как выглядит в версии, близкой к гайду:

[Ссылки могут видеть только зарегистрированные и активированные пользователи]


Понятно, что в гайде версия намного новее и четверка просто по другому отображает переданные в функцию аргументы (в коментарии их вообще нет, а поиск производится именно по коментарию). О поиске не может быть и речи...

Tama11
19.07.2012, 02:05
Cheat Engine скачан с официального сайта? При установке/использовании антивирус выключен?
Система ХР32? (на других может быть небольшой, хоть и устраняемый гемор)


Да, CE скачан с оф. сайта, анти-вирь выключен и там, и там
XP SP3...
Клиент не вылетает, но начинает жутко виснуть, и через 20-30сек просто перестаёт показывать признаки жизни... Что делать? =-=
Сделал, как написано, нажал на стоп - вылетел клиент(?!) Что за фигня!
После мучений в 2 часа - осилил я всё это. Спасибо за гайд.)

sumikot
20.07.2012, 17:15
Tama11, твой единственный пост, где я верю, что ты искал, и что работал головой. Спасибо за спасибо.

ЗЫ у кого не получается - тут ([Ссылки могут видеть только зарегистрированные и активированные пользователи]) таблица соответствия PackCall Базовому адресу.

Лёгкий
03.02.2013, 18:32
НАРОД У МЕНЯ ВООБЩЕ НЕТУ ВОТ ТАКОГО КАК НА 7 ПУНКТЕ(ПКМ по получившейся строке с базовым адресом, "Точка Останова на Доступ".)
ВОТ СКРИН ! ПЛИИЗ ПОМОГИТЕ42468

sumikot
03.02.2013, 19:15
НАРОД У МЕНЯ ВООБЩЕ НЕТУ ВОТ ТАКОГО КАК НА 7 ПУНКТЕ(ПКМ по получившейся строке с базовым адресом, "Точка Останова на Доступ".)
Я честно пытался разобраться в причине, но в скрине 400*200, из площади которого окно программы занимает примерно 1/6 часть, понять что-либо невозможно. Может, у меня зрение плохое?

Лёгкий
03.02.2013, 19:25
sumikot,
короче должно было быть написано
Точка Останова на Доступ
Find out what reads from this address

а у меня там написано
Findt out what accesses this address

Добавлено через 2 минуты
sumikot, скажи свой скайп

sumikot
03.02.2013, 19:45
Другая версия программы, только и всего.
чтение с адреса и доступ к адресу. не обращай внимания, все правильно

Лёгкий
03.02.2013, 19:57
НАРОД МОЖЕТ КТО МНЕ В ЛИЧКУ СВОЙ СКАЙП ОСТАВИТЬ ?
Я ВООБЩЕ ТУТ РАЗОБРАТСЯ НЕ МОГУ КТО ПОМОЖЕТ ?

sumikot
03.02.2013, 20:14
Не капси, а внятно обьясни, где ты не можешь разобраться. Желательно в предидущем посте, чтобы не плодить портянки.
Добавил: Ведь если не можешь разобраться ты, возможно, кто-то еще, может, мне стоИт более подробно описать процесс?

Добавлено через 55 минут
Видимо, разобрался сам...

lom1337
07.03.2013, 22:51
Nitrogen, Привет , я насчет помощи узнать BaseAdress и
SendPacket через Cheat Engine все вроди делаю по гайду но не получается , буду благодарен за помощь скайп lom41k141

шышка
08.03.2013, 13:00
20. В открывшемся отладчике нужно искать примерно такое сочетание текста. То есть сначала в регистр загружается значение базового адреса, потом в регистр ecx загружается значение BA+20, в стек сохраняется сначала длинна пакета, потом адрес пакета, потом управление передается функции.
Скрин
Што тут длать надо ничего непонятно??

Добавлено через 29 минут
Поиск PackCall за 23 действия
обясните 20 действие там ниче непонятно што надо там зделать ..скрин тоже непонятный обясните што делать нада плиз

sumikot
08.03.2013, 21:05
Што тут длать надо ничего непонятно??
Если сначала обратить немного внимания на мнемоники ассемблера, то сразу станет все ясно.
Ищи такой текст:
mov edx, [elemenclient+NNNN]
mov ecx,[edx+20]
push NN
push esi
call PackCall
Это и есть то, что я описал:
То есть сначала в регистр загружается значение базового адреса, потом в регистр ecx загружается значение BA+20, в стек сохраняется сначала длинна пакета, потом адрес пакета, потом управление передается функции.

Lethal
20.03.2013, 22:46
sumikot, спасибо тебе огроменное.
Но хотелось бы понять - по какому принципу выискивать эти строчки.
То есть смутно понятно почему - но почему именно эти 4 - как их определить - вот это не понимаю.
А так все нашел для PWI ) Быстро и просто.

sumikot
20.03.2013, 23:15
но почему именно эти 4
Потому что это подготовка к отправке пакета переноса вещи в инвентаре. Сначала вычисление БА+0х20, потом сохранение в стек длинны пакета, затем сохранение туда же адреса пакета и переход на функцию отправки пакета. В принципе, таких мест в клиенте несколько, где подготавливается пакет для отправки, и они по смыслу одинаковы. Сначала кто то первый нашел функцию отправки, проанализировал как пакет отправляется. Затем ее выложили в паблик. Я только описал принцип поиска - опираясь на эти строки. Ну а сами строки так выглядят, потому что так их написали великие китайские программисты :)
Пожалуйста.

+ Shmel +
06.08.2013, 05:41
Спасибо!Опробуем!

shura_luka
29.09.2013, 07:03
20. В открывшемся отладчике нужно искать примерно такое сочетание текста. То есть сначала в регистр загружается значение базового адреса, потом в регистр ecx загружается значение BA+20, в стек сохраняется сначала длинна пакета, потом адрес пакета, потом управление передается функции.
Скрин
Што тут длать надо ничего непонятно??

Добавлено через 29 минут
Поиск PackCall за 23 действия
обясните 20 действие там ниче непонятно што надо там зделать ..скрин тоже непонятный обясните што делать нада плиз

Для того чтоб вам стало понятно о чом говорится в этом пункте идите изучать асемблер без этого ни 1 хакер не обходится.

Desmond Hume
29.09.2013, 08:01
Для того чтоб вам стало понятно о чом говорится в этом пункте идите изучать асемблер без этого ни 1 хакер не обходится.
Для таго чтоби песать бес ашипок ниабахдимо учить руский язик бес ниго не адин чилавек ни абходица.

pwgamer
11.06.2015, 00:50
BA = 0x00D2E444
GA = 0x00D2EBE4

StrelokOD
12.11.2015, 02:03
Нууу... Микроскопом тоже можно орехи колоть.... Только этот способ использования разработчиками микроскопа в мануале почему то не описан. А чтобы Вам не быть голословным - способ парсинга подгружаемого процесса с помощью регулярного выражения без использования плагинов - в студию - в виде отдельной темы. Так как ЭТА тема - совсем не про Interactive Disassembler.


Я хочу это видеть!!! Я может, и неправильно понял именно это предложение, но просмотр гайда на тему поиска адресов всех инжектов в PW через системные сообщения в чате был бы для меня равноценен, допустим... прослушиванием эксклюзивного концерта Аллы Борисовны для одного зрителя, причем не в записи.


Cheat Engine скачан с официального сайта? При установке/использовании антивирус выключен?
Система ХР32? (на других может быть небольшой, хоть и устраняемый гемор)


Тут я ничем не помогу, так как именно этот способ не проверял. Но там и описывать нечего, всего 2 действия. А про то, что не ищет - возможно, что в твоем клиенте код не совсем такой... Или версия IDA не та. Второе вероятнее, так как с выходом новых версий немного изменялся способ обработки кода, добавлялись и изменялись библиотеки. Поэтому вполне вероятно, что в дизассемблированном тексте этот код может выглядеть немного по другому. По смыслу он будет одинаков, а вот по написанию, хотя бы, например, по количеству пробелов - нет.

Как выглядит начало функции на IDA 4 версии (название функции было изменено вручную):

[Ссылки могут видеть только зарегистрированные и активированные пользователи]

Как выглядит в версии, близкой к гайду:

[Ссылки могут видеть только зарегистрированные и активированные пользователи]


Понятно, что в гайде версия намного новее и четверка просто по другому отображает переданные в функцию аргументы (в коментарии их вообще нет, а поиск производится именно по коментарию). О поиске не может быть и речи...

Доброго времени суток, последние скрины очень смахивают на оли дебаг, автор я понял так понял, что ты шарящий.
Назови, плиз, по твоему мнению самый адекватный способ найти адрес PackCall.
У меня за плечами 2 курса универа по ассемблеру и написанию всякой мелкой хрени в виде лаб, вроде не дурак, но по какому принципу ты ищешь функцию ? там жешь нет ни ключа, ни переменной...
Буду благодарен за ответ
:bow:

Добавлено через 5 минут
sumikot, Нет серьезно я так и не понял какую именно ты прогу заюзал для выведение этого всего добра...
mov edx, [elemenclient+NNNN]
mov ecx,[edx+20]
push NN
push esi
call PackCall

В ЕСХ хранится длина массива пакета что ли ? бредь ... Вообщем надеюсь на твою поддержку.Спасибо.

kapo6ok3
14.03.2018, 15:11
Суть такая. Пытаюсь изменить кастомный пвруф на пиратку 1.5.5, на сервере стоит античик, кастомку я каким-то чудом увел от античита (он не детектится если кое-что колдануть при установке). При запуске Cheat Engine античит палит и кидает в бан на время. Спрятать его не получается таким же способом как и пвруф.
Вопрос: Если я скачаю клиент с другого сервера 1.5.5 и поколдую на нем, то есть под него изменю крафтер, будет ли он работать на первом сервере?

И еще вопрос не в тему, знает мб кто как проще античит обходить? Каждый раз переустанавливать на моем еле дышащем буке достаточно долго ~40 минут

almaz34
10.02.2019, 02:05
как найти PackCall (sendpacket), если при привязке Cheat Engine к клиенту сервера OriginalPW 162, он сразу закрывается? это защита такая или что?

solodrel
01.03.2019, 13:24
при попытке присоединить отладчик (пункт 8 в инструкции), клиент пв закрывается. с чем это может быть связано? бан на аккаунт не прилает, просто закрывается клиент и всё.
вот ссылка на елементклиент [Ссылки могут видеть только зарегистрированные и активированные пользователи]

semideum
15.11.2019, 12:18
У кого-то получается с руофа вытаскивать оффсеты? CE не работает, вопросики.