Catalog · How the catalog works
DataFrog_Zfc_Zmd
- ★ 6 on GitHub
Anyone may press Interesting, signed in or not. It helps others find this project.
README
DataFrog_Zfc_Zmd
Сборщик ZFC и ZMD файлов для консоли Data Frog.
Структура формата ZFC и ZMD:
Формат ZFC и ZMD это файл состоящий из 2х частей.
1 часть это превьюшка в формате raw, размерами 144х208, ориентация вертикальная.
Блок 0-119807 получается 119808 байт превьюшка.
Каждый пиксель состоит их 4х байтов, цвета расположены в таком порядке BGRA. Альфа канал (A) всегда 0хFF.
Чтобы получить превьюшку в формате RGB надо поменять в BGRA 2 байта B и R местами.
2 часть это ZIP (PKZip) архив, но немного модифицированный.
У этого архива изменены точки входа. Чтобы их восстановить надо поменять следующие байты на нормальные.
Находим 57 51 57 03 -> Меняем 50 4B 03 04 file header
Находим 57 51 57 02 -> Меняем 50 4B 01 02 central directory file header
Находим 57 51 57 01 -> Меняем 50 4B 05 06 End of central directory record
После восстановления архива, надо расшифровать имя файла, которое находится в архиве.
Его зашифровали функцией XOR с ключем E5.
Имя в архиве встречается 2 раза.
Первый раз имя встречается (это первая буква имени) с 119838 и длина его записана в блоке 119834-119835 (2 байта или word).
Второй раз имя встречается в конце central directory file header и длина его все так же в блоке 119834-119835 (2 байта или word).
3 часть не совсем часть то все же, это как отображается имя игры в консоле.
Тут все просто оно берется из названия файла ZFC или ZMD.
Литература для понимания формата:
Структура PKZip файла
https://users.cs.jmu.edu/buchhofp/forensics/formats/pkzip.html
XOR шифр

