微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何检查DLL的信息

有没有办法检查单个(C ++编译的)DLL文件,并找出Win32函数调用它做什么?

我有MyDll.dll文件。 我知道在这个DLL的某个地方,有一段代码从Windowsregistry中检索信息。

有没有办法找出DLL正在访问什么registry项?

生成文件循环依赖性下降

Windows 8 C#/ XAML应用程序在一台机器上,而不是另一台机器的大内存使用情况

如何让QT应用程序编写一个崩溃日志

如何使用read()读取数据直到文件结束?

GetExtendedTcpTable不会返回与netstat -ano相同的结果

区分Windows版本的最简单方法是什么?

在Windows C / C ++中使用半字节(4位variables)

为什么我们只能直接访问PCI物理地址中的640k-1MB区域?

WinSDK 7.1:本地Windows应用程序开发的Windows SDK工具入门?

networking接口/适配器查询

您可以访问DLL的PE Imports表,以确定DLL静态链接到哪个Win2 API函数,但这并不能保证函数实际上是在DLL的代码调用的,而且也不考虑动态加载的Win32 API函数通过GetProcAddress() 。

要找出DLL正在访问哪些注册表项,您可以:

反汇编/反编译DLL,比如IDA,查看代码中RegOpenKeyEx() , RegQueryValueEx()和其他注册函数调用的所有地方。

编写一个将DLL加载到内存中的应用程序,并动态地修补注册函数导入,以便拦截输入参数值。

像Ben建议的那样使用SysInternals Process Monitor。

您需要执行该DLL; 如果你这样做,那么Sysinternals(现在是Microsoft的一部分)进程监视器将显示进程所做的所有注册表访问,并捕获每个堆栈跟踪(可用于查找来自该DLL的调用)。

有Heaventools软件的PE Explorer

导出功能列表查看器显示可能由其他应用程序调用的那些功能

具体请参阅DLL导出查看器页面获取更多的细节。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐