selph
selph
发布于 2023-07-03 / 124 阅读
0
0

Afroz Smart Accounting v5.1 破解分析

Afroz Smart Accounting v5.1 破解分析

这篇包含了2个trick:去除软件使用限制,010editor 隐藏vb控件

软件基本信息

软件名称软件版本编程语言加壳情况难度难度说明练习日期
Afroz Smart Accountingv5.1.0.1VB6.0简单2023.07.04

image

去除试用次数限制

用x64dbg打开该程序,看到字符串:You have18 uses left before....

搜索字符串引用,找到所在指令:

image

往上找有跳转的地方,看看是在哪里比较的剩余次数:

image

要是跳转走了,则进入:

image

显示使用次数用完,必须注册

这里可以直接改关键跳转为nop,即可绕过这里的检测

通过修改内存,把试用次数改成大于20的值,看看能不能正常运行:

image

并不行,这里出现了二次检测,继续搜字符串:You must register...

image

可以看到,这里又出现了一次[ebx+50]取值,和之前判断试用次数一样

这里又一次进行了相同的判断操作,如果小于等于0x14则跳转

这里的改法则是把这个jle改成jmp强制跳转,即可完成绕过

打好补丁,再次运行,程序就能启动了

Trick1:检查是否存在其他限制

为了找出限制,我们需要先运行原始程序,点击进入,这里会弹框,标题是Unregistered Software​:

image

如果在其他地方存在限制,很可能也会用相同标题的提示框来显示提示信息

这是一个trick,用于找出软件的其他存在的限制

使用调试器运行刚刚打好补丁的程序,运行起来,进入主界面,搜索该标题字符串:

image

发现两处,依次点进去查看,第一个:功能是clear transaction,这里设置了限制

image

向上找到关键跳转,进行patch即可,这里改jmp之后,下面紧接着的jne也会跳转走,刚好跳过这个Not Allowed代码块,和unregistered software代码块

image

第二个:这是之前patch过的地方,不用管了就

image

Trick2:去除试用信息标签和激活按钮

现在程序的界面如下:​

image

这里有个试用信息标签,还有个激活按钮,为了让程序显得不像试用版,可以把这玩意去掉,试用VB decompiler打开,找到该form对应的控件:

image

image​​

然后去010editor上搜索保存这个控件信息的地方,搜这个控件名也行,因为这个反编译程序没法直接修改,所以就需要通过010editor来进行修改,保存在这里的信息不是很多,但也有能完成目的的值,一般来说,很多信息都是连着保存的,这里关注这里的大小信息,这个255,就是FF,之前有个数据很大,后面有个11,也就是0x0B:

image

这里的0x1707是宽度,前面的06应该是一种表示这个结构对应的索引,后面0B也符合猜想,那么这里只需要把0xFF改成00,即可删去这个label

再次打开时,这个label已经看不到了:

image

对于旁边的Click here to activate按钮,也是同理:

image

找17 07 3b 01,后面跟了个03的位置:

image

把这个3b01改成0000即可:

image

应该算是彻底解除使用限制了吧hhhh


评论