Buuctf xor 解题记录

1.下载解压之后发现是个xor文件,没见过,不过我还是选择查壳

Buuctf xor 解题记录_第1张图片

2.嗯。。。啥都没查到,但是看到是64bit,那就直接ida64bit打开喽

Buuctf xor 解题记录_第2张图片

3.发现有main函数,先看看主函数,f5查看伪代码

Buuctf xor 解题记录_第3张图片

4.大概读了一下代码,发现还需要找一下global,双击寻找一下,然后就发现了

global的内容

Buuctf xor 解题记录_第4张图片

5.将global的数据导出,shift+e

Buuctf xor 解题记录_第5张图片

6.主函数中的代码意思是将输入的33个字符串分别和前一个异或后和global的前0x21个字符对比,因此我们直接编写脚本

a=[

  0x66, 0x0A, 0x6B, 0x0C, 0x77, 0x26, 0x4F, 0x2E, 0x40, 0x11,

  0x78, 0x0D, 0x5A, 0x3B, 0x55, 0x11, 0x70, 0x19, 0x46, 0x1F,

  0x76, 0x22, 0x4D, 0x23, 0x44, 0x0E, 0x67, 0x06, 0x68, 0x0F,

  0x47, 0x32, 0x4F, 0x00

]

flag=chr(a[0])

i=1

while True :

    if i

        flag+=chr(a[i]^a[i-1])

        i+=1

    else:

        break

print(flag)

7.得到flag

Buuctf xor 解题记录_第6张图片

你可能感兴趣的:(buuctf解题记录,c语言,python,电脑,汇编,网络安全,安全)