JuseRe

点击此处获得更好的阅读体验


解题思路

校验分为两部分。

第一部分校验

校验10字节,校验手段是代码数据正确解码。直接枚举一个字节即可。代码如下:

1
2
3
4
for i in range(100):
b = i*0x1010101
if Dword(0x404148)^((Dword(0x405018)+b)&0xffffffff) == Dword(0x404148+4)^((Dword(0x405018+4)+b)&0xffffffff)-1:
print hex(i),hex( Dword(0x404148)^((Dword(0x405018)+b)&0xffffffff))

1
2
0x10 0x13242298
part1:1324229810

第二部分校验

16字节,校验手段是3des加密,ede模式。直接动态,修改下代码反解。 校验数据:507CA9E68709CEFA20D50DCF90BB976C9090F6B07BA6A4E8密钥:AFSAFCEDYCXCXACNDFKDCQXC解得的输入:0dcc509a6f75849b

Flag

1
flag{13242298100dcc509a6f75849b}