破解.net程序 编译和反编译方法

 有好多.net程序有加密狗或者有验证,如果exe或dll没有做过特殊处理,破解.net程序其实很简单,不过你要有足够的耐心!

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

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放回到原来的程序里去运行一下

好了破解成功!!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Debian社区

Debian 9 安装配置 Caddy Server

Caddy 是一个用 Golang 开发的高效 Web Server,相比 Nginx,它的配置和使用要简单很多,能自动开启 HTTPS、并且支持 HTTP/2...

1K20
来自专栏10km的专栏

maven:release:prepare报错Cannot run program "bash"

今天执行mvn release:prepare做版本发布的时候报了一个莫名其妙的错误: [ERROR] Caught exception in FS.readP...

250100
来自专栏为数不多的Android技巧

把Sublime添加到Mac右键菜单

虽然大部分的时候是使用命令行,但是有些时候我们需要在Finder里面编辑某些文件的时候,如果还是拘泥于这样,就必须打开 iTerm (幸好有Profile可以一...

86910
来自专栏liulun

用Nim语言开发windows GUI图形界面程序

前言 本文得到了“樂師”的大力支持, 我们一起调试程序到深夜,要是没有他的帮忙, 我不知道要多久才能迈过这道坎, 另外“归心”还有其他人也提供了帮助, 他们都来...

44050
来自专栏情情说

Netty事件监听和处理(下)

上一篇 介绍了事件监听、责任链模型、socket接口和IO模型、线程模型等基本概念,以及Netty的整体结构,这篇就来说下Netty三大核心模块之一:事件监听和...

45450
来自专栏程序员叨叨叨

听说你使用Android Studio遇到了一些小困惑

这个问题通常出现在Android Studio更新失败的时候,原因是download http://services.gradle.org/distributi...

12240
来自专栏向治洪

iOS如何实现多个环境一次打包

概述 偶然看到一个很有趣的问题:如何在ios环境下实现多个环境同时打包。 谈到多环境,我想大多公司都至少有2-3个环境,比如Test环境,UAT(User Ac...

55980
来自专栏TechBox

iOS App 安全测试一、数据存储安全二、 数据通信安全三、 URL protocol handler / IPC四、 UIWebView

30830
来自专栏openshift持续集成

配置jenkins邮件通知(openshift)

进入“系统管理”>>>“插件管理”安装邮件通知插件Email Ext Recipients Column Plugin,Email Extension Plug...

562130
来自专栏CaiRui

ntp服务配置

在linux系统中,为了避免主机时间因为长时间运行下所导致的时间偏差,进行时间同步(synchronize)的工作是非常必要的。linux系统下,一般使用nt...

707100

扫码关注云+社区

领取腾讯云代金券