使用微软的 ilasm 和 ildasm 对. net程序进行编译和反编译
为了保证示例的完整性,请先准备好一个 c#写的 exe 程序,或者可以使用我提供的 exe 程序也可以(很简单,为了测试这里仅生成了一个带按钮的 winform,单击按钮提示弹窗)
Test WinForm.exe
这里通过 ildasm 反编译 exe 程序得到 il 文件,然后对 il 文件进行修改,用于修改弹窗中的内容
ilasm 所在目录
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\ilasm.exe
ildasm 所在目录
C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6 Tools\ildasm
以上根据具体情况在自己的目录中查找即可
以下是具体的操作步骤
一、反编译 exe 为 il 文件
双击打开 ildasm –> 点击文件 –> 打开刚刚下载或自己的 exe 程序 –> 点击文件 –> 转储选择 UTF8 –>选择位置保存 il 文件,同时可能会生成一些资源(res)文件,具体如图
接下来就是对 il 文件进行修改,这里以示例提供的 exe 为例,点击按钮时弹出的内容为 message ,这里想要让这个 message 改为 message123
修改后,对 il 文件重新编译为 exe 文件,命令为:
ilasm test.il /output:test.exe
如果需要资源文件,则
ilasm test.il /resource:test.res /output:test.exe
如果要编译为 dll 文件,则
ilasm test.il /dll /output:test.dll
然后再执行 test.exe 并点击按钮,发现弹出的内容已修改为 message123
使用微软的 ilasm 和 ildasm 对. net程序进行编译和反编译相关推荐
- ilasm 和 ildasm编译和反编译工具介绍使用教程
目录 前言 一.使用 ildasm 反编译 dll 文件 二.使用 ilasm 将il文件编译成 dll 或 exe 文件 前言 文本讲述怎么通过 ildasm 工具将 dll 文件进行反编译为 il ...
- 反编译“微软纸牌集合”资源文件
@[TOC]反编译"微软纸牌集合"资源文件 成功反编译"微软纸牌集合"资源文件 一天时间,终于成功反编译了"微软纸牌集合(Microsoft Soli ...
- MSIL学习笔记(01):ilasm和ildasm
我跟每个.NET程序员一样,MSIL多少都接触过一点,个别语句也能看明白,但是没有系统学习过 更没有写过IL代码 和 编译过 IL我觉得学习方法应该跟其他语言不同,因为这个语言根本上不是用来手写的,因 ...
- 初识Ildasm.exe——IL反编译的实用工具(转自Youngman)
Ildasm.exe 概要: 一.前言: 微软的IL反编译实用程序--Ildasm.exe,可以对可执行文件(ex,经典的控制台Hello World 的 exe 可执行文件)抽取出 IL 代码,并且 ...
- 用csc手动编译和Ildasm反编译
CSC csc.exe是.net用来编译.cs文件的.一般来说在C:\Windows\Microsoft.NET\Framework\v2.0.50727. 1.配置环境变量 首先确认是否配置环境变量 ...
- Unity3d 反编译破解游戏 简单示例 使用ildasm反编译DLL修改然后重新编译DLL
因为这几天碰到一个Unity的Bug,不得不去反编译DLL看看C#代码的生成中间件代码.这也用到了一些反编译以及重新编译DLL的一些知识,意味到Unity是如此的不安全. 首先我们新建一个工程,创建一 ...
- 微软,您的.net为中国程序员带来了什么?
往事如烟:2003年,那时我还在念大三,像中国大多数学生一样,为到底是投诚Java还是效忠.net日夜争论,上下求索,迷茫中特别渴望有一盏明灯照亮我辈学子的前程,当时,各大媒体的报道是市场中.net和 ...
- 开放源码的.NET 反编译工具 .NET IL调试工具 学习微软中间语言(MSIL)的绝佳工具 Dotnet IL Editor 推荐...
Dotnet IL Editor是一款.NET平台反编译工具,可以反编译.NET程序集文件为IL代码,并且可以执行,调试反编译后生成的IL代码.它的设计出发点比较直观,新建一个项目,添加程序集文件,设 ...
- 微软SerialPort秘籍,SerialPort为什么死锁程序的分析
微软SerialPort秘籍,SerialPort为什么死锁程序的分析 作者:天涯 来源:中国自学编程网 发布日期:1232178634 既然是秘籍,显然是写一些大家不常找到的,MSDN里遗漏提示大家 ...
最新文章
- 铅笔芯为什么点不着?
- ubuntu常见指令
- vuex第三弹vuex之actions(前端网备份)
- 超好的Git学习网站
- OO第一单元总结__多项式求导问题
- # 根据三边求角度_小升初数学必学的10种图形求面积法,你家娃都会了吗?
- 鸿蒙OS电脑体验,华为鸿蒙OS体验抢先曝光!有多个更新版本,界面和安卓完全不同...
- 12.软件架构设计:大型网站技术架构与业务架构融合之道 --- CAP理论
- 域名被封(微信)后的思索
- media query学习笔记
- php 日期format不要零_DateFormat PHP Class (php 处置日期)
- sqlServer取余数
- 林轩田之机器学习课程笔记( embedding numerous feature之support vector regression)(32之22)
- Utf-8编码汉字占多少个字节
- PTA L2-039 清点代码库
- [数学]二维对数正态分布的概率分布,期望,方差和相关系数
- xhr请求status是failed的解决办法
- 为什么在中国电子工程师不如搞软件的?
- Hbulider中,QQ分享到好友,总是提示,分享失败,请检查网络并重试
- 概念:监督学习、无监督学习与半监督学习
热门文章
- mysql查询条件_mysql条件查询,最简单的一种,你知道吗?
- java改写模式_Java基于状态模式实现的文档编辑模式切换功能实例
- python win32转pdf 横版_使用Python3将word文档和pdf电子书进行格式互转(兼容Windows/Linux)...
- linux怎么把磁盘的东西拷贝,[Linux]如何拷贝已有数据磁盘,并将新的磁盘挂接到其他虚机上...
- 过滤设置_深圳外置鱼池过滤器零售_杰蒙尼鱼池过滤器
- (12) ejb学习: JPA的传播属性
- (3) ebj学习:有状态bean和无状态bean区别
- 实训课俄罗斯方块之二授课计划总体规划
- python语言术语_python的一些术语
- Kubernetes的Device Plugin机制源码解析