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