specialsafeway
Не хотел создавать новую тему - просто есть один вопрос.
Решил сделать свой первый перевод, и как это бывает с новичками, застрял в самом начале.
В качестве испытуемой, выбрал игру Папирус на геймбое. Нашел алфавит, сделал таблицу (20=_,21=!,...,41=A,42=B,...), нашел текст и...... походу он как-то сжат (LZ-77?). Также, при после перерисовки тайла, игра не грузится из-за проблем с чексуммой.
Вопрос: можно ли решить проблему, или можно ставить крест на переводе этой игры?
Ром - Papyrus (E) (M6) [C][!].gbc
Текст вступления:
BANISHED BY PHARAOH MERENRE,...
AKER, HIGH PRIEST OF SETH, HAS STARTED TO SEEK HIS REVENGE.
THE PHARAOH WAS POISONED...
AND HIS DAUGHTER, THETI, WAS KIDNAPPED.
THE ENTIRE COUNTRY IS FACED WITH DISASTER.
THE GODS WILL NOT ALLOW SETH...
TO AVE HIS REVENGE.
THEY HAVE ALREADY CHOSEN THE ONE...
WHO MUST SAVE EGYPT.
Названия уровней
1-THE FORBIDDEN FOREST
2-THE TEMPLE OF OBLIVION
3-THE BURNING CAVE
и т.д.
есть еще мелкий текст и графика
1. specialsafeway - 25 Февраля, 2016 - 06:14:36 - перейти к сообщению
2. Guyver - 25 Февраля, 2016 - 06:14:56 - перейти к сообщению
Guyver
С чексуммой не проблема - её можно исправить в конце, когда игра будет переведена, да и в эмулях можно отключить проверку чексуммы.
На сжатие не похоже, просто оптимизация небольшая. Такое бывает, можно перевести, главное закономерность выявить.
Например, "N" в конце строки будет иметь код = 32, а в середине слова = 52 и т.д. Т.е. у одной буквы может быть два-три значения. Похоже, тут что-то подобное... Не знаю, надо изменять что-то и смотреть что получается...
С чексуммой не проблема - её можно исправить в конце, когда игра будет переведена, да и в эмулях можно отключить проверку чексуммы.
На сжатие не похоже, просто оптимизация небольшая. Такое бывает, можно перевести, главное закономерность выявить.
Например, "N" в конце строки будет иметь код = 32, а в середине слова = 52 и т.д. Т.е. у одной буквы может быть два-три значения. Похоже, тут что-то подобное... Не знаю, надо изменять что-то и смотреть что получается...
3. Mefistotel - 25 Февраля, 2016 - 06:15:08 - перейти к сообщению
Mefistotel
specialsafeway, вот зря ты отдельную тему не создал.
Алекс сможет помочь разобраться с этой оптимизацией. Здесь програмка нужна.
specialsafeway, вот зря ты отдельную тему не создал.
Алекс сможет помочь разобраться с этой оптимизацией. Здесь програмка нужна.
4. alex_231 - 25 Февраля, 2016 - 06:15:21 - перейти к сообщению
alex_231
Ок, вечером краем глаза гляну, что там можно сделать.
Ок, вечером краем глаза гляну, что там можно сделать.
5. alex_231 - 25 Февраля, 2016 - 06:15:35 - перейти к сообщению
alex_231
Что-то мне совсем не нравятся те первые три буквы... "RNC", когда в последний раз я их видел, мне пришлось доооолго дебажить игру и выискивать код распаковщика.
Сейчас дамп памяти посмотрю и будет ясно с чем мы имеем дело.
Что-то мне совсем не нравятся те первые три буквы... "RNC", когда в последний раз я их видел, мне пришлось доооолго дебажить игру и выискивать код распаковщика.
Сейчас дамп памяти посмотрю и будет ясно с чем мы имеем дело.
6. alex_231 - 25 Февраля, 2016 - 06:15:51 - перейти к сообщению
alex_231
Хм, нам сказочно повезло, программа распаковки/запаковки давным-давно написана (писалась она правда для Фантома, но здесь её использовать нам никто не запретит ).
Теперь только нужно её немного довести до ума (прикрутить обработку поинтеров, поправить интерфейс и т.п.) и можно будет работать.
Хм, нам сказочно повезло, программа распаковки/запаковки давным-давно написана (писалась она правда для Фантома, но здесь её использовать нам никто не запретит ).
Теперь только нужно её немного довести до ума (прикрутить обработку поинтеров, поправить интерфейс и т.п.) и можно будет работать.
7. specialsafeway - 25 Февраля, 2016 - 06:16:04 - перейти к сообщению
specialsafeway
Guyver, alex_231, спасибо.
Буду искать закономерность.
А где достать программу распаковки/запаковки или подождать перевода Фантома?
Guyver, alex_231, спасибо.
Буду искать закономерность.
А где достать программу распаковки/запаковки или подождать перевода Фантома?
8. alex_231 - 25 Февраля, 2016 - 06:16:31 - перейти к сообщению
alex_231
Программу нужно брать у меня, но она ещё не готова до конца - это раз.
В закономерности можно не разбираться, так как все тексты пожаты одним алгоритмом и программа сможет всё вынуть (нужно только в поинтерах разобраться) - это два.
Ну и, собственно программой я займусь в праздники, если ничего более срочного не нарисуется, - это три.
Программу нужно брать у меня, но она ещё не готова до конца - это раз.
В закономерности можно не разбираться, так как все тексты пожаты одним алгоритмом и программа сможет всё вынуть (нужно только в поинтерах разобраться) - это два.
Ну и, собственно программой я займусь в праздники, если ничего более срочного не нарисуется, - это три.
9. specialsafeway - 25 Февраля, 2016 - 06:17:03 - перейти к сообщению
specialsafeway
alex_231, спасибо, буду ждать.
Насчет графики. Пролистал всю карту тайлов, и нашел только динамическую графику - "press start" и "pause". Перерисовал, без проблем. А вот статическую графику никак не могу найти. Решил поэкспериментировать и перерисовать подозрительные тайлы, но безрезультатно.
И у меня возник вопрос: каким способом вы ищете графику и изменяете ее?
alex_231, спасибо, буду ждать.
Насчет графики. Пролистал всю карту тайлов, и нашел только динамическую графику - "press start" и "pause". Перерисовал, без проблем. А вот статическую графику никак не могу найти. Решил поэкспериментировать и перерисовать подозрительные тайлы, но безрезультатно.
И у меня возник вопрос: каким способом вы ищете графику и изменяете ее?
10. Марат - 25 Февраля, 2016 - 06:17:28 - перейти к сообщению
Марат
Возможно, она просто запакована.
Возможно, она просто запакована.
11. alex_231 - 25 Февраля, 2016 - 06:17:54 - перейти к сообщению
alex_231
Она запакована, я пока не смотрел как, но, очень может быть, что тоже чем нибудь вроде того, что в Фантоме используется (те же... первые три буквы... "RNC".
Она запакована, я пока не смотрел как, но, очень может быть, что тоже чем нибудь вроде того, что в Фантоме используется (те же... первые три буквы... "RNC".
12. Марат - 25 Февраля, 2016 - 06:18:14 - перейти к сообщению
Марат
Ну тогда это не страшно. В сети же есть кодер к нему.
Ну тогда это не страшно. В сети же есть кодер к нему.
13. Mefistotel - 25 Февраля, 2016 - 06:18:41 - перейти к сообщению
14. Марат - 25 Февраля, 2016 - 06:19:11 - перейти к сообщению
Марат
Там ещё gameboy, snes, mc68000.
Там ещё gameboy, snes, mc68000.
15. specialsafeway - 25 Февраля, 2016 - 06:19:57 - перейти к сообщению
specialsafeway
Попробовал RNC_ProPack.
Я так понял, он предназначен для распаковки/запаковки файлов с заголовком "RNC 01". А у этой игры все заголовки "RNC 02". Поэтому распаковщик выдал ошибку "это не RNC файл".
Попробовал RNC_ProPack.
Я так понял, он предназначен для распаковки/запаковки файлов с заголовком "RNC 01". А у этой игры все заголовки "RNC 02". Поэтому распаковщик выдал ошибку "это не RNC файл".
16. Марат - 25 Февраля, 2016 - 06:21:03 - перейти к сообщению
Марат
По идее он с обоими методами должен работать.
По идее он с обоими методами должен работать.
17. specialsafeway - 25 Февраля, 2016 - 06:21:19 - перейти к сообщению
specialsafeway
Блин, надо было читать доку повнимательней.
Оказывается там есть опция выбора метода.
Блин, надо было читать доку повнимательней.
Оказывается там есть опция выбора метода.
18. alex_231 - 25 Февраля, 2016 - 06:21:38 - перейти к сообщению
alex_231
Ну и как успехи?
Ну и как успехи?
19. specialsafeway - 25 Февраля, 2016 - 06:22:17 - перейти к сообщению
specialsafeway
Успехи, так сказать, есть. Распаковал около 100 RNC-блоков, и то это всего лишь где-то 25-30 процентов. Нашел экран выдачи кода, спрайты боссов, стартовое меню и кредитсы (о разработчиках).
Распаковывается и запаковывается без проблем. Но игра не запускается.
Я, наверное, что-то делаю не так.
Мои действия:
Открываю игру в WinHEX'ce, далее с адреса 000CBCC0 до 000CBF19 сохраняю отдельно RNC-блок, в котором хранится графика экрана кредитсов, под названием credits.rnc (так не запутаюсь). Надо упомянуть, что первые 4 байта RNC 02, далее 00 00 04 30 = 1072 байта несжатых данных и 00 00 01 F3 = 499 байта сжатых данных, и мне непонятно, зачем мне нужно это знать. И за этими байтами идет не 499, а 505 байтов. Тоже непонятно.
Распаковываю в командной строке: C:\RNC\PPIBM.EXE u -m 2 C:\RNC\credits.rnc
(u-unpack, -m 2 -выбрать второй метод).
Файл изменится, я его открываю в DjinnTM. В карте тайлов изменяю пару пикселей, чтобы было заметней.
Теперь пакую: C:\RNC\PPIBM.EXE p -m 2 C:\RNC\CREDITS.RNC
Вырезаю в WinHEX'се тот самый блок и вставляю вместо него новый запакованный.
Включаю эмулятор bgb, загружаю игру, и вижу дебаггер.
Нужно что-то дебажить или как?
Успехи, так сказать, есть. Распаковал около 100 RNC-блоков, и то это всего лишь где-то 25-30 процентов. Нашел экран выдачи кода, спрайты боссов, стартовое меню и кредитсы (о разработчиках).
Распаковывается и запаковывается без проблем. Но игра не запускается.
Я, наверное, что-то делаю не так.
Мои действия:
Открываю игру в WinHEX'ce, далее с адреса 000CBCC0 до 000CBF19 сохраняю отдельно RNC-блок, в котором хранится графика экрана кредитсов, под названием credits.rnc (так не запутаюсь). Надо упомянуть, что первые 4 байта RNC 02, далее 00 00 04 30 = 1072 байта несжатых данных и 00 00 01 F3 = 499 байта сжатых данных, и мне непонятно, зачем мне нужно это знать. И за этими байтами идет не 499, а 505 байтов. Тоже непонятно.
Распаковываю в командной строке: C:\RNC\PPIBM.EXE u -m 2 C:\RNC\credits.rnc
(u-unpack, -m 2 -выбрать второй метод).
Файл изменится, я его открываю в DjinnTM. В карте тайлов изменяю пару пикселей, чтобы было заметней.
Теперь пакую: C:\RNC\PPIBM.EXE p -m 2 C:\RNC\CREDITS.RNC
Вырезаю в WinHEX'се тот самый блок и вставляю вместо него новый запакованный.
Включаю эмулятор bgb, загружаю игру, и вижу дебаггер.
Нужно что-то дебажить или как?
20. alex_231 - 25 Февраля, 2016 - 06:22:35 - перейти к сообщению
alex_231
Э-э-э... а ты уверен, что размер нового файла после запаковки не превышает размера старого файла до распаковки? Если нет (в смысле превышает), то у тебя твой измененный пакет залезет на следующий и игра не будет работать.
Э-э-э... а ты уверен, что размер нового файла после запаковки не превышает размера старого файла до распаковки? Если нет (в смысле превышает), то у тебя твой измененный пакет залезет на следующий и игра не будет работать.
21. Марат - 25 Февраля, 2016 - 06:22:54 - перейти к сообщению
Марат
Так делать нельзя. Не нужно вырезать старый блок, надо его перезаписать, и новые данные у тебя не должны превышать старые данные. А то ты можешь затереть какие-нибудь другие блоки данных или код. Если новый сжатый блок меньше оригинала ничего страшного.
Цитата:
Вырезаю в WinHEX'се тот самый блок и вставляю вместо него новый запакованный.
Так делать нельзя. Не нужно вырезать старый блок, надо его перезаписать, и новые данные у тебя не должны превышать старые данные. А то ты можешь затереть какие-нибудь другие блоки данных или код. Если новый сжатый блок меньше оригинала ничего страшного.
22. Mefistotel - 25 Февраля, 2016 - 06:23:11 - перейти к сообщению
Mefistotel
Да, и в bgb нажми кнопку RUN, чтобы игра пошла.
Да, и в bgb нажми кнопку RUN, чтобы игра пошла.
23. specialsafeway - 25 Февраля, 2016 - 06:23:40 - перейти к сообщению
specialsafeway
Да, новые данные превысили старые. Из-за этого, все не работало.
Но у меня, все-таки, получилось нормально запаковать данные после перерисовки тайлов с RomArtist. Когда перерисовывал с DjinnTM и сжимал данные, почему-то размер сжатого файла был на порядок больше, чем требуется. А после RA, наоборот, меньше.
Но опять же, не без трудностей.
Перерисовал надпись "all rights reserved" на самом первом экране, запаковал, размер сжатого файла стал меньше на 7 байтов, чем оригинальный. По своему методу "вырезал, вставил". Заработало, но дальше пошли глюки. Как было сказано, затерлись другие блоки. Поэтому перезаписал старый блок на новый, и в конце, как хвостик, остались 7 байтов старого блока. Не заработало. Заполнил эти байты нулями - не помогло.
Что делать? Как быть? В чем смысл жизни?
Да, новые данные превысили старые. Из-за этого, все не работало.
Но у меня, все-таки, получилось нормально запаковать данные после перерисовки тайлов с RomArtist. Когда перерисовывал с DjinnTM и сжимал данные, почему-то размер сжатого файла был на порядок больше, чем требуется. А после RA, наоборот, меньше.
Но опять же, не без трудностей.
Перерисовал надпись "all rights reserved" на самом первом экране, запаковал, размер сжатого файла стал меньше на 7 байтов, чем оригинальный. По своему методу "вырезал, вставил". Заработало, но дальше пошли глюки. Как было сказано, затерлись другие блоки. Поэтому перезаписал старый блок на новый, и в конце, как хвостик, остались 7 байтов старого блока. Не заработало. Заполнил эти байты нулями - не помогло.
Что делать? Как быть? В чем смысл жизни?
24. Mefistotel - 25 Февраля, 2016 - 06:23:57 - перейти к сообщению
Mefistotel
Сегодня попробую тебе объяснить в чём смысл бытия. Для всех операций используй нашу сборку Translhextion 1.6с. На его примере попробую тебе объяснить, как правильно вынимать сжатые данные и вставлять обратно.
Сегодня попробую тебе объяснить в чём смысл бытия. Для всех операций используй нашу сборку Translhextion 1.6с. На его примере попробую тебе объяснить, как правильно вынимать сжатые данные и вставлять обратно.
25. Mefistotel - 25 Февраля, 2016 - 06:24:28 - перейти к сообщению
Mefistotel
Почему ты считаешь, что архив занимает xCBCC0-xCBF19? Приложил скрин из моего любимого редактора. Для начала выделяем архив (shift+стрелки). Судя по тому, что RNC - это первые три байта заголовка архива, наш архив занимает 517 байт (0xCBCC0-0xCBEC4).
Когда нужный диапазон выделен, нажимаем Selection - Save Selection as. Далее вводим имя архива, например, Credits.bin.
Цитата:
Успехи, так сказать, есть. Распаковал около 100 RNC-блоков, и то это всего лишь где-то 25-30 процентов. Нашел экран выдачи кода, спрайты боссов, стартовое меню и кредитсы (о разработчиках).
Распаковывается и запаковывается без проблем. Но игра не запускается.
Я, наверное, что-то делаю не так.
Мои действия:
Открываю игру в WinHEX'ce, далее с адреса 000CBCC0 до 000CBF19 сохраняю отдельно RNC-блок, в котором хранится графика экрана кредитсов, под названием credits.rnc (так не запутаюсь). Надо упомянуть, что первые 4 байта RNC 02, далее 00 00 04 30 = 1072 байта несжатых данных и 00 00 01 F3 = 499 байта сжатых данных, и мне непонятно, зачем мне нужно это знать. И за этими байтами идет не 499, а 505 байтов. Тоже непонятно.
Распаковываю в командной строке: C:\RNC\PPIBM.EXE u -m 2 C:\RNC\credits.rnc
(u-unpack, -m 2 -выбрать второй метод).
Файл изменится, я его открываю в DjinnTM. В карте тайлов изменяю пару пикселей, чтобы было заметней.
Теперь пакую: C:\RNC\PPIBM.EXE p -m 2 C:\RNC\CREDITS.RNC
Вырезаю в WinHEX'се тот самый блок и вставляю вместо него новый запакованный.
Включаю эмулятор bgb, загружаю игру, и вижу дебаггер.
Нужно что-то дебажить или как?
Распаковывается и запаковывается без проблем. Но игра не запускается.
Я, наверное, что-то делаю не так.
Мои действия:
Открываю игру в WinHEX'ce, далее с адреса 000CBCC0 до 000CBF19 сохраняю отдельно RNC-блок, в котором хранится графика экрана кредитсов, под названием credits.rnc (так не запутаюсь). Надо упомянуть, что первые 4 байта RNC 02, далее 00 00 04 30 = 1072 байта несжатых данных и 00 00 01 F3 = 499 байта сжатых данных, и мне непонятно, зачем мне нужно это знать. И за этими байтами идет не 499, а 505 байтов. Тоже непонятно.
Распаковываю в командной строке: C:\RNC\PPIBM.EXE u -m 2 C:\RNC\credits.rnc
(u-unpack, -m 2 -выбрать второй метод).
Файл изменится, я его открываю в DjinnTM. В карте тайлов изменяю пару пикселей, чтобы было заметней.
Теперь пакую: C:\RNC\PPIBM.EXE p -m 2 C:\RNC\CREDITS.RNC
Вырезаю в WinHEX'се тот самый блок и вставляю вместо него новый запакованный.
Включаю эмулятор bgb, загружаю игру, и вижу дебаггер.
Нужно что-то дебажить или как?
Почему ты считаешь, что архив занимает xCBCC0-xCBF19? Приложил скрин из моего любимого редактора. Для начала выделяем архив (shift+стрелки). Судя по тому, что RNC - это первые три байта заголовка архива, наш архив занимает 517 байт (0xCBCC0-0xCBEC4).
Когда нужный диапазон выделен, нажимаем Selection - Save Selection as. Далее вводим имя архива, например, Credits.bin.
26. Mefistotel - 25 Февраля, 2016 - 06:24:53 - перейти к сообщению
Mefistotel
Далее все кидаем в одну папку и создаём в ней батник (создать блокнотный файл, только расширение .bat). Далее правой кнопкой на батник - изменить и прописываем в нём:
Пауза нужна для того, чтобы видеть результат.
Запускаем бычка и на выходе получаем 1072 байта несжатых данных (h0430). Рисуем там, что нужно.
Далее сжимаем обратно его, запуская новый батник:
Если сжатый кусок получился больше оригинальных сжатых данных, то лучше рисуй снова и не забудь удалить нули в конце распакованного файла любым хексредактором. Это позволит сэкономить пару байтов. Если сжатый кусок равен оригинальному, то снова выделяем в роме этот архив, как показано на картинке выше, а потом жмём Selection - Fill Selection with - выбираем Fill Selection with file - и подсовываем ему сжатые данные, затем нажимаем ОК.
Третий случай, если новый сжатый кусок меньше оригинала, то делаем всё тоже самое, что и во втором случае, но выделяем в роме кусок идентичного размера. Например, получилось 488 байт - новый архив. Соответственно сначала архива в роме через shift+Down выделяем именно 488 байт, затем Selection - Fill Selection with - выбираем Fill Selection with file - и подсовываем ему сжатые данные, затем нажимаем ОК.
После этого я на всякий случай ставлю байт /00 или /FF уже после новых сжатых данных.
P. S. Пока неясно, почему в заголовке архива размер пакованной даты указан как h01F3, то есть 499 байт. Если вынуть кусок 499 байт, то анпакер не может его распаковать При 517 байтах всё идеально распаковывается, запаковывается и вставляется обратно. И ром работает как нужно.
P. P. S. Можно вставить и архив большего размера. Для этого нужно найти указатели на начало архивов и перетрясти ром, выкроить место за счет других архивов либо вообще перенеся в свободное. Но пока тебе рановато до этого.
Далее все кидаем в одну папку и создаём в ней батник (создать блокнотный файл, только расширение .bat). Далее правой кнопкой на батник - изменить и прописываем в нём:
CODE:
C:\RNC\PPIBM.EXE u -m 2 C:\RNC\credits.bin
pause
pause
Пауза нужна для того, чтобы видеть результат.
Запускаем бычка и на выходе получаем 1072 байта несжатых данных (h0430). Рисуем там, что нужно.
Далее сжимаем обратно его, запуская новый батник:
CODE:
C:\RNC\PPIBM.EXE p -m 2 C:\RNC\credits.bin
pause
pause
Если сжатый кусок получился больше оригинальных сжатых данных, то лучше рисуй снова и не забудь удалить нули в конце распакованного файла любым хексредактором. Это позволит сэкономить пару байтов. Если сжатый кусок равен оригинальному, то снова выделяем в роме этот архив, как показано на картинке выше, а потом жмём Selection - Fill Selection with - выбираем Fill Selection with file - и подсовываем ему сжатые данные, затем нажимаем ОК.
Третий случай, если новый сжатый кусок меньше оригинала, то делаем всё тоже самое, что и во втором случае, но выделяем в роме кусок идентичного размера. Например, получилось 488 байт - новый архив. Соответственно сначала архива в роме через shift+Down выделяем именно 488 байт, затем Selection - Fill Selection with - выбираем Fill Selection with file - и подсовываем ему сжатые данные, затем нажимаем ОК.
После этого я на всякий случай ставлю байт /00 или /FF уже после новых сжатых данных.
P. S. Пока неясно, почему в заголовке архива размер пакованной даты указан как h01F3, то есть 499 байт. Если вынуть кусок 499 байт, то анпакер не может его распаковать При 517 байтах всё идеально распаковывается, запаковывается и вставляется обратно. И ром работает как нужно.
P. P. S. Можно вставить и архив большего размера. Для этого нужно найти указатели на начало архивов и перетрясти ром, выкроить место за счет других архивов либо вообще перенеся в свободное. Но пока тебе рановато до этого.
27. alex_231 - 25 Февраля, 2016 - 06:25:38 - перейти к сообщению
alex_231
Почему не ясно? Всё ясно: заголовок пакета 18 байт + размер сжатых данных 499 байт = размер пакета 517 байт
А вот в заголовке уже не совсем понятно, что означают 4 байта после размера сжатых данных, то ли чексумма, то ли ещё что-то (благо на процесс распаковки эти данные не влияют).
Почему не ясно? Всё ясно: заголовок пакета 18 байт + размер сжатых данных 499 байт = размер пакета 517 байт
А вот в заголовке уже не совсем понятно, что означают 4 байта после размера сжатых данных, то ли чексумма, то ли ещё что-то (благо на процесс распаковки эти данные не влияют).
28. Mefistotel - 25 Февраля, 2016 - 06:26:10 - перейти к сообщению
Mefistotel
Да, друг, ты как всегда прав. Только собирался написать про формат заголовка архива.
specialsafeway, тебе теперь сам бог велел с графикой самостоятельно разобраться.
А alex_231 поможет с програмкой для текста, как будет время.
Да, друг, ты как всегда прав. Только собирался написать про формат заголовка архива.
specialsafeway, тебе теперь сам бог велел с графикой самостоятельно разобраться.
А alex_231 поможет с програмкой для текста, как будет время.
29. alex_231 - 25 Февраля, 2016 - 06:26:36 - перейти к сообщению
alex_231
Дык, чего там помогать-то, текст пожат тем же способом, что и графика, суть работы та же, только поинтеры на пакеты и на строки найти нужно, но с этим в дебаггере можно в момент разобраться.
Дык, чего там помогать-то, текст пожат тем же способом, что и графика, суть работы та же, только поинтеры на пакеты и на строки найти нужно, но с этим в дебаггере можно в момент разобраться.
30. Марат - 25 Февраля, 2016 - 06:27:07 - перейти к сообщению
Марат
Да, это чексумма. Легко можно проверить, изменив байт этой чексумы. Сразу при попытке распаковать выйдет сообщение "PACKED DATA CRC ERROR".
Цитата:
А вот в заголовке уже не совсем понятно, что означают 4 байта после размера сжатых данных, то ли чексумма, то ли ещё что-то (благо на процесс распаковки эти данные не влияют).
Да, это чексумма. Легко можно проверить, изменив байт этой чексумы. Сразу при попытке распаковать выйдет сообщение "PACKED DATA CRC ERROR".