码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2018-11-25 14:32:44      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:图片   技术分享   存储   bit   alt   输入   print   技术   int   

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

标签:图片   技术分享   存储   bit   alt   输入   print   技术   int   

原文地址:https://www.cnblogs.com/Fingerprint/p/10015304.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!