前言
前段时间一直在折腾如何给软件进行加密,其实就简单的在软件中设定一个MD5的加密验证,加密搞了大半天时间,结果找了个破解的软件十分钟就破解了。。。
1、下载软件
OllyDbg分为32位和64位版本,32位有中文汉化版,破解版网上很多下载链接,找不到的话自己去网盘自提
链接:https://pan.baidu.com/s/1xAFt...
提取码:7vzj
2、破解过程
一般的软件加密都是获取硬件信息后进行MD5加密,软件运行的时候就对加密信息进行比对,OllyDbg对软件进行反汇编,然后在加密判断的地方进行修改判断,从而跳过加密判断过程。目前一些加密软件可以对软件进行加壳加密,可以对反汇编进行混淆,这样通过OllyDbg反汇编之后的代码就没有参考的价值了
2.1 定位关键信息
一般我们的软件加密都有一个判断的过程,这里就在OllyDbg中定位该判断点的位置
首先使用OllyDbg打开需要破解的exe软件
在数据窗口上点击右键,选择“All referenced strings”
进入search界面后,右键选择“Search for text”,搜索关键字“License”,如下
然后在根据搜索到的关键字右键选择“Follow in Disassembler”,进入汇编模式
2.2 对加密授权进行修改
这里只加密授权的判断进行修改,也就是输入错误的授权码能跳入授权循环中,一般判断语句的反汇编是“Test”,沿着上一步定位点向上分析,找到判断语句
这里的JE为跳转语句,我们把这里的JE改成JNE,这样,输入错误的授权码可以进入系统
修改代码后,我们进入exe保存窗口,保存成一个新的exe文件
3、破解前后效果对比
破解前,输入错误的授权码会提示授权错误信息
破解后,输入任意授权码,均可进入系统
4、分析
目前这种只是简单的加密和破解,也有比较多的软件可以混淆反汇编的代码,让软件更难以去破解,但加密和破解本身就是矛与盾的关系,没有破解不掉的软件,只有破解难度和破解的性价比。本文只是简单介绍一下破解的原理,对于OllyDbg也是简单应用,本人觉得还是要将更多的心思放在算法开发技术突破上,得到技术上的长足发展才是上上之选。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。