欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-25 08:14:00
...

题目链接: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     //功能:对图片进行镜像反转
相关标签: CTF刷题 杂项