破解PixtopianBook软件功能限制

Author Avatar
kabeor 2月 01, 2018

破解PixtopianBook软件功能限制

安装软件

PEID看一下发现无壳,VC++6.0编译
image

打开软件,尝试功能

1.当我们选择Add Group,提示没有注册只能创建3个Group
image

拖进OD,运行
因为未知原因,ALT+F9返回到用户后程序卡死,于是选择ctrl+G搜索MessageBoxA/W,F2下断点

程序跑起来,让程序弹出这个消息框,此时触发断点,反汇编窗口跟随
image

找到了这个API

断点下到下面的retn,F9运行到断点,F8单步运行一次
image

分析

1.这个Call就是我们刚才进入的Call,加入我们能跳过这个call,就能避免跳出消息框。

2.查看这个ascii码,正是消息框的标题和内容,在这里被压入栈,等待调用。

3.这里有一个cmp,比较eax与3大小(即Group是否等于3),如果小于就跳转到(JL)00408B34,如果已经有3个Group了,就执行call弹出未注册消息框。

所以我们需要强制跳转

jl改为jmp即可,复制到可执行文件

2.默认未注册用户只能添加四个联系人
image

方法同上

更改版本信息

image

标题,版本文字在代码区是找不到的,我们直接在内存(快捷栏 M)中找
image

记录地址004D4830,dump跳转到004D4830(ctrl+G)

数据框中二进制编辑为自己想要的字符即可

自定义标题,更改提示注册文字

同上,搜索内存

修改欢迎信息

搜索可知文字在0048F974,dump跳转
image

我们需要知道程序哪一段调用了这段字符串。

我们右键选择查找参考(Ctrl+R)
找到一处引用,我们双击进入
image

来到如图所示的代码位置
image

发现上面有一处cmp和jnz(cmp与jnz组合代表:如果不相等,则跳转),如果ebp等于907,则将这串字符压入栈(可以猜测,907代表未注册),我们根据跳转向上翻
image
又有一处cmp和jnz,意思是如果ebp不等于906,就要跳转回0040C22F处(可以猜测,906代表注册过)

直接在0040C235的jnz处进行强制跳转,让其不会将这串字符压入栈

保存修改。

就完成了。

From https://kabeor.github.io/破解PixtopianBook软件功能限制/ bye

This blog is under a CC BY-NC-SA 4.0 Unported License
本文链接:https://kabeor.github.io/破解PixtopianBook软件功能限制/