首页 > 其他分享 >dnSpy进行反编译修改并编译运行EXE或DLL

dnSpy进行反编译修改并编译运行EXE或DLL

时间:2023-06-09 10:03:24浏览次数:51  
标签:反编译 EXE 回到 DLL dnSpy str 所示 如下 目录

软件界面如下:

回到目录

dnSpy进行反编译修改并编译运行EXE或DLL_反编译

回到目录

该软件分别64位版本及32位版本,分别为dnSpy.exe 及 dnSpy-x86.exe,调试时请注意调试所对应软件版本。

回到目录

现在进入话题:

回到目录

一、首先编写一个Hello World的控制台运行程序,如下图所示:

回到目录

dnSpy进行反编译修改并编译运行EXE或DLL_System_02

回到目录

代码如下:

回到目录


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();
        }

    }
}

回到目录 

二、编译并运行,如下图所示:

回到目录

dnSpy进行反编译修改并编译运行EXE或DLL_默认值_03

回到目录

在这里程序内部的str变量为“Hello World!”,现在,需要使用dnSpy工具,将内部str的变量改变并在线调试。

回到目录

三、使用dnSpy工具对程序进行反编译:

回到目录

 ①使用dnSpy工具对刚才生成的ChangeString.exe进行反编译,如下图所示:

回到目录

dnSpy进行反编译修改并编译运行EXE或DLL_System_04

回到目录

②在Main函数内右键点击菜单,在弹出的上下文菜单中选择“编辑方法(C#)”,如下图所示:

回到目录

dnSpy进行反编译修改并编译运行EXE或DLL_System_05

回到目录

③将str变量的内容改为“Just For Test”,并点击“编译”按钮,如下图所示:

回到目录

dnSpy进行反编译修改并编译运行EXE或DLL_默认值_06

回到目录

④点击“全部保存”按钮,在弹出的界面保持默认值并点击“确定”按钮,如下图所示:

回到目录

dnSpy进行反编译修改并编译运行EXE或DLL_反编译_07

回到目录

⑤保存完成后,点击“启动”按钮,在弹出的界面保持默认值并点击“OK”按钮,接着自动启动应用程序,如下图所示:

回到目录

dnSpy进行反编译修改并编译运行EXE或DLL_反编译_08

回到目录

程序成功地运行!

回到目录

 

回到目录

注意:

回到目录

编译时请注意以下事项,否则将不能进行编译:

回到目录

①还有其他DLL模块的,必须把它包含进来;

回到目录

②如有其他反编译后有不能识别的字符,请手工修改OK之后再进行编译。

回到目录

另外,这个程序不仅对EXE有效,同样对DLL有效,请自行试验,谢谢!



标签:反编译,EXE,回到,DLL,dnSpy,str,所示,如下,目录
From: https://blog.51cto.com/u_4018548/6445497

相关文章

  • QuasarRAT-windows下远程控制工具 之前用过 生成Client.exe 然后远控你的机器
    QuasarRAT-windows下远程控制工具怀揣梦想的大鸡腿2018-02-2810:00:314873收藏1分类专栏:安全版权资源:https://github.com/quasar/QuasarRATQuasar是一种用C#编码的快速轻量级远程管理工具。Quasar提供高稳定性和简单易用的用户界面,是远程管理解决方案。就一开源的远控......
  • 【转载】configure: error: C compiler cannot create executables 错误解析
    1原文地址configure:error:Ccompilercannotcreateexecutables错误解析-to_be_better_wen-https://blog.csdn.net/to_be_better_wen/article/details/1306507742前言在编译开源软件的时候,有时会遇到"configure:error:Ccompilercannotcreateexecutables"的错......
  • loaddll
    //HRSRChrFile=FindResource(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDRETRY),L"sys");//后面这连个参数很重要 //if(hrFile==NULL) //{ // AfxMessageBox(L"没有找到资源"); //} //HGLOBALhgFile=LoadResource(AfxGetInstanceHandle(),hrFile); ......
  • 25)m2e-execution-not-covered 具体例子
    http://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html  这个插件定义的phase不包含在Eclipsem2e的生命周期内。(这种情况很正常,自己定义的插件所在的phase可以是各种各样的) 出现这种情况除了有个讨厌的红叉,不会影响正常的mavenbuild,只是eclipse......
  • m2e-execution-not-covered
    http://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.htmlBackgroundM2Eclipse0.12andearlierexecutedsomepartsofMavenbuildlifecycleinsideEclipseandthenconfiguredtheEclipseprojectbasedonafter-executionstatecollectedinM......
  • java反编译工具jd-gui和插件jd-eclipse,还有插件Enhanced Class Decompiler 3.3.0
    JD-GUI和JD-ECLIPSE可以直接在下面的网址进行下载http://java-decompiler.github.io/ (1)注意:JD-GUI.exe单机版有很多版本,有些旧版本反编译出来的源码和高版本反编译出来的源码是区别的1.低版本的反编译可能和实际源码有出入2.1.6.6版本反编译的源码中有中文无法正常复制? ......
  • C# cmd 生成 exe文件
    生成单独的exe文件C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exeProgram.cs生成exe文件的步骤如下:1.使用文本编辑器(如Notepad++或VisualStudioCode)编写C#源代码,并将其保存为.cs文件(例如,`Program.cs`)。2.打开一个命令提示符(在Windows中按下Windows+......
  • C#调用C++dll
    C#调用C++dll的方法和步骤其他分享涉及到的概念和方法对于像我这样比较菜的选手看起来比较费劲并且很难抓住重点,这里我总结了一段时间的研究成果供初学者救济之用,简单明了。工具/原料 VS2008方法/步骤 新建项目->VisualC++->Win32项目 MyDLL注意:C++编写的dll一般是不能直接拿来......
  • C#中调用c++的dll具体创建与调用步骤,亲测有效~ (待验证)
    使用的工具是VS2010哦~其他工具暂时还没试过我新建的工程名是my21dll,所以会生成2个同名文件。接下来需要改动的只有画横线的部分下面是my21dll.h里面的。。。下面的1是自动生成的不用动,或者也可以不要,因为只是一个宏而已下面可以做相应修改。下面的2是自动生成的类,我没用就注释掉了......
  • 【GiraKoo】adb.exe频繁崩溃,与Android设备连接不稳定
    【解决方案】adb.exe频繁崩溃,与Android设备连接不稳定在使用AndroidStudio时,发现adb.exe连接非常不稳定。通过EveryThing工具搜索关键字adb.exe。发现了大量的AppCrash_adb文件夹,adb.exe.xxx.dmp文件等情况。初步判断,应当是adb在运行时,程序频繁崩溃。遇到此类问题,尝试了以下几......