XCTF-gametime

XCTF-gametime

1、无壳,ida打开f5看伪代码

发现有很多判断,判断输入是否是他的要求,运行exe也确实需要很多判断,如果判断不通过,则直接退出程序,所以需要让判断函数sub_401507和sub_401435函数返回为真,跟进后发现这俩函数的真假都由sub_401260这个函数决定,这样只需让401260为真即可,问题规模缩小了
sub_401260函数
在这里插入图片描述
查看401260函数的汇编

在这里插入图片描述
在对eax中存入的值与-1进行比较和edi中的值进行比较,如果不相等就跳转到Loc_4012AD去,而这个函数中的xor al al操作,将eax赋值为0,之后就return 0 这显然是不想得到的结果,而如果把这两个跳转nop掉,那么之后会进入mov al 1 将eax值赋为1并且直接jmp到return处,这样我们的目的就达到了。

理清思路后上,OD。
在这里插入图片描述
定位到sub_401260函数,可以通过中文搜索引擎找到。
在这里插入图片描述
之后下断点,f9运行,进行简单输入,单步步入到比较和跳转处。

在这里插入图片描述nop掉两个跳转之后一直F9运行程序,可能也有些小输入,等待即可出现key即flag

key is (no5c30416d6cf52638460377995c6a8cf5)


完结线:re弟弟的做题笔记,有时可能会带点稀奇古怪的思路,如有问题还望师傅们指正,专栏内容会随着比赛记录而不断更新哦。爬~

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值