Re: "Поиск инжектов" или "Наш код в чужом процессе"
Идея есть.
В общем, полезно будет сделать программку, которая будет отображать данные начиная с определённого адреса по оффсетам (программа будет читать базовый адрес, находить начало структуры игрока/монстра и выводить всю структуру (до определённого места, скажем, до 1000 байт от начала)). Для удобства. Просмотри структуру игрока (а лучше монстра, которого выделяешь) на предмет того непонятного значения.
Вообще, твоя задача сейчас - докопаться, откуда берётся это значение. Отследи все операции, пихающие в регистр данное значение (вероятно, придётся много копаться в коде асма и ставить много-много брейкпоинтов в олли, однако оно того стоит - рано или поздно научишься понимать всё на лету).
Re: "Поиск инжектов" или "Наш код в чужом процессе"
)) да я так и пытаюсь вычислить ...но учитывая то что я только совсем недавно начал изучение АСМ что тормозит процесс..а как обычно хочется много и сразу )
Re: "Поиск инжектов" или "Наш код в чужом процессе"
Цитата:
Сообщение от iMockBa
этот код сработал .функция вызвалась .....осталось только разобраться как читать значение ВИД правильно .....или если это не ВИД есть ли какие нибудь идеи как найти это значение ?
есть ли способ протрассировать где и когда было измененно значение есх ?
Честно говоря я не знаю что передается в этом аргументе (нет у меня клиента данной игры). По сути как найти WID написано в данном гайде.
Вообще способ есть, ставишь брейкпоинт и начинаешь подниматься вверх по присвоениям. Из твоего скрина видно что конкретно сюда он передается в стеке, вероятно в вызове иерархически являющимся родителем (эк я задвинул, но надеюсь понятно) значение и грузится в стек.
________________ Dinmaite пишет с меня, когда он на работе.
Re: "Поиск инжектов" или "Наш код в чужом процессе"
Как говорит один хороший реверсер, в ECX обычно передаётся указатель this для функций, описанных как __thiscall, то бишь для членов классов. Особенно это заметно, когда до этого в ECX ничего не помещалось, а затем вызвалась функция, которая сразу копирует содержимое ECX в другой регистр.
Лично из своего опыта могу сказать, что большинство команд "push ECX" сразу перед вызовом функции (call) отправляют в стек именно структуру игрока.
Последний раз редактировалось BritishColonist; 27.09.2011 в 14:48.
Re: "Поиск инжектов" или "Наш код в чужом процессе"
что за "elementclient с параметром console:1 ."? где его найти???
shift + ~ не работает....
вот как сделать это..
Код:
Создайте пустой .txt файл в папке где расположен файл elementclient.exe
Скопируйте/Вставьте в него код, представленный ниже:
Код:
elementclient.exe game:cpw console:1
Переименуйте ваш файл в Launcher.bat
Запустите bat файл
Жмите Shift+~ открытия консоли
Последний раз редактировалось Meg(0); 23.05.2012 в 23:41.
Re: "Поиск инжектов" или "Наш код в чужом процессе"
1) elementclient.exe - основной исполняемый файл клиента. Если вы не знаете где его найти - эта тема не для вас.
2) запуск с параметром console:1 уже не поможет - включение консоли отключено в конфигах интерфейсов клиента.
Re: "Поиск инжектов" или "Наш код в чужом процессе"
Цитата:
Сообщение от vogel
1) elementclient.exe - основной исполняемый файл клиента. Если вы не знаете где его найти - эта тема не для вас.
2) запуск с параметром console:1 уже не поможет - включение консоли отключено в конфигах интерфейсов клиента.
как бы я уже написал,как сделать это..
что я не так нашёл...вроде всё так сделал,но при запуске выбивает с клиента или просто зависает,ичего не происходит..
[Ссылки могут видеть только зарегистрированные пользователи. ]
Код:
P1: DWord; //
begin //
P1:=aPParams^.WID; //
asm
MOV EDI, P1 // Вносим WID моба в регистр EDI
MOV EBX, $0062FD80 // Вносим в свободный регистр адрес функции
MOV EAX,DWORD PTR DS:[$A571E0] //
PUSH EDI //
MOV ECX,DWORD PTR DS:[EAX+$1C] //
ADD ESP,$0C //
CALL EBX // ; \elementc.0062fd80
end;
end;
ECX в этом блоке не нашёл,нашёл в следующем,подставил,всёравно ошибка,заменил его на ESP так же ошибка..
Re: "Поиск инжектов" или "Наш код в чужом процессе"
BritishColonist, меня тож это смутило.. но я не мог найти ADD ECX..с CE вроде правельный адрес взял..или искать до следующего Retn? я там какой-то нашёл,подставил,всёравно вылетел клиент
Re: "Поиск инжектов" или "Наш код в чужом процессе"
Meg(0), а зачем вообще увеличивать ECX?
Важно повторить тот же код, что виден в отладчике, взяв при этом лишь необходимую для правильной работы часть.
Необходимо в первую очередь обратить внимание на это:
1) ESP (он может изменяться перед вызовом, но это мы уже отбросили);
2) ECX (он используется для вызова методов класса, хранит в себе this, т.е. указатель на конкретный экземпляр класса - например, на нашего игрока);
3) команды PUSH (они помещают параметры в стек перед вызовом функции через CALL).
________________
Принимаю реквесты на статьи, программы. Всё будет запилено в лучшем виде :3