首页 > 其他分享 >.NET反混淆工具de4dot使用介绍

.NET反混淆工具de4dot使用介绍

时间:2023-03-18 11:34:15浏览次数:66  
标签:混淆 de4dot Studio https NET net

最近在逛看雪时,发现一个帖子,https://bbs.kanxue.com/thread-274562.htm。里面介绍 了常见语言基础逆向方法合集。关于.net程序逆向这块,介绍了三个工具。

.NET Reflector  https://www.red-gate.com/products/dotnet-development/reflector/ (反编译任何 .NET 代码,即使没有源代码)

dnspy https://github.com/dnSpy/dnSpy (.NET 程序集调试器和资源编辑器)

de4dot (.NET 反混淆和脱壳工具) 目前.NET程序加壳这一块我还没涉及到,所以本文只介绍反混淆相关的功能。

 

在经过初次尝试以后,发现这个工具确实强大,虽然被混淆后的代码不能完成恢复成原来的样子(像变量名这种已经丢失了),但基本不影响阅读源码了。 

de4dot最后更新是在3年前,不继续更新了,有点可惜。技术影响力太大了,有时候也不是什么好事,就挺无奈的。

 

 

 

1、下载源码编译

git地址: https://github.com/de4dot/de4dot.git

 

 

这里有两个解决方案文件,一个是基于.NET Core的(de4dot.netcore.sln),一个是基于.NET Framework的(de4dot.netframework.sln)

如果使用.net core版本,需要安装netcoreapp3.1和netcoreapp2.1

如果使用.net framework版本,需要安装net 35和net45

我这里直接编译的.net framework版本,没有编译.net core版本了。

 

注意:

如果选择.net framework版本建议使用Visual Studio 2019及以下版本编译,因为Visual Studio 2022不带.NET Framework 4.5的包,直接编译会报错,还得折腾在Visual Studio 2022下安装NET45的开发包。(同理,新版本vs也没带.net core 2.1)

不过这里还是整理了在Visual Studio 2022下安装NET 45的解决方案,可以参考以下链接:

https://ldqk.xyz/73?t=vl40kuee4phc

https://blog.walterlv.com/post/how-to-support-net45-on-vs2022-or-later.html

具体我也没有去尝试,因为我用另外一台机器上的Visual Studio 2019编译通过了

 

 

 

 

2、如何反混淆.NET 程序集

最简单粗暴的方式,

1、将文件拖入到de4dot.exe运行即可

2、命令行下输入

1 de4dot.exe "D:\xxx.exe"

 

运行后文件在程序集的目录下生成一个带-cleaned的新程序集。

 

这里我准备了一个程序集测试,我先用某混淆工具进行混淆,使用.NET Reflector反编译显示如下:

 

 

 

使用de4dot反混淆后

 

标签:混淆,de4dot,Studio,https,NET,net
From: https://www.cnblogs.com/zhaotianff/p/17229625.html

相关文章