加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

2018/11/25-nctf-Our 16 bit wars

发布时间:2020-12-14 04:29:44 所属栏目:大数据 来源:网络整理
导读:题目链接:https://pan.baidu.com/s/1t_I5rpynQhPPtFH7eDxAqg 提取码:7oj0 拖进IDA里进行反汇编,程序逻辑比较简单。 我们点进sub_100F9函数看看怎么对输入进行处理的。 可以发现是对每个字符的,右移3位的值与左移五位的值,进行异或。 然后是对处理后的输

题目链接:https://pan.baidu.com/s/1t_I5rpynQhPPtFH7eDxAqg
提取码:7oj0

拖进IDA里进行反汇编,程序逻辑比较简单。

我们点进sub_100F9函数看看怎么对输入进行处理的。

可以发现是对每个字符的,右移3位的值与左移五位的值,进行异或。

然后是对处理后的输入与固定字符串进行比较。

比较的值存储在内存中0x76地址开始处。

写出脚本运行即可得到flag。

s=bytes.fromhex("C9688AC86F07060F07C6EB866E6E66AD4C8DACEB266EEBCCAECD8C86AD66CD8E868DAF")
for i in range(len(s)):
    a = (s[i] << 3)&0xff
    b = (s[i] >> 5)&0xff
    c = a ^ b
    print(chr(c),end = ‘‘)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读