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

前言

.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文件,来篡改结果。

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

结尾


作者:江湖评谈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值