获知dll中函数的参数(源码)
2008-04-09 14:47
274 查看
前面讲了如何动态反编译得到DLL的Function参数,今又看到一篇文章,可以通过工具来生成DLL相关头文件,AheadLib 2.2.150:
Yonsm写的一款工具AheadLib 2.2.150 ,用来生成DLL相关头文件。类似工具dummy也写过一款:http://bbs.pediy.com/showthread.php?t=50460
引用: http://www.yonsm.net/read.php?170 2005/01/14 09:26
一、简介
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 代码,用于截取当前进程的所有消息,这样就可以随心所欲地处理各种消息了 (修改第三方程序界面功能的好助手)。
三、备注
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.rar
AheadLib_2.2.150源码
Yonsm写的一款工具AheadLib 2.2.150 ,用来生成DLL相关头文件。类似工具dummy也写过一款:http://bbs.pediy.com/showthread.php?t=50460
引用: http://www.yonsm.net/read.php?170 2005/01/14 09:26
一、简介
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 代码,用于截取当前进程的所有消息,这样就可以随心所欲地处理各种消息了 (修改第三方程序界面功能的好助手)。
三、备注
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.rar
AheadLib_2.2.150源码
相关文章推荐
- 如何获知DLL中函数的参数
- 如何获知DLL中函数的参数
- [转]如何反汇编获知dll中函数的参数
- 如何反汇编获知dll中函数的参数
- 如何获知DLL中函数的参数
- 使用dumpbin 查看lib或 dll 中函数名和参数
- JAVA 通过 JNA 调用 C程序 dll 函数传入中文参数问题
- C#调用VC DLL接口函数参数类型对应介绍
- 如何获取DLL组件中函数及参数?
- 在dll导出函数参数中传递map类型的参数,在函数内insert时出非法访问错
- C# 调用Dll中非托管C++代码时,函数参数的类型对照
- 函数调用,C# 调用Dll中非托管C++代码时,函数参数的类型对照
- C#调用VC的DLL的接口函数参数类型转换一览表
- PowerShell 调用系统 DLL 中的函数,如何使用返回参数中的值
- 需要DLL函数输出的结果信息,尽量使用传入参数做为输出变量~!
- (一)ghostscript源码分析之interp()函数的第二个参数
- C#中调用C++的dll的参数为指针类型的导出函数(包括二级指针的情况)
- C#调用VC DLL接口函数参数类型转换方法介绍
- 【分享】给函数设置 默认参数【C++源码】
- C#调用VC DLL接口函数参数类型转换的方法