码迷,mamicode.com
首页 > Windows程序 > 详细

C#反编译修改代码,然后重新生成dll

时间:2020-06-05 22:52:49      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:dump   frame   不同   工具   out   文本   bin   执行文件   打开   

使用.NET提供的反编译工具ildasm和ilasm实现。

 

 

ilasm可利用中间语言IL生成可移植可执行文件(即编译过程);而ildasm是与前者配套的工具,它利用包含IL代码的可执行文件,创建适合输入到ilasm的文本文件(即反编译的过程)。

ildasm的软件目录通常为“C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools”,其中的版本可能根据安装不同而有所区别。可直接打开使用。

ilasm的软件目录通常为“C:\Windows\Microsoft.NET\Framework64\v4.0.30319”,其中的版本号及路径可能根据系统及安装不同而有所区别,该文件无法直接启动运行,通常在命令行中操作。建议提前将其添加到系统变量,过程不作赘述。

具体步骤如下:

1、打开ildasm后,选择需要修改的目标DLL或EXE文件,然后转存(dump)至目标文件夹path,转存前须自定义文件名称A。转存后,目录path中通常包含A.il和A.res两个文件,及其他resources文件。

2、打开A.il文件,按需求修改IL代码。

3、运行命令提示符,执行ilasm.exe /dll/resource=A.res A.il即可在同一目录path下生成A.dll文件。或者,执行ilasm A.il /output=B.dll /dll,可生成名称为B的dll文件。

 

C#反编译修改代码,然后重新生成dll

标签:dump   frame   不同   工具   out   文本   bin   执行文件   打开   

原文地址:https://www.cnblogs.com/junhengml/p/13052499.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!