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

Posted fingerprint

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2018/11/25-nctf-Our 16 bit wars相关的知识,希望对你有一定的参考价值。

题目链接: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 = ‘‘)

 




以上是关于2018/11/25-nctf-Our 16 bit wars的主要内容,如果未能解决你的问题,请参考以下文章