AheadLib 是用來生成一個特洛伊DLL的工具,用于分析DLL中的函數(shù)參數(shù)調(diào)用(比如記錄Socket send了什么等等)、更改函數(shù)功能(隨心所欲了:)、更改界面功能(比如在Hook里面生成一個按鈕,截獲事件等等)。
使用
1.用 AheadLib 打開要模擬的 DLL,生成一個 CPP 文件。2.用 Visual Studio 6.0/.NET 建立一個 DLL 工程,把這個 CPP 文件加入到項目中。
3.使用 Release 方式編譯,生成的 DLL 將和原來的 DLL 具有一模一樣的導(dǎo)出函數(shù),并且能順利把這些函數(shù)轉(zhuǎn)發(fā)到原來的函數(shù)中。
4.AheadLib 還可以生成 Hook 代碼,用于截取當(dāng)前進程的所有消息,這樣就可以隨心所欲地處理各種消息了 (修改第三方程序界面功能的好助手)。
備注
1.如果導(dǎo)出函數(shù)過多,在 Visual Studio 6.0 中,如果出現(xiàn)編譯錯誤,請在項目屬性關(guān)閉與編譯頭功能。2.如果是 C++ 、C __stdcall、C __fastcall 的方式導(dǎo)出的話,生成的函數(shù)聲明將會還原成原代碼級別(可能需要修改才能編譯,比如導(dǎo)出C++類的情況)。此時使用 __declspec(dllexport) 導(dǎo)出 ——不能指定導(dǎo)出序號。
3.如果是 NONAME 或者 C _CDECL 方式導(dǎo)出(比如 DEF 導(dǎo)出,大多數(shù)Windows DLL都是這種情況,比如WS2_32等等),則使用#pragma comment(linker, "/EXPORT:...)導(dǎo)出,且指定導(dǎo)出序號。
4.如果系統(tǒng)中沒有 DbgHelp.dll,將無法識別 C++ 模式的導(dǎo)出。