2010-09-01 4 views
0

Я использую Ollydbg для дизассемблирования программы. Что мне нужно сделать, это ввести код в программу и сохранить значение EDX в определенный момент. Я предполагаю, что самый простой способ был бы для меня, чтобы создать DLL с одной функцией, как так ...Вызов DLL из сборки? Дис. Ollydbg

функция WriteEAXValue (EAX: PChar): LongBool

, а затем внедрить код в программу так оно при необходимости вызывает DLL.

Что мне кажется, это эквивалент следующего кода delphi, но в сборке, поэтому я могу добавить его в программу. Кто-нибудь может мне помочь? Спасибо

type 
    TFunc = function (EAX: PChar): LongBool; 

Var 
    A: THandle; 
    F: TFunc; 
begin 
    A := LoadLibrary('C:\My_Dll.dll'); 
    @F := GetProcAddress(A,'WriteEAXValue'); 
    F('EAX'); 
    FreeLibrary(A); 
end. 

ответ

1

Найти эквивалент сборки кода Delphi довольно просто. Просто скомпилируйте код, запустите его и установите точку останова в начале процедуры и просмотрите ее в представлении CPU. Таким образом вы получите полную разборку.

+0

Спасибо, это сработало :) – Doobi