问题标签 [ildasm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
15186 浏览

c# - Visual Studio 2019 中的“ildasm”在哪里?

我曾经能够ildasm在 Visual Studio 2017 的开发人员命令提示符中运行。使用 Visual Studio 2019,ildasm不再可用:

是用其他东西代替还是我的 VS 2019 安装不完整?

0 投票
3 回答
514 浏览

c# - 如何反编译.net框架的IL代码

我想研究大多数 .net 框架库类的 IL 代码。可能吗?我正在尝试反编译一些 dll(例如:System.Treading),但我只看到函数的签名。然后我去 mscorlib.dll 只看到清单。有没有办法看到真正的代码?

0 投票
1 回答
285 浏览

.net - Linux 上的 ildasm 通过 nuget 安装:找不到 ildasm 可执行文件

我通过在我的 Ubuntu 18.04 上安装了 ildasm

我以某种方式结束了两个目录:

但它们都不包含任何 dll 或 exe:

nuget 将主应用程序(即相当于 Windows 上的 ildasm.exe)放在哪里?

还是我在 Linux 上安装 ildasm 做错了什么?

0 投票
3 回答
2212 浏览

c# - 如何在 .Net 核心 exe/程序集上运行 ildasm?

我正在尝试针对 .NetCore3.1 控制台应用程序运行作为 Visual Studio 2019 的一部分安装的 ildasm(中间语言反汇编程序)。

使用 Visual Studio 2019 的开发人员命令提示符并运行以下命令

ildasm.exe D:\DotNet\IntroductionToCsharp\IntroductionToCsharp\bin\Debug\netcoreapp3.1\IntroductionToCsharp\bin\Debug\netcoreapp3.1\IntroductionToCsharp.exe

但是会出现以下错误:

'D:\DotNet\IntroductionToCsharp\IntroductionToCsharp\bin\Debug\netcoreapp3.1\ IntroductionToCsharp.exe' 没有有效的 CLR 标头,无法反汇编

此文件夹内容

注意:在非核心 (.Net Framework 4.x) exe 上运行相同的命令可以正常工作。也许在 .Net Core 中查看 IL 需要一些特别的东西?

0 投票
1 回答
119 浏览

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

尝试按照教程步骤并反汇编可执行的 c# 文件,但是每当我在命令提示符下键入 ildasm 时,它都会显示在开发人员 powershell 中无法识别。当我对 dll 文件执行此操作时也显示相同的消息。请帮忙。

错误信息在这里

0 投票
1 回答
52 浏览

c# - ildasm.exe 反汇编代码查看器无法意外退出,错误代码为 BEX64

目前我是一名程序员,每天使用 C# 语言开发我的应用程序。我写了我的应用程序,今天我决定反汇编我的应用程序,看看实际的汇编代码是什么样子的。

我查看了 Microsoft 文档并了解到我有一个工具可以执行此操作,即“ildasm.exe”,它是在我安装 Visual Studio 时预装的,用于将汇编代码作为中心代码查看。IL 时间(我知道 C# 与 C++ 和 C 或 Pascal 不同)

我使用了 Visual Studio 的命令行工具,它的名称是:“x64 Native Tools Command Prompt for VS 2019”,然后以管理员身份运行它来执行此操作。

然后在新打开的窗口中输入 ildasm,它会显示一个图形窗口。我选择我的应用程序将其打开,但是当我单击任何方法查看其汇编代码时,ildasm 程序会立即退出。

我再次尝试转储一个“.il”文件,以便我可以在记事本中查看它们,但即便如此,ildasm 也只是向我显示了一个进度窗口,然后立即退出。

还会生成一个“.il”文件,但是当我查看它时,它只写入了“程序集”部分(这决定了当您右键单击应用程序 > 属性并选择“详细信息”选项卡时会看到什么)

我尝试使用命令输入:

ildasm "E:\Projects_MSVS\AESEncryptDecyptFile\AESEncryptDecyptFile\bin\Debug\AESEncryptDecryptFile.exe" /out="E:\Projects_MSVS\AESEncryptDecyptFile\AESEncryptDecyptFile\bin\Debug\AESEncryptDecryptFile.exe.il"

而且和上次没什么区别,ildasm马上就退出了

它的共同点是没有显示任何消息来报告此错误,它只是停止应用程序并退出。

我真的不相信这有什么异常,所以我使用了诊断数据查看器工具进行了调查。在问题报告选项卡中搜索了一段时间后,我终于找到了它。它抛出了七个停止工作时间,这对应于我尝试渲染程序的七次。在第七份报告中(第一次尝试的意思),停止工作这个词的右侧,不再是一个勾号图标(✓)而是一个待定图标(看起来像这样:⟳),当我点击提取报告文件它只是打开 Windows 资源管理器窗口,它是一个空文件夹(此文件夹为空),我还启用了显示所有隐藏文件的选项,包括系统文件。

我发布了我使用诊断数据查看器工具的所有七个错误消息,以便于调查

这是我使用诊断数据查看器工具进行调查时得到的结果,我的每次尝试都将标记为(第 N 次尝试),并且在每次尝试中,错误报告都是分开的:

(第一次尝试):

(第二次尝试):

(第三次尝试):

(第四次尝试):

(第五次尝试):

(第六次尝试):

(第七次尝试,也是我最后一次尝试):

这是我的计算机配置(从预装在 Windows 上的系统信息工具中提取):

我参加了Windows 预览体验计划,我加入以获取新更新的频道是Beta 频道我安装的.NET Framework 版本是 4.8 版

非常感谢任何帮助。

0 投票
1 回答
48 浏览

.net-core - 是否有适用于 dotnet 5 或 6 的 ILDASM 工具?

“核心”版本的 dotnet sdks 显然没有 ildasm 工具。虽然 dotnet 48 附带的旧 Ildasm 工具适用于 dotnet 6 程序集,但我想知道是否有适用于 dotnet 6 的 Ildasm。