天天看点

【XCTF 攻防世界】MISC 杂项 高手进阶区 Reverse-it

题目链接:https://adworld.xctf.org.cn/task/answer?type=misc&number=1&grade=1&id=4949&page=1

下载附件得的一个空白文件

用file命令查看是什么文件

但是什么也没得到

【XCTF 攻防世界】MISC 杂项 高手进阶区 Reverse-it

使用foremost也没有分离出来

那么用010editor看了看

发现端倪

文件头:

文件头的部分是9D FF,反过来就是FFD9,是jpg的文件头

【XCTF 攻防世界】MISC 杂项 高手进阶区 Reverse-it

文件尾:

从后往前看是FF D8 FF,正好也是jpg的文件头

【XCTF 攻防世界】MISC 杂项 高手进阶区 Reverse-it

找到了反转脚本:

import sys
def int_bytes(in_int):
	MB=[]
	MB.append(in_int)
	return bytes(MB)
BB=''
fo=open(r'Reverseit','rb')
BB=fo.read()
fo.close()
fw=open(r'it.jpg','wb')
for i in range(len(BB)):
	CC=BB[len(BB)-i-1]
	DD=int(CC/16)+int(CC%16)*16
	fw.write(int_bytes(DD))
           

或者直接用切片的方式

a='...'
s=a[::-1]
print(s)
           

得到:

然后进行镜像即可

【XCTF 攻防世界】MISC 杂项 高手进阶区 Reverse-it

或者直接使用命令行操作:

xxd -p Reverseit | tr -d '\n' | rev | xxd -r -p > reversed   //功能相当于第一个脚本,把文件内容进行反转,得到的图片也一样。Reverseit是文件名 可以自己改

convert -flop reversed reversed.jpg     //功能:对图片进行镜像反转