在Windows 7下x64,当我尝试分析一个x86使用最新版本的 Dependency Walker (2.2.6000) 可执行文件时,分析过程总是在某个点挂起。大多数时候最后加载的 DLL 是c:\windows\syswow64\URLMON.DLL
,所以看起来该 DLL 内部的某些东西导致了问题。在 Windows 7 上分析相同的可执行文件x86工作完美。
我在谷歌上进行了广泛的搜索,但无法找到解决该问题的方法。我发现的一个建议是卸载 IE 8 或 IE 9 并将其替换为 IE 7,但这并没有真正的帮助。我可以观察到的唯一影响是,对于 IE 7,分析过程挂在不同的 DLL 上(iertutil.dll
,如果我没记错的话,也是来自系统的syswow64
文件夹)。
所以我的问题是:如何让 Dependency Walker 在 x64 Windows 7 上分析 x86 应用程序?当然,如果首先知道问题存在的原因也很好:-)
最后一些注意事项:
- 我正在使用 Dependency Walker 的 x86 版本,因为我想分析 x86 可执行文件
- 以管理员身份运行 Dependency Walker 没有帮助
- 所有标记为“在 WOW64 上可能失败”的分析选项均被禁用
- 我当前用作重现问题的测试用例的可执行文件是 Sumatra PDF 查看器(下载链接 http://blog.kowalczyk.info/software/sumatrapdf/download-free-pdf-viewer.html)因为它是一个简单的.exe,不需要安装
根据@Stone Free 的评论更新了说明
您需要的下载链接已更改为:
https://www.microsoft.com/en-us/download/details.aspx?id=42273 https://www.microsoft.com/en-us/download/details.aspx?id=42273
下去到2.安装WDK 10部分并选择下载:
找到并运行 Wdk 安装程序 (wdk安装程序)从第 2 阶段开始,然后选择下载选项而不是安装。
完成后找到并运行下载位置\Windows Kits\10\WDK\Installers>“Windows Driver Kit-x86_en-us.msi”
然后您将在以下位置找到 Dependency Walker:
-
C:\Program Files (x86)\Windows Kits\10\Tools\x64\depends.exe对于 64 位版本
-
C:\Program Files (x86)\Windows Kits\10\Tools\x86\depends.exe对于 32 位版本
Which is Dependency Walker version 2.2.10011 built 2015-10-29
一个方便的工具是使用https://github.com/juntalis/depends-launcher https://github.com/juntalis/depends-launcher这是 Dependency Walker 的一个简单启动器,它确定 Windows 映像(dll、exe 等)的平台 (x86|x64|ia64) 并启动相应版本的 dependent.exe 以查看其依赖项。它的主要目的是在上下文菜单条目中使用,以轻松查看图像的依赖关系。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)