好友
阅读权限20
听众
最后登录1970-1-1
|
本帖最后由 xujidejia 于 2024-5-23 09:27 编辑
在论坛注册很久了,由于工作原因,没时间学习,遇到了一个软件有登录限制,就来了兴致,最后居然成功了,解下来和大家分享下破解过程。希望大佬们批评指正。
这是一个需要登录账号和密码网络验证的软件,使用guest账户不要密码可以登陆进去,但是就限制,不能新建项目,保存,修改等操作限制,而且30分钟还要重新登陆。
接下来第一步,查壳。
查壳
丢入die,居然没壳,那么就直接开始吧。我用的是X64dbg。软件登录输入用户名和密码会提示用户名错误,直接丢入X64dbg,alt+e进入程序模块搜索一通可用字符。但是没有搜索到“用户名”的相关结果。想了想,就直接运行出登录界面,输入用户名aaa,密码bbb,登录后提示了用户名错误,然后再重新搜索“aaa”,出来几个结果,然后再第一个上面下断点。
下段
下段
我对这些代码只知道简单的运行逻辑,我还复制了代码内容,利用百度的“文星一言”进行解读代码。大佬们别笑话我,我也是无奈之举,小白嘛。
边解读代码边分析,网络验证我是不敢分析了,接下来就F8一只往下面走,运行到006EBB76弹出了错误提示框,结果继续往下走,运行到006EBBB9|66:833D 0031E200 02|cmp word ptr ds:[E23100],2,这里进行了一个比较,但是下面接的是一个不等于就跳转代码,006EBBC1|0F85080E0000|jne123.6EC9CF|,看了一下,是个很大的跳转,那么我就不让他跳转,直接nop掉。
比较代码
然后F9,软件界面出来了,但是使用功能还是学习版本,这个上面折腾了大半天,没什么结果,学习版就学习版吧,去除功能限制就好了。我就搜索功能限制的特征字符,发现在这些限制上面都有一个比较,然后可以跳过错误提示,代码都是在 [E23114]内存地址进行比较,| cmp dword ptr ds:[E23114],edi,而且下面跳转都是jne跳转。
学习版限制
学习版限制2
那么我就到[E23114]去看看,ctrl+G直接输入0x00E23114到了这个地址,看不懂,还是请“文心一言”解释了下,答案是将 al 寄存器中的字节值与以 eax 寄存器内容为地址的内存位置上的字节值进行异或操作,并将结果存回该内存地址。经过观察,上面比较后面都是接的JNE跳转,那么我直接修改0x00E23114处的代码,把add byte ptr ds:[eax], al改为add byte ptr ds:[eax], 1,不让它+al,+1以后返回的结果不就不一样了吗?那么跳转不就实现了吗?不出所料,所有限制都解除了。
数据段
欣喜若狂呀,使用了一下以后,功能都正常使用。还有问一下,软件可以发出来吗,商业软件可以发我就补充了发出来。
大佬们,我错了,是我想简单了,虽然很多限制提示没了,但是还有很多限制,使用具体功能的时候限制特别多。你们研究看看。
链接:https://pan.baidu.com/s/154rcdmDjJSXx73I7q5q2eA
提取码:vptk
--来自百度网盘超级会员V3的分享
哪个好心大佬可以研究下,分享下心得 |
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|