吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 3506|回复: 85

[原创逆向图文] 160Crackme--02 Afkayas 爆破算法分析

  [复制链接]
RGO_小柒 发表于 2021-2-21 12:26 | 显示全部楼层 |阅读模式

本帖最后由 RGO_小柒 于 2021-2-21 12:24 编辑

我是刚入门不到一个月,最近刚开始刷160Crackme,第二个是我自己做出来的,包括爆破和算法分析,所以很开心.就想写下来,记录自己的逆向过程和思路.
1.爆破
打开软件,输入假码,点击ok
QQ截图20210221105732.png
出现错误提示窗口
QQ截图20210221105921.png
我们使用F12暂停法:
     不点击确定,直接F12,然后程序暂停,使用alt+k进入"调用堆栈"窗口
发现有一处调用是来自程序领空,我们右键,选择,显示调用,来到程序领空
QQ图片20210221110252.png
之后,我们向上一翻,发现有一处跳转,跳向了一处错误提示:
QQ截图20210221110518.png
我们来到这里,选中该行,在提示窗口发现,这个跳转来自0040258B,右键"转到来自":
QQ截图20210221110859.png
我们发现此处跳过了正确提示:
QQ截图20210221111132.png
那我们试着将这个跳转直接nop掉
QQ截图20210221111244.png
F9运行,点击确定,关闭刚才提示的错误窗口,再次输入假码,直接提示" You Get it",我们爆破成功!
QQ截图20210221111435.png
2.算法分析
(以下算法分析都是我的个人片面见解,如有错误,敬请指正!)写在前面:在这之前我没有接触过VB的程序,所以分析的时候就有点憨,把一个简单的东西,复杂化了
我们撤销刚才的nop,并在这个关键条下断点,在堆栈窗口并没有发现类似真码的东西.
索性从段首下断,运行程序
一直运行,观察堆栈,发现可疑数据:
QQ截图20210221113718.png
我们猜测,AKA-是前缀,585235是后缀,拼接字符串得"AKA-585235",验证,果然123456得密码就是AKA-585235
我们查看程序,能够发现"AKA"
QQ截图20210221114201.png
但是却不知道585235是从哪来,我们寻找这串数字最先出现的地方.
断点还是位于段首,运行程序,点击"OK",程序暂停在段首,我们F8单步运行,仔细查看堆栈,看没有有与585235相似的数据产生.
我们发现,当程序运行完这个call之后,eax出现了585235,eax一般做为程序返回值的寄存器
QQ图片20210221115010.png
我们再从这个call网上看,发现运行这个call之前,程序将edi入栈,那么edi中的数据应该就是这个函数的参数,使用堆栈的方法进行传参.
那我们开始分析,edi中的数据是什么东西,向上一翻,我们发现赋值edi的核心代码:
QQ截图20210221115600.png
我们可以看出edi=账号长度*0x17CFB+账号的第一位数据的ascii码=8EE13
找到参数来源之后,我们走进关键call,去看看他用我们edi中的数据做了什么:
我们用同样的方法,找到使得堆栈中出现585235的关键call
QQ截图20210221120226.png
我们跟进分析
进入call之后呢我们发现ecx=8EE13,就是我们的edi,我们看他用ecx中的数据来做什么
QQ截图20210221120757.png
走完这个循环之后,我们发现:
QQ截图20210221121301.png
结果是:35==>堆栈 33==>堆栈 32==>堆栈 35==>堆栈 38==>堆栈 35==>堆栈
然后从后面算法分析得,他又逆着把数据从堆栈中取了出来
这时我突然发现,35 38 35 32 33 35 这正是585235的ascii码
得出他们的过程也就是8EE13不断的除以10(十进制),得出的余数
这不正是十进制转换!!
我用计算器验证了一下
8EE13的十进制:
QQ截图20210221121629.png
然后我就顿悟了,在程序领空的时候,我进入的关键call,是16进制转10进制的函数,这个vb函数我记住他了:
QQ截图20210221121815.png
总结一下,真码的计算方法:
"AKA-"+"(账号长度*0x17CFB+账号的第一位数据的ascii码)的十进制"
为了验证是否正确,我们先算一下账号12345的真码
QQ截图20210221122241.png
所以真码应该是"AKA-487704"
算法逆向成功:
QQ截图20210221122353.png
QQ图片20210221110754.png

评分

参与人数 19威望 +1 HB +31 THX +13 收起 理由
花盗睡鼠 + 2 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
459121520 + 1
消逝的过去 + 1
冷亦飞 + 1
l278785481 + 1
侠客行 + 1
凌夏随缘 + 1
月白风清 + 2 + 1 CTF大佬666
不知道名字 + 1 + 1
我是好人 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
zm315857235 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
葡萄架下的女巫 + 1
playboy + 1
boot + 1
成丰羽 + 1 [吾爱汇编论坛52HB.COM]-感谢楼主热心分享,小小评分不成敬意!
kll545012 + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
king51999 + 1 [快捷评语]--你将受到所有人的崇拜!
firstcmm + 1 [快捷评语]--积极评分,从我做起。感谢分享!
Shark恒 + 1 + 20 + 1 [快捷评语]--吃水不忘打井人,给个评分懂感恩!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| RGO_小柒 发表于 2021-2-21 16:20 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
aゞ烛火 发表于 2021-2-21 15:32 | 显示全部楼层

我用字符串
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
拿着雪糕 发表于 2022-1-28 12:11 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
OkPFH82 发表于 2022-2-28 10:00 | 显示全部楼层

不可多得,支持楼主
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
不苦小和尚 发表于 2022-2-28 10:01 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
iytwfx01 发表于 2022-2-28 10:01 | 显示全部楼层

谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
mSYxEdBpL 发表于 2022-2-28 10:12 | 显示全部楼层

大佬无敌
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
jESuY 发表于 2022-3-1 01:14 | 显示全部楼层

谢谢分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
jESuY 发表于 2022-3-25 16:05 | 显示全部楼层

楼主好强啊!学习了!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
赞帖
2层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表