2010-09-01 58 views
0

我正在使用Ollydbg來分解程序。我需要做的是將代碼注入程序並在某個點保存EDX值。我猜最簡單的方法將是我與像這樣的單一功能創建一個DLL ...從Assembly調用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 2010-09-01 18:41:41