小白记录一次软件的简单爆破过程

查看 135|回复 10
作者:xujidejia   
在论坛注册很久了,由于工作原因,没时间学习,遇到了一个软件有登录限制,就来了兴致,最后居然成功了,解下来和大家分享下破解过程。希望大佬们批评指正。
  这是一个需要登录账号和密码网络验证的软件,使用guest账户不要密码可以登陆进去,但是就限制,不能新建项目,保存,修改等操作限制,而且30分钟还要重新登陆。
  接下来第一步,查壳。


image.png (35.57 KB, 下载次数: 0)
下载附件
查壳
2024-5-20 17:20 上传

   丢入die,居然没壳,那么就直接开始吧。我用的是X64dbg。软件登录输入用户名和密码会提示用户名错误,直接丢入X64dbg,alt+e进入程序模块搜索一通可用字符。但是没有搜索到“用户名”的相关结果。想了想,就直接运行出登录界面,输入用户名aaa,密码bbb,登录后提示了用户名错误,然后再重新搜索“aaa”,出来几个结果,然后再第一个上面下断点。


image.png (71.5 KB, 下载次数: 0)
下载附件
下段
2024-5-20 17:29 上传



image.png (225 KB, 下载次数: 0)
下载附件
下段
2024-5-20 17:30 上传

    我对这些代码只知道简单的运行逻辑,我还复制了代码内容,利用百度的“文星一言”进行解读代码。大佬们别笑话我,我也是无奈之举,小白嘛。


image.png (233.06 KB, 下载次数: 0)
下载附件
2024-5-20 18:15 上传

边解读代码边分析,网络验证我是不敢分析了,接下来就F8一只往下面走,运行到006EBB76弹出了错误提示框,结果继续往下走,运行到006EBBB9|66:833D 0031E200 02|cmp word ptr ds:[E23100],2,这里进行了一个比较,但是下面接的是一个不等于就跳转代码,006EBBC1|0F85080E0000|jne123.6EC9CF|,看了一下,是个很大的跳转,那么我就不让他跳转,直接nop掉。


image.png (210.75 KB, 下载次数: 0)
下载附件
比较代码
2024-5-20 17:39 上传

然后F9,软件界面出来了,但是使用功能还是学习版本,这个上面折腾了大半天,没什么结果,学习版就学习版吧,去除功能限制就好了。我就搜索功能限制的特征字符,发现在这些限制上面都有一个比较,然后可以跳过错误提示,代码都是在 [E23114]内存地址进行比较,| cmp dword ptr ds:[E23114],edi,而且下面跳转都是jne跳转。


image.png (172.05 KB, 下载次数: 0)
下载附件
学习版限制
2024-5-20 17:46 上传



image.png (191.36 KB, 下载次数: 0)
下载附件
学习版限制2
2024-5-20 17:49 上传

那么我就到[E23114]去看看,ctrl+G直接输入[backcolor=rgba(27, 31, 35, 0.05)]0x00E23114到了这个地址,看不懂,还是请“文心一言”解释了下,答案是将 al 寄存器中的字节值与以 eax 寄存器内容为地址的内存位置上的字节值进行异或操作,并将结果存回该内存地址。经过观察,上面比较后面都是接的JNE跳转,那么我直接修改[backcolor=rgba(27, 31, 35, 0.05)]0x00E23114处的代码,把
[color=]add byte ptr ds:[eax], al改为add byte ptr ds:[eax], 1,不让它+al,+1以后返回的结果不就不一样了吗?那么跳转不就实现了吗?不出所料,所有限制都解除了。


image.png (151.1 KB, 下载次数: 0)
下载附件
数据段
2024-5-20 17:51 上传

欣喜若狂呀,使用了一下以后,功能都正常使用。还有问一下,软件可以发出来吗,商业软件可以发我就补充了发出来。
大佬们,我错了,是我想简单了,虽然很多限制提示没了,但是还有很多限制,使用具体功能的时候限制特别多。你们研究看看。
链接:https://pan.baidu.com/s/154rcdmDjJSXx73I7q5q2eA
提取码:vptk
--来自百度网盘超级会员V3的分享
哪个好心大佬可以研究下,分享下心得

仿宋, 下载次数

gchq2005   

那么我就到[E23114]去看看,ctrl+G直接输入[backcolor=rgba(27, 31, 35, 0.05)]0x00E23114到了这个地址,看不懂,还是请“文心一言”解释了下,答案是将 al 寄存器中的字节值与以 eax 寄存器内容为地址的内存位置上的字节值进行异或操作,并将结果存回该内存地址。经过观察,上面比较后面都是接的JNE跳转,那么我直接修改[backcolor=rgba(27, 31, 35, 0.05)]0x00E23114处的代码,把add byte ptr ds:[eax], al改为add byte ptr ds:[eax], 1,不让它+al,+1以后返回的结果不就不一样了吗?那么跳转不就实现了吗?不出所料,所有限制都解除了。
这里你应该是 瞎猫碰上死耗子 ,cmp dword prt ds:[E23114], ebx  这指令的意思是 用 E23114 地址的值和 ebx 对比,E23114 地址的值是数据,不是指令,就是说是 ebx 值是否为 0,你当指令瞎改,也达到效果了
sdieedu   

发软件谢谢
gzsklsskszngc   

没想到商业软件都不加密啊
fire9   

牛的                     不错
taoxwl666   

这明明是大佬呀
heheluo   

大佬,学习了。。大佬多发发教程
ForCifer   

以后可以发发详细的教程鸭!加油!
wangwh   

你可不是一般的小白
yamin   

真不错 牛的
您需要登录后才可以回帖 登录 | 立即注册

返回顶部