标签:图片 技术分享 存储 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