有没有办法检查单个(C++编译的)DLL文件并找出Win32函数调用它的内容?如何检查DLL的信息
我有MyDll.dll
文件。我知道在这个DLL的某个地方,有一段代码从Windows注册表中检索信息。
有没有办法找出DLL正在访问的注册表项?
有没有办法检查单个(C++编译的)DLL文件并找出Win32函数调用它的内容?如何检查DLL的信息
我有MyDll.dll
文件。我知道在这个DLL的某个地方,有一段代码从Windows注册表中检索信息。
有没有办法找出DLL正在访问的注册表项?
您可以访问DLL的PE Imports表以确定DLL静态链接到哪个Win2 API函数,但这并不能保证函数实际上是在DLL的代码中调用的,并且这也不包含Win32 API函数通过GetProcAddress()
动态加载。
要找出注册表项中的DLL正在访问它,您可以:
RegOpenKeyEx()
,RegQueryValueEx()
的地方,和其他注册表功能正在被调用。您需要执行DLL;如果你这样做了,那么Sysinternals(现在是Microsoft的一部分)进程监视器将显示进程所做的所有注册表访问,并捕获每个堆栈跟踪(可用于查找来自该DLL的调用)。