ISCC-Amy‘s Code CTF-Reverse

先查壳

32位,无壳,拖入ida

按shifit+f12找字符串

发现可疑字符串,点进去,按ctrl+x交叉引用

在按f5反汇编

source为我们输入的,被赋值给了destination

并且对destination进行了sub_4115FF操作,最后如果destination满足sub_411433则正确

点击sub_4115FF,发现是重叠函数,继续点进sub_4128A0函数

发现是对每一位进行异或

点击sub_411433函数,发现也是重叠函数,继续点进去

v9是一串数字,v6是字符串,v4=v6+str(也就是输入的)

最后如果v4=v9,就成功

编写代码

v9=[149,169,137,134,212,188,177,184,177,197,192,179,153,167,186,172,164,174,103,184,0,0,0,0,0,0,0,0,0,0]
v6="LWHFUENGDJGEFHYDHIGJ"
for c in range(len(v6)):
    for i in range(127):
        i1=i
        i1^=c
        v4 = i1 + ord(v6[c])
        if v4 == v9[c]:
            print(chr(i), end="")

得到结果ISCC{reverse_RogLt2}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值