有没有任何本地DLL导出function查看器?
是否有任何免费的本机Windows DLL导出function查看器,其中显示函数名称,以及它们的参数列表?
您可以使用Dependency Walker来查看函数名称。 只有在装饰后才能看到函数的参数。 从FAQ中阅读以下内容:
如何查看函数的参数和返回types? 对于大多数function来说,这些信息根本就不在模块中。 Windows的模块文件格式只提供一个文本string来标识每个函数。 没有结构化的方式来列出参数的数量,参数types或返回types。 然而,一些语言做一些叫做“修饰”或“修饰”的function,这是将信息编码成文本string的过程。 例如,像int Foo(int,int)这样用简单装饰编码的函数可能会被导出为_Foo @ 8。 8表示参数使用的字节数。 如果使用C ++装饰,函数将被导出为?Foo @@ YGHHH @ Z,它可以直接解码回函数的原始原型:int Foo(int,int)。 Dependency Walker通过使用Undecorate C ++ Functions Command来支持C ++ undecoration。
从Visual Studio命令提示符下的dumpbin:
C:\ Users \ Andrew \ src2011 \ cryptography \ cspsdk> dumpbin / exports csp.dll
Microsoft(R)COFF / PE Dumper Version 10.00.30319.01版权所有(C)Microsoft Corporation。 版权所有。
转储文件csp.dll
文件types:DLL
部分包含CSP.dll的以下导出
00000000 characteristics 3B1D0B77 time date stamp Tue Jun 05 12:40:23 2001 0.00 version 1 ordinal base 25 number of functions 25 number of names ordinal hint RVA name 1 0 00001470 CPAcquireContext 2 1 000014B0 CPCreateHash 3 2 00001520 CPDecrypt 4 3 000014B0 CPDeriveKey 5 4 00001590 CPDestroyHash 6 5 00001590 CPDestroyKey 7 6 00001560 CPEncrypt 8 7 00001520 CPExportKey 9 8 00001490 CPGenKey 10 9 000015B0 CPGenRandom 11 A 000014D0 CPGetHashParam 12 B 000014D0 CPGetKeyParam 13 C 00001500 CPGetProvParam 14 D 000015C0 CPGetUserKey 15 E 00001580 CPHashData 16 F 000014F0 CPHashSessionKey 17 10 00001540 CPImportKey 18 11 00001590 CPReleaseContext 19 12 00001580 CPSetHashParam 20 13 00001580 CPSetKeyParam 21 14 000014F0 CPSetProvParam 22 15 00001520 CPSignHash 23 16 000015A0 CPVerifySignature 24 17 00001060 DllRegisterServer 25 18 00001000 DllUnregisterServer
概要
1000 .data 1000 .rdata 1000 .reloc 1000 .rsrc 1000 .text
NirSoft DLL导出查看器可用于在DLL中显示导出的函数。
此实用程序显示指定DLL文件的所有导出函数及其虚拟内存地址的列表。 您可以轻松地复制所需function的内存地址,将其粘贴到debugging器中,并为此内存地址设置一个断点。 当这个函数被调用时,debugging器会在这个函数的开始处停止。
如果你没有源代码和API文档,机器代码是所有的,你需要使用类似IDA Pro的反汇编DLL库,另一个选项是使用PE Explorer的试用版。
PE Explorer提供了一个反汇编程序。 只有一个方法可以找出参数:运行反汇编程序并阅读反汇编输出。 不幸的是,逆向工程这个接口的任务不能自动完成。
PE Explorer附带了39种不同库的描述,包括核心Windows®操作系统库(例如KERNEL32,GDI32,USER32,SHELL32,WSOCK32),关键graphics库(DDRAW,OPENGL32)等。
替代文字img/tour2-2.gif
不知道它的参数列表,但下面的TotalCommander插件是非常有用的。