3D Via Virtools
Здравствуйте!Я в первые на форуме,но с zlibом знаком.В не безизвестной серии консольных игр(а именно в
-
Здравствуйте!Я в первые на форуме,но с zlib'ом знаком.В не безизвестной серии консольных игр(а именно в LCS/VCS PSP/PS2) используется этот алгоритм компресии-с помощью него запакован интересный файл,который содержит кучу заветных модерам и локализаторам ресурсов,но самым желанным оказались шрифты.В распакованном виде файл является осколком дампа памяти консоли и данные в нем сложно структуированы,что не позволяет менять размер изменяемых файлов в большую сторону,к тому же внутри распакованного файла вложенны ещё запакованные zlib'ом куски(в том числе и шрифты).Слава богам проверки на размер запакованного файла там не было,но запакованные шрифты(уже изменённые) не влезали в распакованный game.dtz.Пришлось рыть разметку файла,смещать следующие данные после шрифтов,а некоторые буквы в шрифтах понерфить.В конце концов локализовали,но помимо локализации там ещё много чего можно изменить.Мы нашли общий смысл для многих алгоритмов сжатия,в том числе и zlib'а-чем больше повторяющихся байт-тем эффективнее сжатие. По удалив кучу дубликатов информации в архиве и мусора,пастерилизовывали текстуры для повторения байтов-делу стало легче.А теперь к советам:
1.SimplyZip лучше использовать для распаковки,т.к. он находит конец архива самостоятельно,но не рекомендуется для запаковки,т.к. он сжимает только средним уровнем.
2.Для запаковки лучше использовать PasZlibFile,т.к. он использует три уровня компрессии(минимальный,средний,максимальный),но не рекомендуется использовать к распаковке,т.к. не распознаёт конец архива сам и если вы предоставите ему сжатый файл с лишним мусором в конце-архиватор зависнет.
По иронии судьбы я пришёл сюда не по этой причине-мне нужно русицровать большую прогу,в папках нашёл языковой файл,открываю в hex editor neo-знакомая сигнатура-78 da,ну я сразу же побежал открывать PasZlibFile'ом,но он завис,немного погуглив попал к вам и тут мне напомнили про SimplyZip(до этого момента не знал,что он автоматом находит конец),получилось распаковать,открываю расп.кусок в хексе и вижу тупой набор байт,который не указывает ни на музыку,ни на шрифты,ни на текст,ни на видео,без каких либо вступлений типо сигнатур и блока описателей.Сижу,думаю...и тут мне стало интересно,что в конце отсёк SimplyZip.Заархивировал кусок обратно SimplyZip'ом и сравнил то,что получилось с оригинальным архивом.Всё совпало байт в байт,однако оригинал на 8 байт больше,это навело меня на мысль,что эти отсечённые 8 байт - восьмибайтный ключ шифрования,которым и надо раскриптовать распакованный архив,т.е. -Распаковка-Раскриптовка-Русификация-Криптовка-Запаковка.Проблема в том,что я ранее не имел дело с криптовой-раскриптовкой ключом-направьте пожалуйста в нужное русло.17 августа 2014 - 22:26 / #1 -
Оффлайн
Звание: Ветеран
Команда сайта
Сообщений: 946
Создано тем: 79
Рейтинг: 8
Репа: (131|131|0)
Баллы: 1681
Был: 2024-12-12 23:16
Лайков: 168
Проблема в том,что я ранее не имел дело с криптовой-раскриптовкой ключом-направьте пожалуйста в нужное русло.
Не имею опыта работы с криптованными архивами. Исходники ZLIB открыты и любой шарящий программист небольшой правкой кода может изменить алгоритм работы архиватора под свои нужды, не говоря уже о методе криптования.18 августа 2014 - 00:33 / #2 -
Да нет,не архив закриптован,уже распакованные данные криптованы,т.е. я распаковываю,а в распакованный архив ещё и криптован 8 байтным ключом,который оказывается хранился после zlib архива.Есть подозрения что данные заксорили.Сообщение отредактировал Leserg 18 августа 2014 - 01:0918 августа 2014 - 01:02 / #3
-
Оффлайн
Звание: Ветеран
Команда сайта
Сообщений: 946
Создано тем: 79
Рейтинг: 8
Репа: (131|131|0)
Баллы: 1681
Был: 2024-12-12 23:16
Лайков: 168
Есть подозрения что данные заксорили.
Ничем помочь не могу.
Возможно другие участники форума вам что-то подскажут.18 августа 2014 - 01:13 / #4 -
С этим вопросом наверно лучше на http://exelab.ru обратиться.Сообщение отредактировал mishem 18 августа 2014 - 02:1818 августа 2014 - 02:16 / #5
-
DenielX, нсколько я знаю иры LCS/VCS уже были давно локализованы. Или вы занимаетесь модингом игр и просто нужны потроха этого архива?
А, невнимательно прочитал, вопрос о другом...
мне нужно русицровать большую прогу
Ссыль в студию, или в ВП, если боитесь светиться. Возможно, что сообща что-то и сделаем, тут и не таких мамонтов валили.
С этим вопросом наверно лучше на http://exelab.ru обратиться.
Еще можно на wasm.ru обратиться, там мне больше помогли.18 августа 2014 - 17:06 / #6 -
Движок Virtools хочу русифицировать(3D Via Virtools v5).А про GTA-просто предисловие,что бы подчеркнуть иронию судьбы и поделиться практическими советами по модификации zlib потоков.И да,до сих пор юзаю моддинг консольных версий gta(psp),да и распотрошили мы давно уже все файлы запакованные zlib'ом.А ссылка мало чего даст-если нужен сам продукт,то он даже на торрентах редкий,и ещё реже - кто ни будь стоит на раздаче.Может на народ мне выложить?Сообщение отредактировал DenielX 18 августа 2014 - 18:2018 августа 2014 - 18:11 / #7
-
Может на народ мне выложить?
Не нужно, на Рутрекере раздает наш старый-добрый знакомый LinXP. Но чтобы не качать полтора гига, можно запковать только самые критические файлы - EXE файл, нужные библиотеки, если они нужны, и сам архив, который нужно анализировать.18 августа 2014 - 18:51 / #8 -
Выложу всё,что нужно и ничего лишнего.Но вопрос с которым я ещё не определился-там куча скриптов импорта/экспорта(движок все таки) их переводить надо?Просто как-то не складывается в мозгу.И справку не хочется переводить,да и не к чему.И в догонку-как проэкт русификации стартанёт,надо перекладывать всё что в этой теме выложу(части движка)или лучше уже сейчас отдельную тему создавать?18 августа 2014 - 19:04 / #9
-
там куча скриптов импорта/экспорта(движок все таки) их переводить надо?
Да я без понятия, это вам же виднее как переводчику
И справку не хочется переводить,да и не к чему
В сети где-то на русском встречал недавно.
или лучше уже сейчас отдельную тему создавать?
Перенесем потом в отдельную тему к Вопросам и Ответам.
Или пускай кто-то из наших перенесет, а то у меня Инет сейчас барахлит...18 августа 2014 - 19:20 / #10