avatar_DenielX

3D Via Virtools

Автор DenielX, 17 августа 2014, 22:26:24

« Easy Sysprep | Stardock SkinStudio 8.0.0.1 »

DenielXАвтор темы

Здравствуйте!Я в первые на форуме,но с zlib'ом знаком.В не безизвестной серии консольных игр(а именно в LCS/VCS PSP/PS2) используется этот алгоритм компресии-с помощью него запакован интересный файл,который содержит кучу заветных модерам и локализаторам ресурсов,но самым желанным оказались шрифты.В распакованном виде файл является осколком дампа памяти консоли и данные в нем сложно структуированы,что не позволяет менять размер изменяемых файлов в большую сторону,к тому же внутри распакованного файла вложенны ещё запакованные zlib'ом куски(в том числе и шрифты).Слава богам проверки на размер запакованного файла там не было,но запакованные шрифты(уже изменённые) не влезали в распакованный game.dtz.Пришлось рыть разметку файла,смещать следующие данные после шрифтов,а некоторые буквы в шрифтах понерфить.В конце концов локализовали,но помимо локализации там ещё много чего можно изменить.Мы нашли общий смысл для многих алгоритмов сжатия,в том числе и zlib'а-чем больше повторяющихся байт-тем эффективнее сжатие. По удалив кучу дубликатов информации в архиве и мусора,пастерилизовывали текстуры для повторения байтов-делу стало легче.А теперь к советам:
1.SimplyZip лучше использовать для распаковки,т.к. он находит конец архива самостоятельно,но не рекомендуется для запаковки,т.к. он сжимает только средним уровнем.
2.Для запаковки лучше использовать PasZlibFile,т.к. он использует три уровня компрессии(минимальный,средний,максимальный),но не рекомендуется использовать к распаковке,т.к. не распознаёт конец архива сам и если вы предоставите ему сжатый файл с лишним мусором в конце-архиватор зависнет.
По иронии судьбы я пришёл сюда не по этой причине-мне нужно русицровать большую прогу,в папках нашёл языковой файл,открываю в hex editor neo-знакомая сигнатура-78 da,ну я сразу же побежал открывать PasZlibFile'ом,но он завис,немного погуглив попал к вам и тут мне напомнили про SimplyZip(до этого момента не знал,что он автоматом находит конец),получилось распаковать,открываю расп.кусок в хексе и вижу тупой набор байт,который не указывает ни на музыку,ни на шрифты,ни на текст,ни на видео,без каких либо вступлений типо сигнатур и блока описателей.Сижу,думаю...и тут мне стало интересно,что в конце отсёк SimplyZip.Заархивировал кусок обратно SimplyZip'ом и сравнил то,что получилось с оригинальным архивом.Всё совпало байт в байт,однако оригинал на 8 байт больше,это навело меня на мысль,что эти отсечённые 8 байт - восьмибайтный ключ шифрования,которым и надо раскриптовать распакованный архив,т.е. -Распаковка-Раскриптовка-Русификация-Криптовка-Запаковка.Проблема в том,что я ранее не имел дело с криптовой-раскриптовкой ключом-направьте пожалуйста в нужное русло.

Leserg

ЦитироватьПроблема в том,что я ранее не имел дело с криптовой-раскриптовкой ключом-направьте пожалуйста в нужное русло.
Не имею опыта работы с криптованными архивами. Исходники ZLIB открыты и любой шарящий программист небольшой правкой кода может изменить алгоритм работы архиватора под свои нужды, не говоря уже о методе криптования. :sad:
Кто ищет, тот всегда найдет!

DenielXАвтор темы

Да нет,не архив закриптован,уже распакованные данные криптованы,т.е. я распаковываю,а в распакованный архив ещё и криптован 8 байтным ключом,который оказывается хранился после zlib архива.Есть подозрения что данные заксорили.

Leserg

ЦитироватьЕсть подозрения что данные заксорили.
Ничем помочь не могу. :sad:  
Возможно другие участники форума вам что-то подскажут.
Кто ищет, тот всегда найдет!

mishem

18 августа 2014, 02:16:11 #4 Последнее редактирование: 18 августа 2014, 02:18:09 от mishem
С этим вопросом наверно лучше на Войдите на сайт для перехода по ссылке  обратиться.

Nexus

DenielX, нсколько я знаю иры LCS/VCS уже были давно локализованы. Или вы занимаетесь модингом игр и просто нужны потроха этого архива?


А, невнимательно прочитал, вопрос о другом...
Цитироватьмне нужно русицровать большую прогу
Ссыль в студию, или в ВП, если боитесь светиться. Возможно, что сообща что-то и сделаем, тут и не таких мамонтов валили. :biggrin:  

ЦитироватьС этим вопросом наверно лучше на Войдите на сайт для перехода по ссылке  обратиться.
Еще можно на wasm.ru обратиться, там мне больше помогли.

DenielXАвтор темы

18 августа 2014, 18:11:20 #6 Последнее редактирование: 18 августа 2014, 18:20:35 от DenielX
Движок Virtools хочу русифицировать(3D Via Virtools v5).А про GTA-просто предисловие,что бы подчеркнуть иронию судьбы и поделиться практическими советами по модификации zlib потоков.И да,до сих пор юзаю моддинг консольных версий gta(psp),да и распотрошили мы давно уже все файлы запакованные zlib'ом.А ссылка мало чего даст-если нужен сам продукт,то он даже на торрентах редкий,и ещё реже - кто ни будь стоит на раздаче.Может на народ мне выложить?

Nexus

ЦитироватьМожет на народ мне выложить?
Не нужно, на Рутрекере раздает наш старый-добрый знакомый LinXP. Но чтобы не качать полтора гига, можно запковать только самые критические файлы - EXE файл, нужные библиотеки, если они нужны, и сам архив, который нужно анализировать.

DenielXАвтор темы

Выложу всё,что нужно и ничего лишнего.Но вопрос с которым я ещё не определился-там куча скриптов импорта/экспорта(движок все таки) их переводить надо?Просто как-то не складывается в мозгу.И справку не хочется переводить,да и не к чему.И в догонку-как проэкт русификации стартанёт,надо перекладывать всё что в этой теме выложу(части движка)или лучше уже сейчас отдельную тему создавать?

Nexus

Цитироватьтам куча скриптов импорта/экспорта(движок все таки) их переводить надо?
Да я без понятия, это вам же виднее как переводчику :biggrin:  

ЦитироватьИ справку не хочется переводить,да и не к чему
В сети где-то на русском встречал недавно.

Цитироватьили лучше уже сейчас отдельную тему создавать?
Перенесем потом в отдельную тему к Вопросам и Ответам.
Или пускай кто-то из наших перенесет, а то у меня Инет сейчас барахлит...

DenielXАвтор темы

18 августа 2014, 19:38:50 #10 Последнее редактирование: 19 августа 2014, 11:23:51 от DenielX
Поправка-начинающему переводчику,я хоть и переводил,но своего проэкта по переводу у меня не было,так по мелочи,там по переводил,там попробывал,там порылся.Вот где серьёзно углублялся в ньюансы перевода-так это в gta psp версий.На счёт русской справки по этому движку-вряд ли,т.к. двиг давно забыт,но на нем конструировались поистине шедевры,да не то что справку-рускоязычные форумы по этому двигу почти все закрылись.Потом так потом перенесём.Выкладываю архив ~30 мегов.В одной папке-все причастные к переводу файлы,в другой папке шифрованный файл в запакованном и распакованном виде + ключ.Ссылка на архив Войдите на сайт для перехода по ссылке
P.S.Я имел ввиду диалоговые окна плагинов)

Nexus

DenielX, а почему вы не можете сразу перевести ресурсы в самом исполняемом файле? Зачем лезть в языковый файл, если все барахло зашито в экзешнике?

DenielXАвтор темы

20 августа 2014, 00:31:50 #12 Последнее редактирование: 20 августа 2014, 00:39:55 от DenielX
Откуда такая уверенность что exe файл содержит весь диалоговый интерфейс?И шрифты же он не из винды берёт=>русских шрифтов нет,вот хотя бы первая причина того,почему нельзя просто так взять и перевести-соответствия символ<->пикча в шрифтах нету.А впрочем ща языковой удалю и проверим.Я думаю,что это не языковой файл,а инглиш шрифты зашифрованные.
Проверил-все таки грузит он,что то из него(english.nlp).При удалении и последующем запуске пишет,что нет языкового пакета,потом если нажать ок в этом предупреждении,приложение вылетает.Надо расшифровать его или провести анализ екзешника.

Nexus

DenielX, на раскриптовку файла у меня может уйти неделя или больше. Я не слишком большой профи в этих делах, поэтому и искал более легких путей. Но вероятность успеха в его расшифровке все же имеется, так как уже найден участок кода в экзешнике, который отвечает за расшифровку и загрузку в память языкового файла.
Также можете создать параллельные ветки на вышеуказанных хакерских сайтах для ускорения процесса расшифровки файла, так как мы щдесь не ахти какие спецы по этому делу и всего лишь учимся всем этим премудростям :biggrin:

DenielXАвтор темы

20 августа 2014, 01:13:11 #14 Последнее редактирование: 20 августа 2014, 01:22:21 от DenielX
Это хорошо)Забил на декриптовку со вчерашнего дня-занялся практической частью(переводом) по тематике проги.Сейчас в листинге перевода ~6500 символов написано,из них половину-это перевод.А что там 64 битным ключом,который я нашёл?пригодился или ещё нет?
P.S.Можно по хардкору перевести-транслитом :biggrin:  .
И кстати раз кусок кода найден,уже известно какие алгоритмы криптовки он использует?Я первым делом попробывал XOR.А именно посмотрел ключ в десятичной системе и ввёл его в качестве ключа к файлу,на выходе получилась лажа,ключ пробовал в различных вариациях(ну типо старшие байты младшими менял,дешифровка в два прохода с делением ключа пополам на 4 байтовые куски для каждого прохода и т.д.). Ни чё из этого не вышло.

* Ваши права на сайте

    Light Portal

  • Вы можете просматривать элементы портала
  • Вы не можете управлять блоками
  • Вы не можете управлять своими страницами
  • Вы не можете размещать свои страницы без модерации

    Simple Machines

  • Вы не можете удалять темы.
  • Вы не можете создавать темы.
  • Вы не можете отвечать на сообщения.
  • Вы не можете прикреплять файлы.
  • Вы не можете изменять свои сообщения.
  • Вы не можете удалять свои сообщения.

Яндекс.Метрика Каталог@MAIL.RU - каталог ресурсов интернет