这是很早以前写的一篇文章了,是一个破解软件试用期的示例。里面主要是一些汇编语言的知识点。再次分享。工具
软件破解只是在于交流技术,不要用于商业目的,咱们应该尊重软件开发者付出的心血和汗水。测试
主要用的工具是 Ollydbg( 反汇编工具),简称OB。blog
测试破解的软件是一款超市收银系统,Windows版应用程序,30天使用期限。事件
使用OB打开要 破解的exe文件。图片
打开后以下图,咱们看到了熟悉的汇编语言。开发
登陆的时候会弹出 “适用期限已到”的缘由是由于点击肯定后,在这个按钮的处理事件里面会去比较当前的时间和第一次使用的时间.这就是破解的入口点,须要找到这个按钮的处理事件。cmd
在下图位置点击 [右键]->查找->全部参考文本子串。 it
弹出下面的窗口,那个红色的圈里就是上面提到的那个按钮,其实这里面有不少按钮,这个须要凭借经验和感受去肯定是哪个了。登录
双击 ASCII “cmdOK” 弹出下面的窗口:软件
将光标向上移动几行 发现 DD shop.004478E4。
用鼠标选中,按下回车键, DB会自动为咱们跳转到下面的位置.
用鼠标选中,按下回车键, DB会自动为咱们跳转到下面的位置. 这就是这个按钮处理事件的入口点. 在这里按F2 设置一个断点.这样当你按肯定后,程序将被DB拦截.
操做过程: F9(运行启动程序)->输入用户名密码->按肯定键->(程序被断点拦截到这里). 接下来能够按F8键,单步运行程序,一边运行一边观察反馈结果.
单步走的这里的时候发现一条跳转语句,以下图所示.他的做用是当没用超过适用期限的时候就跳转的 006046C0处执行.若是超过适用期限,就继续向下执行.在下面的几行里面有:
这段代码的做用就是弹出那个对话框,提示适用期限已到的.
那咱们把JE Shop.006046C0 改为JMP Shop.006046C0。意思就是无条件的跳转。不管是否超过适用期程序都会跳转的正常的地方继续执行,不会中止。
修改方法是双击 JE Shop.006046C0 在弹出的对话框中输入JMP Shop.006046C0,而后点“汇编”
而后点击 右键-〉复制到可执行文件-全部修改-〉保存。
到此,适用期限的问题已经破解。
本文只是提供了一种软件破解的思路。对于复杂的软件可能须要进行更深层次的分析。
再次强调,研究软件破解技术的目的是用于技术交流,提高技术水平,探索解决问题的思惟逻辑。请你们不要将软件破解用于商业目的。