是否可以使用十六进制编辑器修复 .png 文件?

akg*_*nfu 5 format file-extension png hex digital-signature

我从 Android 游戏的 asset 文件夹中获得了一堆.png文件。我从 .obb 文件中派生了所有资源。可以打开所有其他文件。但这些 .png 文件似乎都无法打开。我尝试了很多相关的程序;Illustrator、Photoshop、GIMP、Paint 和一些在线文件查看器。但他们谁也做不到。


然后我检查了文件的十六进制代码,发现这些文件不是以通常的 png 标头开头,即

89 50 4E 47 0D 0A 1A 0A
Run Code Online (Sandbox Code Playgroud)但一切都
49 45 4E 44 AE 42 60 82
Run Code Online (Sandbox Code Playgroud)属于png格式。

在这里检查 .PNG 签名

所以我尝试将 png 标头添加到文件中,然后保存它们。我不知道它是否会起作用,只是尝试过。我仍然无法打开这些文件。


那么有没有办法将这些文件作为图像打开,或者它们只是某种格式为 .png 的数据而不是用作图像?

如果是要添加十六进制头,我该怎么做?



十六进制代码的第一页

谢谢。

Gle*_*son 2

十六进制代码显示大约 500 字节的垃圾,后跟有效的 PNG tRNS 块。显然有些东西覆盖了 PNG 文件的开头。创建适当的 IHDR、PLTE 以及可能缺少的其他块是可能的,但需要做很多工作。您的文件中不包含执行此操作所需的信息,因此您需要在其他地方或通过试验找到该信息。

它具有 64 字节 tRNS 块的事实告诉您 PNG 颜色类型必须为 3(索引)并且位深度必须为 8,并且表明仅存在 64 种不同的颜色。调色板内容是任何人都可以猜测的,因此您可以放入一个简单的 64 项灰度调色板;这将使图像可见,但没有正确的颜色。