VS2013安装在Win8.1的操作系统中,开始屏幕中找不到ildasm.exe没有显示,于是下面提供了一种方法将ildasm.exe工具添加到VS2013外部工具中,并将反编译的代码输出到VS2013 1.ildasm.exe 工具路径:C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools ? 3.添加工具ildasm.exe工具 输入标题、命令、参数、初始目录 勾选使用输出窗口、提示输入参数、退出时关闭 ? 、 4.点击ILDASM工具 ? 弹出提示框 命令行中的内容: C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\ildasm.exe " 点击确定后,会弹出ildasm.exe工具,反编译 "D:\_HelloWorld\01_MyProjects\08_WPF\x名称空间详解\WpfApplication1\WpfApplication1
我只做个简单的小例子,给大家一个思路,吼吼~~~~ 1使用工具 Reflector.exe 用来查看.net代码 这个就不用多说了它是学.net必备神器 Ildasm.exe:用来将dll,exe编译为 IL文件 ilasm.exe:用来将IL文件编译回来dll或exe EmEditor文本处理工具这个大家如果没有我这有下载里面有注册码EmEditor.rar 2Ildasm和ilasm基本知识: ilasm.exe 与ildasm.exe的使用 首先打开cmd命令。 也可以找到各目录打开) 比如 text.dll (里面有console.writeline("hello word")) ildasm text.dll 打开dll 找到方法可以查看 ildasm text.dll 现在用Ildasm.exe打开我们的程序,把程序倒出成IL文件 ? 就转成utf-8格式 ? 会生成4个文件 ? 最主要的就是那个il文件 用EmEditor打开 ?
false; Ie.licenseInfo.isTrialAvailable = false; Ie.licenseInfo.hasValidLicense = true; 修改DLL 操作步骤如下: 运行ildasm 反编译程序ildasm.exe是由微软提供的.NET程序反编译工具,位于 C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools 2) 用ildasm打开要修改的程序集 3) 通过ildasm保存为IL文件 选择菜单File>Dump,选择UTF-8编码 用文本编辑器打开第3步中得到的.il文件 修改.il /ildasm.exe 把FiddlerBackendSDK.dll拖到打开的窗口中 定位到 FiddlerBackendSDK.User.UserClient::GetBestAccount 文件=
IL DASM反编译工具 使用C#的猿人或多或少都会对微软的IL反编译工具(ildasm.exe)有所认识。我最早接触到这工具是公司同事使用他反编译exe程序,进行研读和修改。 ildasm.exe反编译工具将IL汇编成可跨平台可执行的(pe)文件。可供我们了解别人代码和修改。有了他我们看待问题可以不用停留在编辑器层面,可深入中间层。 VS中增加IL DASM工具 我们在安装VS同时都会自动安装ildasm工具,无需另行安装。ildasm工具打开方法如下图: ? ) 同样可以打开ildasm。 我们也可以把ildasm工具增加到我们常用的VS中。 1.工具(Tools)-->外部工具(External Tools..) ? 2.添加内容填写对应信息。
本文参考:https://www.cnblogs.com/caokai520/p/4921706.html IL DASM反编译工具 使用C#的猿人或多或少都会对微软的IL反编译工具(ildasm.exe ildasm.exe反编译工具将IL汇编成可跨平台可执行的(pe)文件。可供我们了解别人代码和修改。有了他我们看待问题可以不用停留在编辑器层面,可深入中间层。 VS中增加IL DASM工具 我们在安装VS同时都会自动安装ildasm工具,无需另行安装。ildasm工具打开方法如下图: ? ) 同样可以打开ildasm。 我们也可以把ildasm工具增加到我们常用的VS中。 1.工具(Tools)-->外部工具(External Tools..) ? 2.添加内容填写对应信息。 (1)标题:工具的名称,随便自定义。
Ildasm.exe Ildasm.exe 是一个免费的反编译工具,当您安装了 Visual Studio 开发工具之后,Ildasm.exe 会自动安装。 你可以在下面的目录中找到这个工具。
11 继续添加第二条配置,如下 ILDASM_v4.0.30319 C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\ildasm.exe 具体路径还需要看你个人情况,你可以使用电脑的搜索功能,搜索ildasm.exe,添加完成后如下图所示。
反编译后修改了代码,运行反倒有问题,因此怀疑通过dnspy修改库最后的编译环境和原有库的编译环境不一致,考虑到dnspy自身需要.net4.0以上环境才能运行,所以这里采用修改IL文件的方法 微软的工具ildasm.exe 文件重新生成DLL的功能; image.png 利用dnspy 反编译看看dll的原代码是什么.net版本,也可以利用它进行源码分析,定位到要修改的位置 image.png 根据原dll的版本选择相应的ildasm.exe 和 ilasm.exe 工具, ildasm的使用 image.png ilasm.exe的使用 先浏览到IL文件路径下,在cmd里输入下面命令 ilasm[或者为ilasm.exe的绝对路径] test.il
二、IL分析工具 2.1 ILASM.exe和ILDASM.exe .NET Framework中自带了一套成熟的编译于反编译利器:ILASM.exe和ILDASM.exe,其中ILASM.exe工具用来执行 IL代码并生成可执行程序,而ILDASM.exe则用来反编译可执行程序(反编译为IL代码进行查看)。 ; } } } 3.2 利用ILDASM体验IL (1)对编译后的可执行文件HelloIL.exe,使用ILDasm.exe进行反编译,将会还原HelloIL为IL编码,结构如下
来获取实质类型,所以 Call最快,不加 virtual 及 New 的次之,只需要验证当前类型的GetType加了virtual不仅调用当前类型的GetType 还得调用方法的GetType工具:大家 可以结合ILDasm SDKs\Windows,随便打开某个,建议都选中最新的C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8.1 Tools\ildasm.exe 2.VS 上添加工具工具=》外部工具=》添加名称 ILDasm 地址 就是 你具体的 exe 地址 参数 填 $(TargetPath)3.应用,添加4. 4. 注意,查看之前得 编译到 exe里面,快捷键是 F6点击 ILDasm 确定,双击任何红色的,我们直接看 Program.Main然后大家结合工具,多想想调用方式。
ILSpy: 用于查看dll程序逻辑 ILDASM: 用于反编译dll文件,生成il文件(存放了dll反编译后的指令)和res文件(反编译后的资源文件),可以安装Windows SDK或者从网上下载 使用 ILDASM 将 dll 文件反编译成 il 文件。使用 ILDASM 打开 dll 文件后, File -> dump 就可以导出反编译结果了。 [1551149148000-ILDASM.png-w331s] 4.根据步骤2,就很容易理解逻辑了,然后根据速查表,就可以知道在步骤3导出的il文件中修改哪里了。
底层原理 Build项目,然后使用ildasm看一下生成的il语言(ildasm位置大致在:C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin 使用ildasm打开生成的dll,首先查看Program类里面的ByEqualMethod方法: ? 使用ildasm看一下ByEqualMethod()这个方法: ? 使用ildasm,先看ByEqualMethod(): ?
底层原理 Build项目,然后使用ildasm看一下生成的il语言(ildasm位置大致在:C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin 使用ildasm打开生成的dll,首先查看Program类里面的ByEqualMethod方法: 可以看到C#源码里调用Equals()的地方直接被翻译成il语言里相应的Equals()方法了。。。。 看例子,这里我使用==来比较自定义类MyClass的两个实例是否相等: 而结果是两个False: 使用ildasm看一下ByEqualMethod()这个方法: 可以看到,a.Equals(b)调用的是 使用ildasm,先看ByEqualMethod(): 可以看到,这里a.Equals(b)实际调用的是string实现的IEquatable<T>接口的Equals方法,它的参数是string。
文件拖拽进中间方框区域(Drag input modules here),如下图所示: 设置混淆规则 选择Settings项,添加混淆规则,如下图所示: 设置混淆规则:Protections选择anti ildasm 因为Ildasm.exe是微软提供的.NET的IL反编译器。 选择Proect!选项开始混淆 点击【Protect!】,就开始混淆了,Finished代表混淆完成并成功。
Console.WriteLine(item); Console.Read(); } } } 三.IL DASM反编译工具 微软的IL反编译工具(ildasm.exe ildasm.exe反编译工具将IL汇编成可跨平台可执行的(pe)文件。可供我们了解别人代码和修改。有了他我们看待问题可以不用停留在编辑器层面,可深入中间层。
总结 对于const和readonly这两个关键字目前来说,也算是有所了解了,还是学了不少东西,如果看完本文还有疑问的话,你可以通过微软提供的ILDASM工具。 打开cmd命令之后,输入ILDASM。 ? 打开exe文件进行查看IL执行过程,慢慢研究吧。
文件夹 3、向下寻找,我们可以看到dll文件已经生成,笔者使用.NET Core 3 进行开发,故路径为bin/Debug/netcoreapp3.0 4、这时候,我们就要祭出我们的il查看神器了,ildasm 打开开始菜单,找到Visual Studio文件夹,打开Developer Command Prompt,在打开的命令行中键入ildasm回车即可,笔者使用vs2019进行演示,其它vs版本操作方法均一致 5、在dasm菜单栏选择文件->打开,选择刚刚生成的dll文件 6、即可查看生成il代码 有了ildasm的辅助,我们就能够更好的了解IL语言以及如何编写IL语言,此外,Visual Studio中还有许多插件支持查看
第一步:反编译 exe 成 IL: # ildasm 在 C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7.1 Tools \x64 路径下 ildasm /out=D:\Desktop\wdemo.il D:\Desktop\Walterlv.Demo\wdemo\bin\Debug\wdemo.exe 第二步:修改
1.打开微软提供的反编译工具ildasm.exe 这个工具是windows自带的反编译工具。 3.使用ildasm.exe打开该dll。 例如,我打开的是一个YG2的dll。
文件拖拽进中间方框区域(Drag input modules here),如下图所示: 设置混淆规则 选择Settings项,添加混淆规则,如下图所示: 设置混淆规则:Protections选择anti ildasm 因为Ildasm.exe是微软提供的.NET的IL反编译器。 选择Proect!选项开始混淆 点击【Protect!】,就开始混淆了,Finished代表混淆完成并成功。