使用dnSpy对目标程序(EXE或DLL)进行反编译修改并编译运行
2017-11-21 23:03
776 查看
本文为原创文章、源代码为原创代码,如转载/复制,请在网页/代码处明显位置标明原文名称、作者及网址,谢谢!
本文使用的工具下载地址为:
或 dnSpy官方下载地址:
软件界面如下:
该软件分别64位版本及32位版本,分别为dnSpy.exe 及 dnSpy-x86.exe,调试时请注意调试所对应软件版本。
现在进入话题:
一、首先编写一个Hello World的控制台运行程序,如下图所示:
代码如下:
二、编译并运行,如下图所示:
在这里程序内部的str变量为“Hello World!”,现在,需要使用dnSpy工具,将内部str的变量改变并在线调试。
三、使用dnSpy工具对程序进行反编译:
①使用dnSpy工具对刚才生成的ChangeString.exe进行反编译,如下图所示:
②在Main函数内右键点击菜单,在弹出的上下文菜单中选择“编辑方法(C#)”,如下图所示:
③将str变量的内容改为“Just For Test”,并点击“编译”按钮,如下图所示:
④点击“全部保存”按钮,在弹出的界面保持默认值并点击“确定”按钮,如下图所示:
⑤保存完成后,点击“启动”按钮,在弹出的界面保持默认值并点击“OK”按钮,接着自动启动应用程序,如下图所示:
程序成功地运行!
注意:
编译时请注意以下事项,否则将不能进行编译:
①还有其他DLL模块的,必须把它包含进来;
②如有其他反编译后有不能识别的字符,请手工修改OK之后再进行编译。
另外,这个程序不仅对EXE有效,同样对DLL有效,请自行试验,谢谢!
出处:http://www.cnblogs.com/cncc/p/7873834.html
本文使用的工具下载地址为:
https://github.com/cnxy/dnSpy/archive/v4.0.0.zip
或 dnSpy官方下载地址:
https://github.com/0xd4d/dnSpy/releases/download/v4.0.0/dnSpy.zip
软件界面如下:
该软件分别64位版本及32位版本,分别为dnSpy.exe 及 dnSpy-x86.exe,调试时请注意调试所对应软件版本。
现在进入话题:
一、首先编写一个Hello World的控制台运行程序,如下图所示:
代码如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ChangeString { class Program { static void Main(string[] args) { string str = "Hello World!"; Console.WriteLine(str); Console.ReadKey(); } } }
二、编译并运行,如下图所示:
在这里程序内部的str变量为“Hello World!”,现在,需要使用dnSpy工具,将内部str的变量改变并在线调试。
三、使用dnSpy工具对程序进行反编译:
①使用dnSpy工具对刚才生成的ChangeString.exe进行反编译,如下图所示:
②在Main函数内右键点击菜单,在弹出的上下文菜单中选择“编辑方法(C#)”,如下图所示:
③将str变量的内容改为“Just For Test”,并点击“编译”按钮,如下图所示:
④点击“全部保存”按钮,在弹出的界面保持默认值并点击“确定”按钮,如下图所示:
⑤保存完成后,点击“启动”按钮,在弹出的界面保持默认值并点击“OK”按钮,接着自动启动应用程序,如下图所示:
程序成功地运行!
注意:
编译时请注意以下事项,否则将不能进行编译:
①还有其他DLL模块的,必须把它包含进来;
②如有其他反编译后有不能识别的字符,请手工修改OK之后再进行编译。
另外,这个程序不仅对EXE有效,同样对DLL有效,请自行试验,谢谢!
出处:http://www.cnblogs.com/cncc/p/7873834.html
相关文章推荐
- [C#]使用dnSpy对目标程序(EXE或DLL)进行反编译修改并编译运行
- dnSpy进行反编译修改并编译运行EXE或DLL
- Unity3d 反编译破解游戏 简单示例 (使用ildasm反编译DLL修改然后重新编译DLL)
- Unity3d 反编译破解游戏 简单示例 (使用ildasm反编译DLL修改然后重新编译DLL)
- Unity3d 反编译破解游戏 简单示例 (使用ildasm反编译DLL修改然后重新编译DLL)
- 使用Visual studio 各种版本 生成exe或者dll无法在其他机器运行的解决方式
- c#:Reflector+Reflexil 修改编译后的dll/exe文件
- System.UnauthorizedAccessException: 拒绝访问 temp 目录。用来运行 XmlSerializer 的标识“NT AUTHORITY\NETWORK SERVICE”没有访问 temp 目录的足够权限。CodeDom 将使用进程正在使用的用户帐户进行编译,这样,如
- ilasm.exe与ildasm.exe的使用(编译与反编译)
- c#:Reflector+Reflexil 修改编译后的dll/exe文件
- 使用微软的 ilasm 和 ildasm 对. net程序进行编译和反编译
- System.UnauthorizedAccessException: 拒绝访问 temp 目录。用来运行 XmlSerializer 的标识“NT AUTHORITY\NETWORK SERVICE”没有访问 temp 目录的足够权限。CodeDom 将使用进程正在使用的用户帐户进行编译,这样,如
- GDB arm-linux交叉编译移植和使用方法(特别是对于正在运行的程序或者段错误的程序进行分析)
- System.UnauthorizedAccessException: 拒绝访问 temp 目录。用来运行 XmlSerializer 的标识“NT AUTHORITY\NETWORK SERVICE”没有访问 temp 目录的足够权限。CodeDom 将使用进程正在使用的用户帐户进行编译,这样,如
- 《CLR Via C#》使用CSC.exe进行单文件的编译
- GDB arm-linux交叉编译移植和使用方法(特别是对于正在运行的程序或者段错误的程序进行分析)
- 修改编译生成的exe/dll名字
- error:使用rebuild编译链接dll文件和exe文件,结果改变产生dll的源文件的内容,输出结果都没有改变
- maven系列学习之二:maven初体验-简单使用maven进行测试,编译、打包和运行
- 使用Android Studio 1.3 版本进行NDK开发 编译运行hello-jni项目及分析