盘点下.Net程序破解/反编译的几种方法

createh52个月前 (02-01)技术教程14

前言

.Net作为一个托管的程序,它的破解/反编译有几种方法呢?本篇来盘点下。

概括

1.MSIL的破解
Dnspy/ILspy/Reflector/DotPeek
这种是最常见的,把托管DLL拖入进去,然后查看其源码或者MSIL,进行修改。也是比较简单的一种,不过如果对程序进行了加密,则反编译出来大量无用的混淆的代码,这三个里面Reflector收费,前两个免费。低层次的破解/反编译。

2.Roslyn/CLR/JIT破解
Roslyn这种是在生成托管DLL之前,干涉托管DLL的生成过程,通过篡改了的托管DLL,来生成篡改的机器码。因为机器码是根据托管DLL而来。而修改CLR的内存模型,内存布局可以更改机器码生成的结果,JIT则是根据MSIL来生成机器码,修改JIT的表象生成也即是IR也可以修改或者破解.Net程序生成的结果。

3.Obj/Exe破解
这种适用于,AOT的本地机器码,本地机器码是预编译。它分为两步,目标文件和可执行文件。目标文件可以通过对照16进制编辑器和dumpbin tools进行修改和破解,而Exe则可以直接修改PE文件,来篡改结果。


以上三种方式,基本上可以破解/反编译的方方面面。只做技术研究,其它用途本人概不负责。

结尾


作者:江湖评谈

相关文章

这几个开源的Java、Apk反编译工具,你可曾用过

Java开发神器IDEA,有自带class反编译功能,而且调试也非常方便。那么,除了IDEA可以反编译之外,还有其它的反编译工具吗?这里就分享几个Github中开源的反编译工具。jadxJadx可以将...

达内java培训专家:7款开源Java反编译工具

反编译听起来是一个非常高上大的技术词汇,通俗的说,反编译是一个对目标可执行程序进行逆向分析,从而得到原始代码的过程。达内java培训(java.tedu.cn)专家今天要来分享一些关于Java的反编译...

Java反编译工具 JD-GUI安装使用(jdgui反编译jar)

我们知道,将源代码转换成二进制执行代码的过程叫“编译”,那么反编译就是将二进制执行代码转换成源代码。在java开发里,源代码是.java文件,然后经过编译后生成计算机识别的.class文件,但是.cl...

记一次噩梦般的经历--论学会反编译的重要性

最近在做一个android项目,因为非开源,github上也没购有私有库,所以就没有提交github管理。昨天我感觉写到了一定程度,一个小的版本已经出来了,于是就想U盘和网盘都备份一下。结果出现了下面...

教你如何用 IDEA 反编译 jar 源码解读

原创不易,为本文点个关注吧。背景最近有开发的小伙伴问我有没有快捷的方式打开 jar 包中的 class 源码,老夫掐指一算,问这位小哥哥是不是最近打的 jar 包老出问题?小哥哥说:"大佬神机妙算啊,...

「O泡果奶」软件反编译破解(o泡果奶魔性软件)

0x00 事由最近一些高校出现了会以最大音量外放音频且无法退出的恶搞Android App,造成了一些不好的影响。恰好借这个机会尝试通过逆向工程分析其原理,同时这个App也使用了Lua脚本并进行了加密...