首页 > 其他分享 >文件逆序2

文件逆序2

时间:2023-08-26 13:34:40浏览次数:113  
标签:文件 image binascii jpg flag 图片 open 逆序

场景:图片的十六进制编码顺序与期望相反,需要进行逆序

原十六进制:87 35 3B

逆序后:B3 53 78

import binascii
from PIL import Image
import pytesseract

a = open("文件路径","rb+")#使用open函数以二进制形式打开文件
a = a.read()#read函数读取文件
hex = binascii.b2a_hex(a)#使用模块binascii把二进制文件转为十六进制
c = hex[::-1]#[::-1]把内容从后往前读取,也就是把文件倒过来读如:正序:123,那么[::-1]读取的内容就是:321
with open("flag.jpg","wb+") as d:#open("flag.jpg","wb+")以二进制的格式创建一个图片再使用weith as赋值给d
    d.write(binascii.a2b_hex(c))#用wirte()函数,再binascii模块把函数c的内以十六记住文件转为二进制的格式写入到函数d,保存为flag.jpg
    print("已保存到当前文件夹")#这时候去文件夹看flag是翻转的,于是顺着这个编写
image = Image.open("flag.jpg")#打开flag.jpg文件
image = image.transpose(Image.FLIP_LEFT_RIGHT)#使用参数transpose水平翻转图片
image.save("flag.jpg","PNG")#把文件夹内的图片,替换为已经翻转好的图片
print("替换为水平翻翻转的图片")
#做一个图片的文字识别,得到flag
read = Image.open("flag.jpg")#打开图片
text = pytesseract.image_to_string(read)#使用模块pytesseract图片文字识别
print("flag为:\n",text)#得到flag

 

标签:文件,image,binascii,jpg,flag,图片,open,逆序
From: https://www.cnblogs.com/willingyut/p/17658702.html

相关文章

  • 改造版:moviepy使用ffmpeg按照长度分割mp4,根据源文件命名,及时关闭文件避免异常
    importos#导入os模块,用于处理文件和目录操作importsubprocess#导入subprocess模块,用于在新的进程中执行子程序importtime#导入time模块,用于处理时间相关操作importrandomfrommoviepy.editorimportVideoFileClip#从moviepy.editor模块导入VideoFileCl......
  • Python __init__.py—将文件夹设置成Python模块
    介绍包的标识符:__init__.py用于指示Python解释器将包含它的目录标识为一个模块包(modulepackage),所以它可以是一个空文件。但通常会包含一些关于包的元信息,比如包的版本号或作者信息。这些信息可以通过在__init__.py中定义变量来存储,并在包的其他模块中使用。导入模块和变量:......
  • java-文件复制练习
    packagecom.example.ss_0203_array.test.test_0826;importjava.io.*;publicclasstest2{publicstaticvoidmain(String[]args)throwsIOException{Filesrc=newFile("F:\\阿里云盘下载\\B站黑马java基础\\day10_字符串\\代码\\mystring");......
  • Python使用jieba分词输出txt文件
    1、准备好一个原始的txt文件2、在Pycharm里面下载jieba包3、将txt文件放到项目里面hlm.txt为原始文件;result.txt为存放结果的文件;4、分词代码importjiebaarticle=open('hlm.txt','r',encoding='UTF-8')sent=article.read()sent_list=jieba.cut(sent)resu......
  • 大屏读取本地文件-js读取csv文件之FileReader
    <script>functionreadCsv(){constfile=document.getElementById('uploadFile').files[0];if(file.type!="text/csv"){alert("文件类型错误");return;}varreader=newFileReade......
  • 文件日期 修改时间
    日期字符串转日期pd.to_datetime判断字符串是否是日期字符串defcanbe_date(x:str="0"):if(type(x)!=str)orx=="":#if(xin[None,"",pd.NaT])or(type(x)!=str)returnFalsetry:pd.to_datetime(x,format="%Y-%m-%d......
  • # yyds干货盘点 # 盘点一个dataframe读取csv文件失败的问题
    大家好,我是皮皮。一、前言前几天在Python钻石群【心田有垢生荒草】问了一个Pandas数据处理的问题,一起来看看吧。大佬们求教个方法 现在有个数据量很大的dataframe 要吐csv格式 但结果总是串行 加了encoding='utf-8'还是没解决 还有其他方法么?下图是他提供的图片:二、实现......
  • 第四章文件管理
    0.初识文件管理一个文件有哪些属性?文件名:由创建文件的用户决定文件名,主要是为了方便用户找到文件,同一目录下不允许有重名文件。标识符:一个系统内的各文件标识符唯一,对用户来说毫无可读性,因此标识符只是操作系统用于区分各个文件的一种内部名称。类型:指明文件的类型位置......
  • git_使用git worktree命令使不同分支的代码文件可以同步运行
    情景再现:我本地代码正在开发后台系统的过程中,前台开发的同事时不时地会来找我要IP地址,使用正在开发的后台管理系统来进行一些数据的增删改查.这个时候直接提供正在开发的版本的开发服务器地址是不行的,因为随着代码的编写时不时的报个bug是家常便饭,对于使用者来说非常......
  • .NetCore WebAPI 导入、导出Excel文件 导入
    先下载一个NuGet包 在接口写方法//导入[HttpPost][Route("Import")]publicIActionResultImportExcel()//IFormFileformFile{try{varformFile=HttpContext.Request.Form.Files[0];//......