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

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

前言

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


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

结尾


作者:江湖评谈

相关文章

安卓apk反编译、重新打包、签名全过程

apktool :https://ibotpeaches.github.io/Apktool/install/ 资源文件获取,可以提取出图片文件和布局文件进行使用查看 还可以将反编译之后的apk重新打...

Java反编译工具JD-GUI mac 版本安装

安装下载jd-gui包,为安全起见,下载地址选择官方release地址https://github.com/java-decompiler/jd-gui/releases下载带osx的安装包https...

如何反编译jar包,修改后再重新打包成jar包

一、下载反编译工具下载地址:http://java-decompiler.github.io/选择jd-gui-1.6.6.jar包,然后下载到电脑的目录中,直接运行就可以了二、运行jd-gui-1....

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

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

ILSpy借助reflexil修改C# DLL(assembly-csharp.dll修改)

今天有同事找我求助,想让我帮他改一些参数,但是这是参数都是用C#写在程序里面的,目前的源代码无法确定是否最新,所以不敢贸然编译替换线上的DLL,整个公司的同事都是做Java,对C#几乎不怎么了解Dot...

北京奇艺世纪申请内存马检测专利,解决无法对Java类中内存马特征全面检测的问题

金融界2025年1月24日消息,国家知识产权局信息显示,北京奇艺世纪科技有限公司申请一项名为“内存马检测方法、装置、电子设备及可读介质”的专利,公开号CN 119337375 A,申请日期为2024年...