本帖最后由 kn0sky 于 2023-7-3 23:26 编辑
Afroz Smart Accounting v5.1 破解分析
一次练习,发现了两个小技巧,跟大家分享分享
软件基本信息
去除试用次数限制
用x64dbg打开该程序,看到字符串:You have18 uses left before....
搜索字符串引用,找到所在指令:
往上找有跳转的地方,看看是在哪里比较的剩余次数:
要是跳转走了,则进入:
显示使用次数用完,必须注册
这里可以直接改关键跳转为nop,即可绕过这里的检测
通过修改内存,把试用次数改成大于20的值,看看能不能正常运行:
并不行,这里出现了二次检测,继续搜字符串:You must register...
可以看到,这里又出现了一次[ebx+50]取值,和之前判断试用次数一样
这里又一次进行了相同的判断操作,如果小于等于0x14则跳转
这里的改法则是把这个jle改成jmp强制跳转,即可完成绕过
打好补丁,再次运行,程序就能启动了
Trick1:检查是否存在其他限制
为了找出限制,我们需要先运行原始程序,点击进入,这里会弹框,标题是Unregistered Software :
如果在其他地方存在限制,很可能也会用相同标题的提示框来显示提示信息
这是一个trick,用于找出软件的其他存在的限制
使用调试器运行刚刚打好补丁的程序,运行起来,进入主界面,搜索该标题字符串:
发现两处,依次点进去查看,第一个:功能是clear transaction,这里设置了限制
向上找到关键跳转,进行patch即可,这里改jmp之后,下面紧接着的jne也会跳转走,刚好跳过这个Not Allowed代码块,和unregistered software代码块
第二个:这是之前patch过的地方,不用管了就
Trick2:去除试用信息标签和激活按钮
现在程序的界面如下:
这里有个试用信息标签,还有个激活按钮,为了让程序显得不像试用版,可以把这玩意去掉,试用VB decompiler打开,找到该form对应的控件:
然后去010editor上搜索保存这个控件信息的地方,搜这个控件名也行,因为这个反编译程序没法直接修改,所以就需要通过010editor来进行修改,保存在这里的信息不是很多,但也有能完成目的的值,一般来说,很多信息都是连着保存的,这里关注这里的大小信息,这个255,就是FF,之前有个数据很大,后面有个11,也就是0x0B:
这里的0x1707是宽度,前面的06应该是一种表示这个结构对应的索引,后面0B也符合猜想,那么这里只需要把0xFF改成00,即可删去这个label
再次打开时,这个label已经看不到了:
对于旁边的Click here to activate按钮,也是同理:
找17 07 3b 01,后面跟了个03的位置:
把这个3b01改成0000即可:
应该算是彻底解除使用限制了吧hhhh
|