可执行文件在 ILDASM 文件浏览器中不可用

Posted

技术标签:

【中文标题】可执行文件在 ILDASM 文件浏览器中不可用【英文标题】:Executable Not Available in ILDASM File Browser 【发布时间】:2017-01-16 16:24:20 【问题描述】:

当我导航到C:\Windows\System32 时,我可以看到它包含Query.exe

但是,如果我使用 IL DASM 并转到相同的位置,Query.exe 以及一些其他文件会丢失,即使我为文件类型选择了任何类型

起初我认为这可能是因为query.exe 无法被反编译,但我可以看到其中的其他.exes 也无法被IL DASM 反编译(例如@987654328 @)

为什么IL DASM 会这样?

【问题讨论】:

【参考方案1】:

请始终小心file system redirector。您正在运行 ildasm.exe 的 32 位版本,因此它会被重定向到 32 位可执行文件的主目录 c:\windows\syswow64。

一个简单的解决方法是导航到 c:\windows\sysnative。或者要使用 ildasm.exe 的 64 位版本,例如 C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\x64\ildasm.exe。或者,如果您使用 Visual Studio 命令提示符(又名 vcvarsall),请传递“x64”参数。

Query.exe 不是 .NET 程序集,因此没什么可看的。

【讨论】:

以上是关于可执行文件在 ILDASM 文件浏览器中不可用的主要内容,如果未能解决你的问题,请参考以下文章

在 Visual Studio 2019 的 PowerShell 窗口中找不到 ILDASM

如何找出可执行文件需要运行的 .NET Framework 版本?

将参数传递给可执行文件在 C++ 中不起作用

压缩文件中不允许使用550个可执行文件

Docker 命令在 Windows 上的 Git Bash 中不起作用(执行:“com.docker.cli”:在 %PATH% 中找不到可执行文件)

ILDASM 的安装使用