ilasm 和 ildasm编译和反编译工具介绍使用教程

这篇具有很好参考价值的文章主要介绍了ilasm 和 ildasm编译和反编译工具介绍使用教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

文本讲述怎么通过 ildasm 工具将 dll 文件进行反编译为 il 文件,修改 il 文件后再如何通过 ilasm 工具将 il 文件反编译成 dll 或 exe 文件。

ildasm工具:用于将dll文件反编译成可读的 il 文件(il是.NET框架中中间语言的缩写)

ilasm工具:用于将il文件编译成可执行的dll或exe文件

如果你安装了 Visual Studio 开发工具它会自带这两个工具,不安装的话可能会找不到,这两个工具和.NET框架开发语言的编译和反编译有关。


一、使用 ildasm 反编译 dll 文件

1.双击ildasm.exe运行ildasm工具。

ildasm 工具位置:

C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\ildasm.exe

2.把要反编译的 dll 文件拖入运行的 ildasm 里

效果如下:
ilasm 和 ildasm编译和反编译工具介绍使用教程
ilasm 和 ildasm编译和反编译工具介绍使用教程

你可以点击树形图展开查看所有的类和方法。

可以看到 IL_0000: ldarg.1IL_0006: ret这样的指令,这些指令就对应着不同的含义和执行顺序,简单来说可读代码最终就是编译成为了这样的操作指令,计算机就是根据这些指令去操作和执行的。

关于 il 文件的指令可以参考如下文章:
IL指令详细
ILDasm反编译工具的基础知识
读懂IL代码就这么简单
C# 构造函数避免IL(反编译)代码膨胀的方法

3.如果 il 文件拖到 ildasm 里提示 “受保护的模块 - - 无法进行反编译”
ilasm 和 ildasm编译和反编译工具介绍使用教程

如果 il 文件拖到 ildasm 里提示 “受保护的模块 - - 无法进行反编译”,原因是SuppressIldasmAttribute这个属性导致的。

关于SuppressIldasmAttribute这个属性,它可以在程序集中声明,声明这个属性后,ILDasm便不对这个程序集进行反汇编,从而

起到一定程度的保护作用。

简单来说就是你的 il 文件里有 SuppressIldasmAttribute 相关代码,ildasm 检测到了这个代码就不反编译了。

解决办法:先把 ildasm.exe 备份一下,然后使用 WinHex 把 ildasm.exe里的 SuppressIldasmAttribute 去除。

操作步骤:

(1)下载WinHex WinHex (链接:https://pan.baidu.com/s/17LYCOuPJaxo_70q4fua4eQ 提取码:ej5b)

(2) 把C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\下的 ildasm.exe 拖进 WinHex 里,搜索SuppressIldasmAttribute 字符串,然后把 SuppressIldasmAttribute 随便改成其他的字符串,比如aaa啥的,下图改成了TianFangIldasmAttribute 。
ilasm 和 ildasm编译和反编译工具介绍使用教程

(3)保存下,然后再把 il 文件拖到 ildasm 里就不会提示“受保护的模块 - - 无法进行反编译”了。

4.把要反编译的 dll 文件转储为il文件

点击文件选择转储,点击确定,选择转换后位置和输入转换后的文件名
ilasm 和 ildasm编译和反编译工具介绍使用教程
ilasm 和 ildasm编译和反编译工具介绍使用教程

ilasm 和 ildasm编译和反编译工具介绍使用教程
然后你就得到了一个反编译后的 il 文件格式的文件,你可以用常见的文本编辑器打开并进行编辑和修改。

二、使用 ilasm 将il文件编译成 dll 或 exe 文件

上面你已经得到了反编译的 il 文件,等你修改好了 il 文件,可以通过使用 ilasm 工具将 il 文件编译成 dll或 exex 文件。

介绍下 ilasm 工具位置:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ilasm.exe

1.cmd 命令行进入il 文件所在目录,然后输入类似如下命令:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ilasm.exe FiddlerBackendSDK.il /output=FiddlerBackendSDK.dll /dll

说明:该命令调用 ilasm.exe 程序把当前目录的 FiddlerBackendSDK.il 文件编译成FiddlerBackendSDK.dll并输出到当前目录,你可以改成你的文件名和输出文件名。然后你就得到了编译好后的 dll 文件文章来源地址https://www.toymoban.com/news/detail-461560.html

到了这里,关于ilasm 和 ildasm编译和反编译工具介绍使用教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • apktool编译和反编译的(实用、常用)命令

    1、查看apktool 当前版本 -version ,–version 2、详细输出apktool 命令,该参数必须作为第一个参数 -v,–verbose 3、静默输出,即输出是不显示详细信息,该参数必须作为第一个参数 -q,–quiet 4、命令行每一步操作前,打印详细信息 -advance,–advanced 1、生成所用smali文件的api等级(

    2024年02月13日
    浏览(23)
  • Python中如何安全地进行编译和反编译?

    ​ 用Python写脚本,小程序可谓非常方便,但它需要有特定的python环境才能运行,因此如果你想在别的电脑上运行时就会出现许多问题,就算已经安装了Python,但版本可能相差较大,且相关的依赖库没有安装,同样不能正常运行。那有没有一种工具能把我们写的代码和依赖库以

    2024年01月19日
    浏览(25)
  • 【Rust教程 | 基础系列2 | Cargo工具】Cargo介绍及使用

    在编程世界中,工具的选择与使用同样重要,甚至有时候比编程语言本身更为重要。对于Rust来说,Cargo就是这样一款强大的工具。本文将详细介绍Cargo的各项功能,并通过实例演示如何使用这些功能。希望通过本文,读者能够熟练掌握Cargo的使用,从而更好地进行Rust开发。

    2024年02月15日
    浏览(49)
  • OpenHarmonyllvm交叉编译工具链编译介绍

    1.1 工具链下载 1.2 环境配置 下载 clang+llvm-10.0.1-x86_64-linux-gnu-ubuntu-16.04.tar.xz 为 github 网址,当前已经下载了,可以直接使用 1.3 安装依赖 1.3.1 基础组件安装 1.4 工具链编译 1.4.1 clang15.0.4 版本全量编译 1.4.2 clang15.0.4 版本不编译 windows 平台 1.4.3 clang12.0.1 版本全量编译 【Note】 :该

    2024年01月25日
    浏览(25)
  • python打包和反编译一条龙

    安装Pyinstaller 在文件所在的位置启动cmd,命令如下 其中 -F 参数代表制作独立的可执行程序。 w 是指程序启动的时候不会打开命令行。如果不加-w的参数,就会有黑洞洞的控制台窗口出来。比如在刚才的脚本里我加一行 print(\\\'Hello World!\\\') ,那么就不要放-w参数了,不然运行会报

    2024年02月19日
    浏览(32)
  • 微信小程序源码获取和反编译

    使用的工具,filddler,node,wuWxapkg来截取小程序安装包和反编译 1、获取.wxapkg文件 我是使用fiddler4来获取wxapkg文件的 这里 res.servicewechat.com是小程序的域名,我当时是一个个去看的,你们可以直接筛选这个域名,这样就不用去找了 提醒:这里是第一次使用这个小程序时才会下

    2024年02月09日
    浏览(46)
  • 【最详细教程Cursor】智能 AI 代码生成工具 Cursor 安装和使用介绍

    Cursor.so 是一个集成了 GPT-4 的国内直接可以访问的,优秀而强大的免费代码生成器,可以帮助你快速编写、编辑和讨论代码。 它支持多种编程语言,如 Python, Java, C#, JavaScript 等,并且可以根据你的输入和需求自动生成代码片段。 Cursor.so 还可以帮助你重构、理解和优化代码,

    2023年04月19日
    浏览(35)
  • 介绍一个强大的免费开源.net反编译工具

    dnSpy 是一个用C#开发,开源的调试器和.NET 汇编编辑器。 即使您没有任何可用的源代码,也可以使用它来编辑和调试程序,并可以把代码导出成.net工程。

    2024年01月17日
    浏览(36)
  • 1.前言和介绍

    从零学习算法部署-TensorRT篇 杜老师推出的 tensorRT从零起步高性能部署 课程,之前有看过一遍,但是没有做笔记,很多东西也忘了。这次重新撸一遍,顺便记记笔记 本次主要是对课程的内容和所需环境做一个简要的介绍 课程大纲可看下面的思维导图 本课程以 TensorRT 和 PyTor

    2024年02月13日
    浏览(37)
  • OpenWrt介绍及编译基础教程

    OpenWRT是一个高度模块化、高度自动化的嵌入式Linux系统,拥有强大的网络组件和扩展性,常常被用于工控设备、电话、小型机器人、智能家居、路由器以及VOIP设备中。 同时,它还提供了100多个已编译好的软件,而且数量还在不断增加,而OpenWrt SDK 更简化了开发软件的工序。

    2024年02月05日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包