2016-CSAW-CTF-Key

本文详细记录了一次逆向工程实践,解析了一个虚拟机主题的CTF挑战题目。通过分析虚拟机指令处理流程,发现程序与外部文件flag.txt的交互方式,并成功找到验证字符串。文章分享了逆向过程中的技巧,特别是F7跟进观察cmp指令的使用经验。

前言

今天也是做了两题,但是做的第一题实在是没有什么收获,就不记录了。2019的DDCTF做了前两题windows的逆向,后面就全不会了。今天拿到一个第三题的WP,仔细看了一下,是个虚拟机的题目,虚拟机的指令处理跟之前遇到的十分相似,但是是Objectv-C写的,还没有动态调试的条件。查了许多都是要Mac下Xcode自带的lldb来调试…我也不确定。先搁置了,记录下这道题。也算是有意思

分析

拿到题目拖到IDA里可以正常打开,说明没壳。先用OD跑一下看看。发现直接显示

我都没输入什么东西就直接结束程序,显示如图字符串。惊了…难道没有交互吗。在IDA里 shift+F12查看字符串。

发现这里有一个flag.txt文件,交叉引用到该函数

发现这里会有一个文件打开,尝试在该路径下创建一个flag.txt,里面任意放一些数据"111111",再次运行,没有whathappend字符了,出现了wronkey字样。说明交互就是该txt文件了。
在这里插入图片描述
跟进main函数

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值