逆向破解初体验之突破限制

0x00 序章

​ 本文练手的程序是一款名叫pixtopianbook通讯录软件,使用的工具是OD。

0x01 软件分析

​ 安装之后运行pixtopianbook.exe。

逆向破解初体验之突破限制_第1张图片

​ 点击登录之后进入主界面。

逆向破解初体验之突破限制_第2张图片

​ 该软件需要注册,如果不注册软件的功能会受到限制,添加组的数量被限制在3个,每组添加的联系人数量限制在4人。

逆向破解初体验之突破限制_第3张图片

逆向破解初体验之突破限制_第4张图片

​ 明确目标:要解除软件的非注册用户限制。

0x02 结构分析

​ 使用Exeinfo PE查看程序结构

逆向破解初体验之突破限制_第5张图片

  • 程序的入口地址:0x000403E。
  • 程序无壳。
  • 可以直接上OD进行逆向破解。

0x03 逆向分析

​ 使用OD打开程序,根据之前的提示“limit of 3 groups”查找字符串试试。

逆向破解初体验之突破限制_第6张图片

​ 根据查询结果查找到字符串出现的内存地址,点击跟进查看反汇编代码。

逆向破解初体验之突破限制_第7张图片

​ 在向上阅读反汇编代码,发现在0x00408B05将eax寄存器的值与0x03进行了比较判断,如果大于0x03则继续执行,就会执行到程序异常的代码片段,如果不大于3则跳转到0x00408B34,继续查看异常代码片段跳转的0x004562ED函数。

逆向破解初体验之突破限制_第8张图片

​ 该函数调用了MessageBoxA函数,并在调用前将异常提示的字符串压入了栈中,与程序运行过程中的情况基本一致,那么限制的判断就是在0x408B05,只需要突破此处的限制即可突破添加组的数量限制,这里我选择将jl跳转修改为jmp无条件跳转。

逆向破解初体验之突破限制_第9张图片

​ 使用同样的方法修改每个组添加的联系人数量限制即可。

逆向破解初体验之突破限制_第10张图片

0x04 保存修改测试

​ 将修改后的程序保存运行测试。

逆向破解初体验之突破限制_第11张图片

​ 至此,软件的功能限制已全部突破。

0x05 结语

​ 该软件的逆向破解过程并不难,网上也有很多的破解教程,如果有描述不当的地方请大师傅们指正批评。

​ 最后,该软件对于新入手学习逆向的同学练手是非常友好的,如果有想要练手的朋友,可以搜索微信公众号“乌托邦安全团队”或者扫下方的二维码关注公众回复“逆向破解0x01”获得软件的下载地址。

逆向破解初体验之突破限制_第12张图片

你可能感兴趣的:(IOT漏洞挖掘学习笔记,安全)