3D Via Virtools

Здравствуйте!Я в первые на форуме,но с zlibом знаком.В не безизвестной серии консольных игр(а именно в
  1. Оффлайн

    Автор темы

    DenielX

    Звание: Прибывший

    Участники

    Сообщений: 16

    Создано тем: 1

    Рейтинг: 1

    Репа: 0

    Баллы: 51

    Страна: не указана!

    Был: 2023-01-01 20:43

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

    Nexus

    Забанен

    Сообщений: 611

    Создано тем: 20

    Репа: 0

    Баллы: 0

    Был: 2022-07-03 23:07

    Лайков: 7

    DenielX, а почему вы не можете сразу перевести ресурсы в самом исполняемом файле? Зачем лезть в языковый файл, если все барахло зашито в экзешнике?
    19 августа 2014 - 23:57 / #12
  3. Оффлайн

    Автор темы

    DenielX

    Звание: Прибывший

    Участники

    Сообщений: 16

    Создано тем: 1

    Рейтинг: 1

    Репа: 0

    Баллы: 51

    Страна: не указана!

    Был: 2023-01-01 20:43

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

    Nexus

    Забанен

    Сообщений: 611

    Создано тем: 20

    Репа: 0

    Баллы: 0

    Был: 2022-07-03 23:07

    Лайков: 7

    DenielX, на раскриптовку файла у меня может уйти неделя или больше. Я не слишком большой профи в этих делах, поэтому и искал более легких путей. Но вероятность успеха в его расшифровке все же имеется, так как уже найден участок кода в экзешнике, который отвечает за расшифровку и загрузку в память языкового файла.
    Также можете создать параллельные ветки на вышеуказанных хакерских сайтах для ускорения процесса расшифровки файла, так как мы щдесь не ахти какие спецы по этому делу и всего лишь учимся всем этим премудростямbiggrin
    20 августа 2014 - 00:44 / #14
  5. Оффлайн

    Автор темы

    DenielX

    Звание: Прибывший

    Участники

    Сообщений: 16

    Создано тем: 1

    Рейтинг: 1

    Репа: 0

    Баллы: 51

    Страна: не указана!

    Был: 2023-01-01 20:43

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

    Nexus

    Забанен

    Сообщений: 611

    Создано тем: 20

    Репа: 0

    Баллы: 0

    Был: 2022-07-03 23:07

    Лайков: 7

    А что там 64 битным ключом,который я нашёл?пригодился или ещё нет?

    Я еще не определил что это за мусор, еще посмотрю.

    Оооо! При переводе программы вылазят крякозяблиwacko Это еще дополнительный геморр с переводом.

    И кстати раз кусок кода найден,уже известно какие алгоритмы криптовки он использует?

    Хз, сомтреть нужно, в папке есть CKZlib.dll, который что-то делает, вот от него и отталкиваюсь.
    20 августа 2014 - 01:51 / #16
  7. Оффлайн

    Автор темы

    DenielX

    Звание: Прибывший

    Участники

    Сообщений: 16

    Создано тем: 1

    Рейтинг: 1

    Репа: 0

    Баллы: 51

    Страна: не указана!

    Был: 2023-01-01 20:43

    Оооо! При переводе программы вылазят крякозябли Это еще дополнительный геморр с переводом.
    Это значит,что в проге нет русских шрифтов.Тут система везде такая:есть символ,и есть соответствующее этому символу изображение,к каждому символу присваивается ID,по этому ID'у прога ищет изображение,т.е. символ->ID->изображение символа.Тут загвоздка в последних двух.По тем ID'ам,где должны быть русские символы в файле шрифтов обычно те самые "кракозяблики",что бы "кракозяблики" исчезли нужно заместо них нарисовать(или взять аналогичные готовые)шрифты,что бы ID соответствовал русскому шрифту,а не "кракозяблику".Прикрепляю тебе файл осмысленного перевода,подобранного под эту прогу лично мной.https://yadi.sk/i/5112yWG4a7tp8
    20 августа 2014 - 19:31 / #17
  8. Оффлайн

    Nexus

    Забанен

    Сообщений: 611

    Создано тем: 20

    Репа: 0

    Баллы: 0

    Был: 2022-07-03 23:07

    Лайков: 7

    В общем, все встало на свои места:
    Якобы 8-байтовый ключ - оказался обычной контрольной суммой уже сжатого ZLIB архива и прикрепленного к этому же архиву. Наверное для проверки целостности ZLIB архива от шаловливых переводчиков типа насbiggrin
    После распаковки языкового файла (ZLIB архива) с помощью библиотеки CKZlib.dll (внутренняя процедура uncompress) идет собственно сама дешифровка уже распакованного языкового файла. Алгоритм там собственно не мудреный - обычный XOR байта на следующий байт с прибавлением к нему 7F и еще какой-то математической операцией, я сильно не вникал. Уже дешифрованный файл прикрепил к этому сообщению.
    Ну а теперь самое главное - это обратная операция шифровки и упаковки файла. Как поступить?
    1. Написать собственную утилиту шифрования файла. На это у меня может уйти время, так как я очень хреновый программистbiggrin
    2. Подправить сам исполняемый файл так, чтобы программа не пыталась дешифровать файл, а тупо просто считывала данные из языкового файла и использовала их для своих нужд. Это у меня получится намного быстрее, потому как там нужно всего лишь обнулить небольшшой фрагмент кода и все. Останется только запаковать языковый файл каким-нибудь ZLIB архиватором и присобачить к нему в конце CRC-сумму.

    Вложения:

      Вам запрещено скачивать вложения.
    20 августа 2014 - 20:23 / #18
  9. Оффлайн

    Автор темы

    DenielX

    Звание: Прибывший

    Участники

    Сообщений: 16

    Создано тем: 1

    Рейтинг: 1

    Репа: 0

    Баллы: 51

    Страна: не указана!

    Был: 2023-01-01 20:43

    Молодец!А мне собственно кроме XOR'а ничего дельного в голову не приходило.А контролка....Я должен был догадаться(нечто подобное уже встречал)bang Править код экзешника или делать криптовщик языкового файлаupset ?Думаю,что надо править екзешник,т.к. и быстро,и удобней перевод в дальнейшем править+нету кряков затрагивающих экзешник.Я бегло прошёлся по декриптованному языковому паку-это не вся писанина,видимо части в экзешнике и дллках,но это особо ничего не меняет.Я вот думаю-шрифты может стандартные юзаются или же в дллки пихнули?Надо подумать над тем как подцепить русские шрифты...В экзешнике случаем на эту операцию не натыкался?Надо найти библиотеку шрифтов,но т.к. я с анализом исполняемых файлов не очень-лучше не буду под ногами мешаться,а вернусь к переводу.У тебя +1 за декриптовку).
    20 августа 2014 - 21:20 / #19
  10. Оффлайн

    Nexus

    Забанен

    Сообщений: 611

    Создано тем: 20

    Репа: 0

    Баллы: 0

    Был: 2022-07-03 23:07

    Лайков: 7

    Не могу найти чем бы вычислить контрольную сумму в 8 байт уже запакованного ZLIB архива. Получается, что после запаковки Zlib нужно еще к нему в конце добавить 8-байтный CRC, но сколько не вычислял так неичего и не смог подобрать - ни один результат не совпадает со старым "ключем". Может вырезать с программы эту проверку целостности архивов и не париться?wacko
    21 августа 2014 - 22:40 / #20

Статистика форума, пользователей онлайн: 0 (за последние 20 минут)

---
Создано тем
1201
Всего сообщений
15804
Пользователей
18048
Новый участник
puika