是否有任何免费的本地Windows DLL导出函数查看器,它显示函数名称以及它们的参数列表?是否有任何本机DLL导出函数查看器?
回答
您可以使用Dependency Walker来查看函数名称。 只有在装饰后才能看到该功能的参数。 阅读常见问题解答如下:
如何查看参数和返回类型的函数? 对于大多数功能,这些信息根本不存在于模块中。 Windows的模块文件格式只提供一个文本字符串来标识每个函数。没有结构化的方式来列出参数数量,参数类型或返回类型。然而,一些语言做了一些叫做“修饰”或“修饰”的功能,这是将信息编码到文本字符串中的过程。例如,像简单修饰编码的int Foo(int,int)这样的函数可能会被导出为_Foo @ 8。 8表示参数使用的字节数。如果使用C++装饰,该函数将被导出为?Foo @@ YGHHH @ Z,它可以直接解码回函数的原始原型:int Foo(int,int)。 Dependency Walker通过使用Undecorate C++ Functions Command支持C++ undecoration。
不确定其参数列表,但following TotalCommander plugin是非常有用的。
如果你没有源代码和API文档,机器码就是一切,你需要拆开使用类似IDA Pro的dll库,另一个选择是使用PE Explorer试用版。
PE Explorer提供反汇编程序。只有一种方法可以找出参数:运行反汇编程序并阅读反汇编输出。不幸的是,这个反向工程接口的任务不能自动完成。 PE资源管理器捆绑了39个不同库的描述,其中包括核心Windows®操作系统库(例如KERNEL32,GDI32,USER32,SHELL32,WSOCK32),关键图形库(DDRAW,OPENGL32)等。在Visual Studio命令提示
这与Nirsoft DLL Export Viewer有何不同? – Pacerier 2017-04-29 23:21:22
DUMPBIN:
C:\用户\安德鲁\ src2011 \加密\ cspsdk> DUMPBIN /出口csp.dll
微软(R)COFF/PE Dumper版本10.00.30319.01 版权所有(C)Microsoft Corporation。版权所有。
文件类型的文件csp.dll的转储: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
注意不要意外执行'dumpbin/export'(最后缺少's'),这是一个完全不同的命令。 – 2013-04-17 01:07:14
我忘记了dumpbin,每六个月左右就必须查找一次这个答案。谢谢! – tofutim 2013-12-05 18:09:29
DLL Export Viewer以下出口NirSoft能用于在DLL中显示导出的函数。
This utility displays the list of all exported functions and their virtual memory addresses for the specified DLL files. You can easily copy the memory address of the desired function, paste it into your debugger, and set a breakpoint for this memory address. When this function is called, the debugger will stop in the beginning of this function.
- 1. JavaScript函数查看任何文本是否在HTML元素中
- 2. 如何查看DLL函数?
- 3. 如何直接调用从DLL导出的本机函数?
- 4. 如何导出dll函数?
- 5. 查看是否有任何QTips可见?
- 6. 是否有本地文档查看器?
- 7. 从.net DLL导出本地C函数?
- 8. 报告查看器是否可以导出为excel并将数据导出为数字而不是文本?
- 9. 是否有DLL没有DLLMain函数?
- 10. 看看是否有任何应用程序有加载的GAC的DLL
- 11. flash中是否有任何web查看器as3?
- 12. WPF中是否有任何FlowDocument差异查看器?
- 13. 如何查看表单中是否有任何数据Django
- 14. 是否有任何GMP对数函数?
- 15. 是否有PHP函数或变量给出本地主机名?
- 16. 如何测试以查看计算机是否安装了Excel(任何版本)?
- 17. 是否有任何理由Object.freeze函数?
- 18. 是否有必要关心调用不从dll导出的函数的约定
- 19. 是否有任何引发内置异常的本机PHP函数?
- 20. 列出一个DLL的导出函数
- 21. 如何“检查”函数是否真的给出随机结果?
- 22. 导出的数据集XML查看器
- 23. 函数来查看变量是否有值,但它是零
- 24. 是否有任何“Pos”函数来查找字节?
- 25. C中是否有任何库函数来检查Internet连接?
- 26. 是否有可能在一个DLL中的导出函数返回一个导出类的静态成员?
- 27. 是否有任何Rails函数来检查部分是否存在?
- 28. 可以调用DLL函数卸载DLL是否有dontcopy标志?
- 29. 如何查看是否有任何计时器线程正在运行
- 30. 是否有Python函数检查发生器是否启动?
谢谢,但是当我尝试打开任何DLL时,它显示在日志窗口中: 错误:由于隐式依赖模块中缺少导出功能,至少有一个模块具有未解析的导入。 错误:找到具有不同CPU类型的模块。 警告:未找到至少一个延迟加载依赖项模块。 警告:由于延迟加载相关模块中缺少导出功能,因此至少有一个模块具有未解析的导入。 – 2009-10-10 18:17:38
我正在使用Windows 7 x64 Final。 – 2009-10-10 18:21:24
@Alon:嗯,你的应用程序是安静的搞砸了:)第一个错误表明你的一些dll是为32位系统编译的,而一些是为64位编译的。你只能在相同的进程中使用相同的CPU架构加载dll。只要应用程序正在处理它们,您就可以忍受其他两个错误。 – 2009-10-10 18:25:32