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

2015-01-24信息快讯网

如果exe或dll没有做过特殊处理,破解.net程序其实很简单,不过你要有足够的耐心,接下来介绍一下破解方法,感兴趣的朋友可以了解下,或许对你学习.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打开我们的程序,开始分析哪里有验证

破解.net程序(dll文件)编译和反编译方法_信息快讯网

这一步要有足够的耐心

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

破解.net程序(dll文件)编译和反编译方法_信息快讯网

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

 

破解.net程序(dll文件)编译和反编译方法_信息快讯网 

就转成utf-8格式

破解.net程序(dll文件)编译和反编译方法_信息快讯网

会生成4个文件 

破解.net程序(dll文件)编译和反编译方法_信息快讯网

最主要的就是那个il文件

用EmEditor打开 

 

破解.net程序(dll文件)编译和反编译方法_信息快讯网

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

破解.net程序(dll文件)编译和反编译方法_信息快讯网

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

.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 

破解.net程序(dll文件)编译和反编译方法_信息快讯网

好了看一下生成的exe 吧

破解.net程序(dll文件)编译和反编译方法_信息快讯网

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

好了破解成功!!

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

解析PHP中的unset究竟会不会释放内存
实测在class的function中include的文件中非php的global全局环境
shell脚本作为保证PHP脚本不挂掉的守护进程实例分享
php的$_FILES的临时储存文件与回收机制实测过程
PHP 获取远程文件大小的3种解决方法
PHP 获取文件权限函数介绍
php打开文件fopen函数的使用说明
如何解决CI框架的Disallowed Key Characters错误提示
解析:php调用MsSQL存储过程使用内置RETVAL获取过程中的return值
php修改NetBeans默认字体的大小
解析php php_openssl.dll的作用
file_get_contents("php://input", "r")实例介绍
解析PHP中empty is_null和isset的测试
浅析Dos下运行php.exe,出现没有找到php_mbstring.dll 错误的解决方法
解析php扩展php_curl.dll不加载的解决方法
php 无法加载mcrypt.dll的解决办法
php验证手机号码(支持归属地查询及编码为UTF8)
PHP数组传递是值传递而非引用传递概念纠正
PHP调用Linux的命令行执行文件压缩命令
php对大文件进行读取操作的实现代码
php删除与复制文件夹及其文件夹下所有文件的实现代码
php删除文件夹及其文件夹下所有文件的函数代码
php定时删除文件夹下文件(清理缓存文件)
PHP中CURL方法curl_setopt()函数的参数分享
mysqli_set_charset和SET NAMES使用抉择及优劣分析
PDO版本问题 Invalid parameter number: no parameters were bound
关于mysql字符集设置了character_set_client=binary 在gbk情况下会出现表描述是乱码的情况
asp.net 组合模式的一个例子
php shell超强免杀、减少体积工具实现代码
PHP 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)
PHP中空字符串介绍0、null、empty和false之间的关系
php调用dll的实例操作动画与代码分享
PHP连接SQLServer2005的实现方法(附ntwdblib.dll下载)
PHP连接SQLSERVER 注意事项(附dll文件下载)
PHP Warning: PHP Startup: Unable to load dynamic library \ D:/php5/ext/php_mysqli.dll\
©2014-2024 dbsqp.com