澳门新葡11599_www.11599.com_澳门新萄京娱乐11599平台

C# 反编译工具之dnSpy,澳门新葡11599

日期:2019-08-19编辑作者:澳门新萄京娱乐11599平台

C# 反编译工具之dnSpy,

下载地址: ILSPY同门,感觉比ILSPY还强大

直接把dll拖拽到程序集资源管理器里面就可以啦

澳门新葡11599 1

反编译工具之dnSpy, 下载地址: 直接把dll拖拽到程序集资源管理...

澳门新葡11599 2


Capture.PNG

 本文为原创文章、源代码为原创代码,如转载/复制,请在网页/代码处明显位置标明原文名称、作者及网址,谢谢!

原创by:superowner
下载Nico3D的Unity版的站娘,发现里面的代码居然是js写的(其实是UnityScript),这是什么东西啊,VS根本不识别,无法智能识别,根本无法调试啊,臣妾不会啊!


但是,是可以正常编译运行的,于是,机智如我,马上Release一个出来,得到exe程序,然后用反编译软件获取Assembly-UnityScript.dll,反编译即可,几乎不需要改代码,然后丢进Unity,直接替换原本的js代码。

本文使用的工具下载地址为:

澳门新葡11599 3

https://github.com/cnxy/dnSpy/archive/v4.0.0.zip

image.png

或 dnSpy官方下载地址:

因为命名空间不同,所以丢进去不会报错,只要不是同一个文件夹。相应的设置改一下即可正常运行,是不是很酷?什么原理?
那当然是,Unity的工程代码(CS,JS,Boo(JS,Boo最新版已经不支持创建))最终会全部转化为IL形式的dll(PC或非IL2CPP平台),是IL的话就可以逆向转化为任何支持.Net平台的语言(理论上),转化为C#也是囊中取物一样
ps:逆向工具首选:[dnSpy],一般人我不告诉她,地球上最好的Csharp逆向工具,不服来单挑(理直气壮),不过经测试,非Csharp的dll支持一般般,嘛~~

https://github.com/0xd4d/dnSpy/releases/download/v4.0.0/dnSpy.zip

澳门新葡11599 4

软件界面如下:

image.png

澳门新葡11599 5

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

现在进入话题:

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

澳门新葡11599 6

代码如下:

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

    }
}

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

澳门新葡11599 7

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

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

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

澳门新葡11599 8

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

澳门新葡11599 9

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

澳门新葡11599 10

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

澳门新葡11599 11

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

澳门新葡11599 12

程序成功地运行!

 

注意:

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

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

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

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

 

本文由澳门新葡11599发布于澳门新萄京娱乐11599平台,转载请注明出处:C# 反编译工具之dnSpy,澳门新葡11599

关键词: 澳门新葡11599

JAVAEE学习——struts2_01:简介、搭建、架构、配置

JAVAEE学习——struts2_01:简要介绍、搭建、架构、配置、action类详解和演练:客户列表,javaeestruts2_01   一、struts2是什么...

详细>>

Random类,数组,random类数组澳门新葡11599

Random类,数组,random类数组 Random工具类 作用: 产生一个随机数 使用步骤: 1.导包 import 对应的包 import java.util.Random; 2.创...

详细>>

Java学习路线图,java路线图澳门新葡11599

Java学习路线图,java路线图 Java学习路线图,特此声明; 仅希望对热爱JAVA学习有所帮助 如若转载或者使用本图,请注明...

详细>>

java_web学习(九) PreparedStatement动态参数的引入【澳

   2.1先是步导入jar包                   2.2 创建表t1    1 body 2 % 3 //加载数据库驱动给jdbc 4 Class.forName("org.gjt.mm....

详细>>