动态调试_

动态调试练习

题目来源:xctf的gametime

分析流程:

先运行程序,发现是一个游戏,按照要求分别按空格、x、m键,挺考验手速的

最后可以玩出来flag,但是出现flag的画面一闪而过,来不及截屏

所以我就录屏

开玩笑,要用逆向的方法解出来才行

载入od

载入od中,f9到程序输出

在这里插入图片描述

的地方,定位输出s和失败的函数,下断点

重新载入程序,f7 进入函数查看,

在这里插入图片描述

调试到这里时发现:若在该处不进行跳转则程序会跑到输出失败的函数,所以在这里将jne改为jmp

重新运行(记得再修改一下,重新运行会丢失修改效果,可能可以设置为不丢失,但我不会)

发现果然没有失败的提示了

但是运行到游戏的第二部分时,又会有失败提示

推断应该和刚才的情况一样

于是再追踪到输出错误的地方f7进入

调试到和刚才一样不跳转就输出错误的地方

在这里插入图片描述

jne改为jmp

再次运行即可得到正确flag

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zsc_02

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值