全球主机交流论坛

标题: [全球开发论坛] python如何批量修改文件头信息 [打印本页]

作者: 深海空间    时间: 2022-8-24 15:25
标题: [全球开发论坛] python如何批量修改文件头信息
最近学习逆向的时候爬到了一个把ts切片文件伪装成图片的, 不是改个后缀这么简单, 他把文件头也改成png, 我用winhex删掉这个文件头信息才可以正常播放, 不处理直接改后缀打开的话是只能看到一个1x1像素的图片, 这种用python的话应该怎么删除文件头?




文件链接: https://ali-uget.static.yximgs.com/bs2/courseHead/8652844315705801779
作者: 惜为伊人醉    时间: 2022-8-24 15:28
二进制写入,文件头加上二进制的数据
作者: 深海空间    时间: 2022-8-24 15:41
惜为伊人醉 发表于 2022-8-24 15:28
二进制写入,文件头加上二进制的数据

按照我的理解的话,不是应该要把混淆进去的PNG头删掉吗? 主要是不知道咋操作, Google也找不到相关教程, 直接二进制打开之后不知道应该往里边写进去什么
作者: siyi    时间: 2022-8-24 15:46
本帖最后由 siyi 于 2022-8-24 15:51 编辑

1. 直接把ts地址写入m3u8文件,大部分播放器可以直接在线播放。(本地打开m3u8不行,只能在线读取,原因我不懂)

2. 二进制读取,去除开头指定字节数。

另外,写入文件头的方法:


比如某位MJJ视频里的这个文件:


作者: 深海空间    时间: 2022-8-24 22:04
siyi 发表于 2022-8-24 15:46
1. 直接把ts地址写入m3u8文件,大部分播放器可以直接在线播放。(本地打开m3u8不行,只能在线读取,原因我 ...

这图只要删掉G@前面的就可以正常播放, 这个我在windows可以操作, 但是python的话请问怎么修改呢? 完全没头绪...


作者: teardrops    时间: 2022-8-24 22:22
本帖最后由 teardrops 于 2022-8-25 11:19 编辑
#coding:utf-8
import os
with open("r:\\inc.png","rb") as mjj:
  data=mjj.read()
mjj.close()

with open("r:\\inc.ts","wb+") as mjj:
  mjj.write(data[120:])
mjj.close()

os.system("r:\\inc.ts")





作者: zlsdzh001    时间: 2022-8-25 09:20
这是啥网站的视频




欢迎光临 全球主机交流论坛 (https://443502.xyz/) Powered by Discuz! X3.4