论坛首页 逆向工程技术区 阅读主题

[原创][HWS]animals

370 浏览 0 回复
#1 楼主 2026-06-01 21:08:55
以前老博客的wp,存看雪首先IDA打开

熟悉的味道熟悉的花

整整两段,没有办法,挫一个idapython脚本梭一下
main函数分析错了,并且下面这一段不能按p声明。
往下翻找发现

这里有一个字节未识别,按C识别一下

识别完了之后一大段地址全部爆红
此时我们回到main函数下面继续按p

可以按p了,但是出main函数仍旧是有问题的,并且我们tab查看一下函数内容

寄存器丢失的同时还非常的乱,所以不能直接p
我们需要修改main函数的起始地点。

这个时候主函数就正常了大致就是个猜动物游戏,选择的动物序号md5加密就是flag。
可以发现需要选择9次
每次选6个也就是6^9的选择次数,那么我们查看之后发现只有一千多万次,可以直接使用pwntools进行一个爆破来解决问题,但是这里介绍的方法就是直接分析题目程序有反调试
分析程序之后可以发现程序是将你选择的动物全称进行一个变异的md5加密去比较的
看到一个比较处,我们查看比较内容

可以发现是一串md5数字

我们分析函数可以查找到该函数

该函数对变异md5后的值进行了一个处理
然后看到md5函数

发现md5函数的编码表被替换了,1,2交换3,4交换因此我们可以自己实现脚本来进行一个md5爆破了得到选择的动物,然后找到他们的编码为051410233
md5加密后即为flagstart_add = 0x400800

---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-288884.htm

暂无回复,快来抢沙发吧!

请登录后参与讨论

立即登录 注册账号