破解.net程序(dll文件)编译和反编译方法

yipeiwu_com6年前PHP代码库

我只做个简单的小例子,给大家一个思路,吼吼~~~~

1使用工具

Reflector.exe 用来查看.net代码 这个就不用多说了它是学.net必备神器

Ildasm.exe:用来将dll,exe编译为IL文件

ilasm.exe:用来将IL文件编译回来dll或exe

EmEditor文本处理工具这个大家如果没有我这有下载里面有注册码EmEditor.rar

2Ildasm和ilasm基本知识:

ilasm.exe与ildasm.exe的使用

首先打开cmd命令。cd 到 C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin

然后把要查看的 dll文件或者exe文件拉进来这里面(因为我们是要用命令,你直接打开ildasm.exe也可以找到各目录打开)

比如 text.dll  (里面有console.writeline("hello word"))

ildasm text.dll 打开dll 找到方法可以查看

ildasm text.dll /output:text.il  按回车就编译好一个il文件(可用记事本打开并且编辑hello word保存)

然后用ilasm工具反汇编成 dll或者exe 文件

ilasm text  按回车自动查找text4.il 文件并且编译成 text4.exe

或 ildasm text /dll 可以编译成 text.dll 文件(记得先删除原来的text4.dll)

3 开始工作吧

现有我有一个有加密码狗的程序进不去

 

开始破解吧

用reflector打开我们的程序,开始分析哪里有验证

这一步要有足够的耐心

找到了一个方法是没有加密狗就退出的程序方法

现在用Ildasm.exe打开我们的程序,把程序倒出成IL文件

 

 

就转成utf-8格式

会生成4个文件 

最主要的就是那个il文件

用EmEditor打开 

 

找到我们要修改的方法SetDoLock()

这我这个例子里我把它们删除直接改成

.method public hidebysig instance void void  SetDoLock() cil managed { // 代码大小 103 (0x67) .maxstack 5 IL_0000: ret } // end of method Login::SetTextBox

  保存

现在就用到 ilasm.exe 出场了 用来将IL文件编译回来dll或exe

上边已经有用它的方法了我也就不多说了

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727>ilasm.exe C:\IL\aa.il 

好了看一下生成的exe 吧

把生成的exe放回到原来的程序里去运行一下

好了破解成功!!

作者:bluejance 出处:http://www.cnblogs.com/li-peng/

相关文章

PHP实现排序堆排序(Heap Sort)算法

PHP实现排序堆排序(Heap Sort)算法

算法引进: 在这里我直接引用《大话数据结构》里面的开头: 在前面讲到 简单选择排序 ,它在待排序的 n 个记录中选择一个最小的记录需要比较 n - 1 次,本来这也可以理解,查找第一个数...

Search File Contents PHP 搜索目录文本内容的代码

这个类可以用来搜索在给定的文本目录中的文件。 它可以给定目录遍历递归查找某些文件扩展名的文件。 并打开找到的文件,并检查他们是否包含搜索词语。 它返回一个含有所有文件的列表包含搜索词语数...

高质量PHP代码的50个实用技巧必备(上)

50个高质量PHP代码的实用技巧,希望大家喜欢。 1.不要使用相对路径 常常会看到: require_once('../../lib/some_class.php'); 该...

完美实现GIF动画缩略图的php代码

完美实现GIF动画缩略图的php代码

下面通过一个取自CS警匪游戏的GIF动画来说明问题: GIF动画图片:old.gif 为了让问题更加清晰,我们先还原动画各帧: 选择一:用PHP中的Imagick模块:复制代码 代...

php对文件夹进行相关操作(遍历、计算大小)

为大家分享的第一个操作内容: 遍历并打印指定目录下所有文件 <?php //功能:遍历并打印指定目录下所有文件 function scan_dir(...