新人的reverse学习(3) [GXYCTF2019]luck_guy——WriteUp

7 篇文章 0 订阅
7 篇文章 0 订阅
本文是一位逆向新手分享的[GXYCTF2019]luck_guy挑战的WriteUp。通过使用exeinfo确定文件类型,Kali Linux运行程序,IDA分析字符串和函数,尤其是patch_me函数,发现get_flag()可能是关键。作者推测问题涉及伪随机数生成,并通过分析case条件,成功解决问题。
摘要由CSDN通过智能技术生成

https://buuoj.cn/challenges#[GXYCTF2019]luck_guy

逆向新手,刚开始学些写WP,废话较多,还请各位多多包含

1.先查壳 拖到exeinfo里 看出来这是一个ELF文件,所以先拖到Kali里面去看看

在这里插入图片描述

2.打开Kali运行一下程序,我们能看到这样一段程序
在这里插入图片描述

3.所以我们接下来直接用IDA打开,SHITFT+F12打开字符串界面。能看到有一些可以的字符串,直接点进去,然后去找他的交叉引用
在这里插入图片描述

4.由此可知,我们可能需要去分析patch_me函数
5.f5查看伪代码,发现有一个get_flag()函数,这可能就是我们flag的所在
在这里插入图片描述

6.这个函数中,我们首先能看到有V1和V2用到了srand()和rand()
而且在Switch的判断条件中,与v1有关系,所以我猜测,本题是一个伪随机,看看case里面的东西就行。
在这里插入图片描述

然后猜一猜,觉着应该是case4->case5->case1这样,接下来就是写脚本了
在这里插入图片描述

  1. 最后ok了
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值