Web开发教程:教你轻松反编译.net程序
当前位置:以往代写 > 网页教程 >Web开发教程:教你轻松反编译.net程序
2019-06-14

Web开发教程:教你轻松反编译.net程序

Web开发教程:教你轻松反编译.net程序

  在正式开始我们的教程讲解之前,我们首先来了解一下.NET的定义——Microsoft® .NET 是 Microsoft 围绕 web Services 为核心,为信息、人、系统、各种设备提供无缝连接的一组软件产品(SmartClient、服务器、开发工具)、技术(Web Services)或服务(.NET Services,如 .NET Passport)。我们可以用.NET开发各种各样的软件程序,可是你有没有尝试过破解.net程序呢?

  有好多.net程序都是有加密狗或者有验证的,如果exe或dll文件没有做过特殊处理,我们想要破解.net程序并不是太困难。不过前提是你要得有足够的耐心!(PS:我只是拿公司的软件做个简单的小例子,把公司的软件破解了,不要被老大知道….)

  1、使用工具

  首先是Reflector.exe 用来查看.net代码,这个就不多解释了,相信同学们都知道,它是我们学习.net必备的神器;

  接着是Ildasm.exe,我们要用它来将dll,exe编译为IL文件;

  然后则是ilasm.exe,我们可以用它将IL文件编译回dll或exe文件~

  最后则是EmEditor文本处理工具,也是我们反编译操作的重要工具,上述四个工具大家可以在网上搜索相关资源并下载。

  2、Ildasm和ilasm基本知识:

  好啦,我们的.NET程序反编译之旅即将开始,我们先来看看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、开始工作吧

  OK,现在我有一个有加密码狗的.NET程序进不去,提示如下图:

加密码狗的.NET程序进不去

  接下来让我们开始破解.NET程序吧~

  首先用reflector打开我们的.NET程序,开始分析在哪里有验证

用reflector打开我们的.NET程序

  这一步非常重要,却也有点麻烦,所以我们需要有足够的耐心来慢慢操作。

  终于,我们找到了一个方法是没有加密狗就退出的程序方法~

找到没有加密狗就退出的程序方法

  现在我们就可以用Ildasm.exe打开我们的程序,将程序导出成IL文件,如下图所示:

用Ildasm.exe打开我们的程序

  并且我们要将它转成utf-8格式,如下图所示:

将它转成utf-8格式

  接着我们的Ildasm.exe程序将会生成4个文件,如下图所示:

Ildasm.exe程序会生成4个文件

  这四个文件之中,最主要的就是那个il文件,我们用EmEditor将它打开,如下图所示:

用EmEditor将il文件打开

  然后找到我们需要修改的方法——SetTextBox(string str)

找到我们需要修改的方法

  在我这个例子里我把它们删除直接改成下面代码,然后我们就将这个方法SetTextBox(string str)保存。

  我把它们删除直接改成下面代码

 

  现在就轮到 ilasm.exe 隆重登场啦~我们用它将IL文件编译回来dll或exe文件。

  上边已经有用它的方法了我在这里就不赘述了~

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

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

  好了,我们来看一下生成的exe 吧

看一下生成的exe

#p#分页标题#e#

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

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

  好了,到这里我们就破解成功啦!!

  总结:

  本篇教程讲到这里,相信聪明的同学们都已经知道怎么破解.net程序了,还是那句话——我们想要破解.net程序并不是太困难。不过前提是你要得有足够的耐心!

    关键字:

在线提交作业