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

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

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

用file命令查看是什么文件

但是什么也没得到

在这里插入图片描述
使用foremost也没有分离出来

那么用010editor看了看
发现端倪

文件头:
文件头的部分是9D FF,反过来就是FFD9,是jpg的文件头
在这里插入图片描述
文件尾:

从后往前看是FF D8 FF,正好也是jpg的文件头
在这里插入图片描述
找到了反转脚本:

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)

得到:
然后进行镜像即可
在这里插入图片描述
或者直接使用命令行操作:

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

convert -flop reversed reversed.jpg     //功能:对图片进行镜像反转
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值