2022-SWPUCTFandroid2(反射+xor)

二木 王者

2022-SWPUCTFandroid2(反射+xor)

这道题主要有个很bug的地方,因为我平常习惯使用c来写一些简单的解密,这里就出现坑了,因为java中使用的编码的unicode编码,而我们的c语言使用的是ascii码,因此直接声明char类型数组是解不出来我们的数据的.

Untitled

这里为了避免麻烦,我们直接使用py来写脚本,python使用的是也是unicode编码,因此我直接写进去解我们的数据即可,都不需要转换

这里还有一个坑,就是

我们在这里可以发现这里出现了我们的key,但是,是解不出来我们的数据的

Untitled

这里会调用反射,使用反射将我们的key修改了,因此我们在写脚本的时候,需要将这个值改一手

Untitled

脚本

1
2
3
4
5
6
7
enc="棿棢棢棲棥棷棊棐棁棚棨棨棵棢棌"
print(hex(ord(enc[0])))
key=0x3ADE68B1
flag=""
for i in range(len(enc)):
flag+=(chr(ord(enc[i])^key & 0xFFFF))
print(flag)

得到flag

NSSCTF{apkYYDS}

 评论