逆向源码(IDA)
用ida直接打开exe,观察到一下函数,字符串长度是16位,本质就是流密码,流密码就是动调获取密钥流的思路,当然也可以爆破流密码但是我觉得麻烦
伪RC4的流密码
动态调试对a2
输入1*16 的密文
主要内存一开始记录的是地址
写逆代码
t = [ord('1')] * 16
tm = [0xFC,0x24,0x23,0xF7,0x27,0xF2,0x31,0x13,0x13,0x15,0xF,0xA,0x29,0x1F,0x15,0x28]
m = [0x2E, 0x67, 0x58, 0x29, 0x65, 0x25, 0x65, 0x46,0x14, 0x14, 0x0F, 0x12, 0x28, 0x24, 0x15, 0x2D]
k = [(t[i] - tm[i]) & 0x3F for i in range(16)]
plaintext = ''.join(chr((m[i] + k[i]) & 0xFF) for i in range(16))
print(plaintext)
#输入出ctfcoded20190616
版权声明:如无特殊说明,文章均为本站原创,转载请注明出处
本文链接:http://www.secsnow.cn/blog/subject/article/crackme-wp/
许可协议:署名-非商业性使用 4.0 国际许可协议