文件Hex逆轉(zhuǎn)
import binascii
from PIL import Image
import pytesseract
a = open("文件路徑","rb+")#使用open函數(shù)以二進(jìn)制形式打開文件
a = a.read()#read函數(shù)讀取文件
hex = binascii.b2a_hex(a)#使用模塊binascii把二進(jìn)制文件轉(zhuǎn)為十六進(jìn)制
c = hex[::-1]#[::-1]把內(nèi)容從后往前讀取,也就是把文件倒過來讀如:正序:123,那么[::-1]讀取的內(nèi)容就是:321
with open("flag.jpg","wb+") as d:#open("flag.jpg","wb+")以二進(jìn)制的格式創(chuàng)建一個(gè)圖片再使用weith as賦值給d
? ? d.write(binascii.a2b_hex(c))#用wirte()函數(shù),再binascii模塊把函數(shù)c的內(nèi)以十六記住文件轉(zhuǎn)為二進(jìn)制的格式寫入到函數(shù)d,保存為flag.jpg
? ? print("已保存到當(dāng)前文件夾")#這時(shí)候去文件夾看flag是翻轉(zhuǎn)的,于是順著這個(gè)編寫
image = Image.open("flag.jpg")#打開flag.jpg文件
image = image.transpose(Image.FLIP_LEFT_RIGHT)#使用參數(shù)transpose水平翻轉(zhuǎn)圖片
image.save("flag.jpg","PNG")#把文件夾內(nèi)的圖片,替換為已經(jīng)翻轉(zhuǎn)好的圖片
print("替換為水平翻翻轉(zhuǎn)的圖片")
#做一個(gè)圖片的文字識(shí)別,得到flag
read = Image.open("flag.jpg")#打開圖片
text = pytesseract.image_to_string(read)#使用模塊pytesseract圖片文字識(shí)別
print("flag為:\n",text)#得到flag