题解
用ida进行反编译
看到解析出来的伪代码,我当时是眼一黑
忍着看了
程序主要是通过一个标识来控制流程(头大)
找了几个键点
一个是-18,一个是与下标异或
真不想看了
于是我就把这两种运算结合起来,猜出了解密脚本(注意数据提取时是8个字节的小端序)
脚本
d=[0x65,0x58,0x41,0x8e,0x50,0x44,0x7b,0x62,0x57,0x4a,0x7e,0x54,0x49,0x6c,0x7d,0x84,0x4f,0x5b,0x95,0x60,0x60,0x64,0x77,0x48,0x7d,0x4d,0x7b,0x9f,0x68,0x3c,0x2d,0x62]
for i in range(len(d)):
if i%3==0:
d[i]=(d[i]^i)-18
else:
d[i]=d[i]^i
for i in d:
print(chr(i),end='')
SYC{TAke_1t_3asy_Just_a_STart!!}
结语
这题就这样了,我爆破都不敢这么写循环
(本人是菜鸟,想找对CTF感兴趣的CTFer,一起交流学习,共同进步,迈向星辰大海!!!!^_^(有兴趣的加扣群:470196890))