.NET安全对抗 | 利用de4dot解密被混淆的.NET代码

这篇具有很好参考价值的文章主要介绍了.NET安全对抗 | 利用de4dot解密被混淆的.NET代码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

0X01 背景

由dotNet安全矩阵星球圈友们组成的微信群里大家伙常常聊着.NET话题,这不今天有个群友下午1:06分抛出反编译后还是混淆的代码,那么肯定需要加密后获取正常的.NET代码,笔者1:35看到后快速响应私聊了这位师傅,拿到需要解密的DLL,大约45分钟后2:20左右解密成功,此文主要把中间的过程踩的坑和解密方法记录一下。

.NET安全对抗 | 利用de4dot解密被混淆的.NET代码,安全,矩阵,.net,网络,asp.net

.NET安全对抗 | 利用de4dot解密被混淆的.NET代码,安全,矩阵,.net,网络,asp.net

这位师傅用反编译工具打开后部分方法名显示为不规则的字符串,混淆代码的操作比较明显,此类混淆经过解密得知是.NET Reactor,笔者曾经也用过此工具混淆过代码,如下图

.NET安全对抗 | 利用de4dot解密被混淆的.NET代码,安全,矩阵,.net,网络,asp.net

反混淆的工具有很多,其中de4dot是目前最主流的反混淆工具,它使用dnlib来读取和写入程序集可解密以下工具混淆过的.NET代码,如 Xenocode、.NET Reactor、MaxtoCode、Eazfuscator.NET、Agile.NET、CodeWall、Mpress .NET Packer、Rummage Obfuscator、Babel.NET、CodeFort、CryptoObfuscator、DeepSea Obfuscator、Dotfuscator、 Goliath.NET、ILProtector、SmartAssembly、Spices.Net,接下来跟随笔者一起了解这款神器特别之处

0X02 踩坑

截止目前2022.06.22,最新版本为 de4dot v3.1.41592.3405 ,项目地址:https://github.com/de4dot/de4dot,项目没有编译好的程序,需要下载后自行编译

.NET安全对抗 | 利用de4dot解密被混淆的.NET代码,安全,矩阵,.net,网络,asp.net

CMD窗口下运行命令 de4dot-x64.exe -d Dx.OfficeView.dll 抛出异常,提示找不到加载程序集de4dot.cui,解决方法将项目目录下的 de4dot.cui.dll 复制到当前运行目录,再次运行后提示缺少 de4dot.code.dll 和 dnlib.dll ,同样的方法将缺少的这两个DLL文件复制到当前目录,总算可以正常运行显示了当前de4dot版本信息,但又抛出了新的异常信息 Hmmmm... something didn't work. Try the latest version 整个执行过程如下图

.NET安全对抗 | 利用de4dot解密被混淆的.NET代码,安全,矩阵,.net,网络,asp.net

解决方法就是不用新版本,使用老版本3.0系列的de4dot,笔者用 de4dot-3.0.3,工具选对了之后就很简单了,介绍几个常用的命令

0X03 使用小记

3.1 检测混淆

de4dot 提供 -d选项检测混淆器类型,如下命令检测出混淆器是 .NET Reactor

 
de4dot.exe -d c:\input\Dx.OfficeView.dll

.NET安全对抗 | 利用de4dot解密被混淆的.NET代码,安全,矩阵,.net,网络,asp.net

3.2 批量反混淆

de4dot 提供如下命令批量反混淆处置,将被反混淆的DLL文件放到input目录,解密后的程序集保存到output目录,-r表示递归 ,-ru表示忽略未知文件。-ro表示输出文件到目标文件夹

 
de4dot.exe -r c:\input -ru -ro c:\output

.NET安全对抗 | 利用de4dot解密被混淆的.NET代码,安全,矩阵,.net,网络,asp.net

反混淆解密后用dnspy打开能看到正常C#代码,可以继续愉快的代码审计了,解密后把文件发给了这位师傅,师傅也非常客气的请喝奶茶,感谢哈!有感于圈内讨论.NET安全的学习氛围还是不错的。

.NET安全对抗 | 利用de4dot解密被混淆的.NET代码,安全,矩阵,.net,网络,asp.net

0X04 结语

.NET下可以反混淆的工具还有很多,笔者打算日后再逐个介绍给大伙认识。文章涉及的工具和PDF已打包发布在星球,欢迎对.NET安全关注和关心的同学加入我们 [dotNet安全矩阵] ,在这里能遇到有情有义的小伙伴,大家聚在一起做一件有意义的事。

欢迎大伙持续关注,交流。

为了帮助研发大佬们熟悉和掌握.NET应用安全相关的漏洞介绍和修复解决方案,我们创建了一个.NET应用安全建设的星球,专门科普.NET领域相关的安全漏洞和提供漏洞修复方法,星球部分主题如下图所示。.NET安全对抗 | 利用de4dot解密被混淆的.NET代码,安全,矩阵,.net,网络,asp.net

感兴趣的研发大佬们可以加入我们一起学习交流。星球原价¥99,价格随着内容沉淀和成员数量增加还会适当提高,因此越早加入越好。我们为大家准备了星球门票代金券,大家可以自行领取,可立减20元。期待更多伙伴的加入!

.NET安全对抗 | 利用de4dot解密被混淆的.NET代码,安全,矩阵,.net,网络,asp.net

另外如果对.NET安全攻防技术研究和渗透感兴趣的朋友们,可以扫下面的dot.Net安全矩阵星球二维码,加入我们。

.NET安全对抗 | 利用de4dot解密被混淆的.NET代码,安全,矩阵,.net,网络,asp.net文章来源地址https://www.toymoban.com/news/detail-794732.html

到了这里,关于.NET安全对抗 | 利用de4dot解密被混淆的.NET代码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 论文浅尝 | 利用对抗攻击策略缓解预训练语言模型中的命名实体情感偏差问题...

    笔记整理:田家琛,天津大学博士,研究方向为文本分类 链接:https://ojs.aaai.org/index.php/AAAI/article/view/26599 动机 近年来,随着预训练语言模型(PLMs)在情感分类领域的广泛应用,PLMs中存在的命名实体情感偏差问题也引起了越来越多的关注。具体而言,当前的PLMs基于神经上下

    2024年02月10日
    浏览(22)
  • 文献速递:生成对抗网络医学影像中的应用——3DGAUnet:一种带有基于3D U-Net的生成器的3D生成对抗网络

    给大家分享文献的主题是生成对抗网络(Generative adversarial networks, GANs)在医学影像中的应用。文献的研究内容包括同模态影像生成、跨模态影像生成、GAN在分类和分割方面的应用等。生成对抗网络与其他方法相比展示出了优越的数据生成能力,使它们在医学图像应用中广受欢

    2024年02月02日
    浏览(26)
  • AI 对抗超级细菌:麦克马斯特大学利用深度学习发现新型抗生素 abaucin

    内容一览: 鲍曼不动杆菌是一种常见的医院获得性革兰氏阴性病原体,通常表现出多重耐药性。利用传统方法,发现抑制此菌的新型抗生素很困难。但利用机器学习可以快速探索化学空间,从而增加发现新型抗菌分子的可能性。近期,国际期刊《Nature Chemical Biology》上发布了

    2024年02月12日
    浏览(23)
  • 【安全策略】前端 JS 安全对抗&浏览器调试方法

    1.1 什么是接口加密 如今这个时代,数据已经变得越来越重要,网页和APP是主流的数据载体。而如果获取数据的接口没有设置任何的保护措施,那么数据的安全性将面临极大的威胁。不仅可能造成数据的轻易窃取和篡改,还可能导致一些重要功能的接口被恶意调用,引发DDoS、

    2024年01月21日
    浏览(26)
  • 某安全对抗行走APP逆向分析

    https://api5.xxxx.com/xxx-rest-service/message/fun_getnearby 看一下参数: opentime:时间戳 reqdata:base64编码 sign 未知,需要解密

    2024年02月07日
    浏览(20)
  • .net中加解密用BouncyCastle就够了,支持常用的各种加密解密算法

    BouncyCastle 是一个流行的 Java 加解密库,也支持在 .NET 平台上使用。下面是 BouncyCastle 在 .NET 下使用的一些常见功能,包括 AES、RSA、MD5、SHA1、DES、SHA256、SHA384、SHA512 等。 在开始之前,请确保你已经将 BouncyCastle 的 NuGet 包安装到你的项目中。你可以通过 NuGet 包管理器控制台或

    2024年02月05日
    浏览(24)
  • 银行网络安全实战对抗体系建设实践

    党的十八大以来,将网络安全提升到前所未有的新高度,银行牢牢把握国家网络安全战略目标,已加强自身建设,建立了较为完善的安全防护体系。同时随着国际网络安全攻防对抗升级,银行转变思路、主动作为,从被动防守向主动防御、动态防御转型,聚焦传统攻防演练的

    2024年01月21日
    浏览(32)
  • 前端请求参数加密、.NET 后端解密

    本文详细介绍了前端请求参数加密、.NET 后端解密,文章较长,请各位看官耐心看完。 目录 一、前端使用“CryptoJS”,前端AES加密,.NET后端AES解密 1.1、加密解密效果图 1.2、CryptoJS介绍 1.3、准备工作:安装“CryptoJS” 1.3.1、使用npm进行安装 1.3.2、Visual Studio中安装 1.3.2.1、选择

    2024年02月08日
    浏览(43)
  • 2023年第20届信息安全与对抗技术竞赛

    竞赛入口:http://www.isclab.org.cn 信息安全已涉及到国家政治、经济、文化、社会和生态文明的建设,信息系统越发展到它的高级阶段,人们对其依赖性就越强,从某种程度上讲其越容易遭受攻击,遭受攻击的后果越严重。“网络安全和信息化是一体之两翼、驱动之双轮。没有网

    2024年02月04日
    浏览(28)
  • C# .NET CORE .NET6 RSA 公钥加密 私钥解密

    环境说明: .NET CORE 版本:.NET 6 。   .NET CORE 对于RSA的支持: 1. .NET 6 中内置了对 PKCS1,PKCS8 2种私钥格式的支持。 2. 如果你要部署在Linux,docker ,k8s 中;一定要用 “RSA”这个类,不能是 .NET FRAMEWORK 的 RSACryptoServiceProvider。 3. .NET 中默认加密算法为“RSA/ECB/PKCS1Padding” ,要和JAVA互通

    2024年02月08日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包