ChatGPT сказал:
Чтобы найти начало и конец PNG-файла в HEX-редакторе, нужно ориентироваться на магические сигнатуры, то есть уникальные последовательности байтов, которые обозначают начало и конец файла. Вот что нужно искать:
🔹 Начало PNG-файла (signature / header):
HEX-значение:
mathematica89 50 4E 47 0D 0A 1A 0A
ASCII-представление:
‰PNG\r\n\x1A\n
Это фиксированная сигнатура, по которой всегда начинается PNG-файл.
🔹 Конец PNG-файла:
Файл PNG заканчивается IEND-чанком. Он всегда выглядит так:
HEX-значение:
mathematica00 00 00 00 49 45 4E 44 AE 42 60 82
-
00 00 00 00— длина данных чанка (0) -
49 45 4E 44— ASCII:IEND(тип чанка) -
AE 42 60 82— CRC (контрольная сумма), всегда такая для пустогоIENDчанка
✅ Как использовать в HEX-редакторе:
-
Открой PNG-файл в HEX-редакторе.
-
Найдите начало по сигнатуре:
mathematica89 50 4E 47 0D 0A 1A 0AОбычно это первые 8 байтов.
-
Прокрутите вниз (или используйте поиск) и найдите:
mathematica00 00 00 00 49 45 4E 44 AE 42 60 82Это и будет конец PNG-файла.
Если нужно вырезать PNG из бинарного файла:
-
Начинайте выделение с байта
89. -
Заканчивайте на байте
82в сигнатуреIEND.
Хочешь — помогу с автоматизацией поиска, если нужно делать это массово или программно (например, на Python).