首页 » 漏洞 » 软件逆向之陌路寻踪:突破未注册版软件的限制功能

软件逆向之陌路寻踪:突破未注册版软件的限制功能

 

摘要:试图对一个“太监版”的程序进行完整化,也就是把限制的功能恢复,把阉割的功能添加等等。

试验软件:PixtopianBook.exe (一个通讯录软件)

试验软件来源:www.fishc.com

打开原始程序运行,观察界面:

软件逆向之陌路寻踪:突破未注册版软件的限制功能

这是一个通讯录软件,老外写的,很显然,当前是未注册版,试验后发现有功能限制,限制是只能有三个分组,每组不能超过4个人。也就是说,你用未注册版,联系人只能有12个人啊有木有!!太坑爹了!

咳咳!为了我的朋友们都能装进这个通讯录,为了我想借钱的时候不至于只能联系到几个朋友,我决定一定要破解掉这个软件!载入OD(Ollydbg),开始调试它吧。

一 异常处理

打开PixtopianBook.exe后F9直接运行,发现有异常提醒,用shift+F9忽略异常。或者如下图进行设置:

软件逆向之陌路寻踪:突破未注册版软件的限制功能

在调试选项里添加异常范围,因为是32位操作系统,所以00000000-FFFFFFFF就是整个内存段了。此时再打开程序,就没有异常出现了。

二 突破【限制人数】功能

在OD运行弹出的软件界面试图添加第5个人,出现错误提示box,如下图:

软件逆向之陌路寻踪:突破未注册版软件的限制功能

不建议大家看到有messagebox就直接去搜索API,通过API和字符串入手,观察上下,尝试爆破。因为现在的程序设计的聪明了,使用间接地调用:先调用一个自己的进程,在进程里再调用messagebox来混淆视听,避免破解。

正确方法:此时在OD中按下暂停(暂停后OD中的地址跳至动态链接库,即系统领空处),然后按ALT+F9返回到用户,在用户界面点击确定后,OD中就返回到程序接管,地址跳转到下图的位置:

软件逆向之陌路寻踪:突破未注册版软件的限制功能

图中的MessageBoxA就应该是刚才的错误提示框了,F8到retn,返回到函数(函数调用之后碰到ret返回),如下图:

软件逆向之陌路寻踪:突破未注册版软件的限制功能

(相应修改方法在图中已标识)

上图即我们定位到的“人数添加限制”的关键代码处,只需将JL跳转指令修改为JMP,让程序跳过MessageBox的执行,添加人数的限制就会被突破喽!

注意:ret返回后,在上方又有一个call,说明在此处是间接地调用messagebox。

修改后保存。载入后已经可以突破人数添加的限制了。如下图:

软件逆向之陌路寻踪:突破未注册版软件的限制功能

哈哈,到此,第一个限制功能就被破解了!

三 突破【分组限制】功能

破解方法和突破人数限制一样,修改后如下图,可以添加无限制的分组了:

软件逆向之陌路寻踪:突破未注册版软件的限制功能

到此为止呢,程序的两个限制功能已经被成功爆破了,但是还有几处UNREGISTED看着碍眼,嘿嘿,接着把碍眼的地方除掉吧。

四 标题修改

接下来将几处”unregistered version”字符查找并修改:

方法1:查找所有参考文本字串→查找文本“unregistered version”→跟随到代码处,找到在内存中的地址→在数据窗口中修改保存。

方法2:直接点击Memory→Ctrl+B查找→修改后记住字符串在内存中的地址,到OD的数据窗口保存。【建议用这种方法】

注意:修改时记得【保持大小】,不然会出错。

修改之后的图片如下:

软件逆向之陌路寻踪:突破未注册版软件的限制功能

软件逆向之陌路寻踪:突破未注册版软件的限制功能

好了,所有修改完毕,展示下完整的破解版本吧,请看下图:

软件逆向之陌路寻踪:突破未注册版软件的限制功能

终于的终于,可以无限制的多添加几个朋友了,大家又可以一起愉快的玩耍了。

注:本次试验参考于小甲鱼的【OD调试视频教程】,感谢小甲鱼老师的无私奉献,让更多的人快乐的学习逆向。

* 作者/Drops@ZUT,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)

原文链接:软件逆向之陌路寻踪:突破未注册版软件的限制功能,转载请注明来源!

0