Перейти к содержимому
Zone of Games Forum

Рекомендованные сообщения

при переводе игр я часто сталкиваюсь с ситуацией, когда текстовые данные находятся в каком-нибуть бинарнике и редактировать его можно только через какой-нибуть хекс редактор и то не изменяя длинну строк. в етом вся проблема.

вопрос к знающим: как изменить длинну строки?

Поделиться сообщением


Ссылка на сообщение

Угу, спс за прогу. В своей тоже переключил к виду "16 на строку".

Также спасибо enz° за прогу и потраченное время на объяснение.

Получилось таки изменить две надписи. В игре уже проверил - работает. Рад безмерно :D

PS:

Планирую сделать небольшой наглядный мануальчик по смещениям для абсолютных новичков.

Разжевать подробно.

Изменено пользователем KoTonec

Поделиться сообщением


Ссылка на сообщение

Сделал небольшой видео ролик-слайд шоу по теме.

Целевая аудитория - народ редко сталкивавшийся с HEX редакторами, но желающий получить знания. :D

Содержание - на примере показываю как перевести фразу, с помощью подмены ссылок.

http://sendfile.su/313348 - 22 мегабайта - слайд шоу, минимум анимации.

http://sendfile.su/313351 - 80 мегабайт - видеоролик, присутствует анимация.

По ссылкам лежат EXE файлы. В ЕХЕ файле вшит ролик и сам плеер.

Выполнено в UVScreenCamera.

Если есть предложения и дополнения, высказывайтесь.

Изменено пользователем KoTonec

Поделиться сообщением


Ссылка на сообщение

Ну необязательно складывать значение строки и столбика. :)

Насколько я знаю, во всех хекс редакторах есть графа где смещение показывается.

HxD

e9039ccc7e78t.jpg

010

e1fe1a810e07t.jpg

HexWorkshop

e9b32be2b75bt.jpg

А так все правильно.

правда я че то сомневаюсь, что тому кто сам до этого не додумал ролик поможет .:)

Поделиться сообщением


Ссылка на сообщение

MeteoraMan, спс буду знать.

Тут вот возник такой вопрос - Как добавить в готовый экзешник еще одну секцию?

Предположим, что оригинальный экзе файл забит до отказа и места нет, значит нужно создать еще свободного места. А вот как это сделать, чтобы экзешник не перестал работать корректно. :D

Поделиться сообщением


Ссылка на сообщение

Разве так сложно погуглить? Любой нормальный PE редактор, оптимальный выбор - PE Tools.

Поделиться сообщением


Ссылка на сообщение

ToXa

сделай плз небольшой тутор, для нас, деревянных. :)

Мне када надо было ,я гуглил, но ничего не понял, как то случайно получилось добавить.

Охота научится делать это правильно. :)

Изменено пользователем MeteoraMan

Поделиться сообщением


Ссылка на сообщение

Напомни в асе, сделаю

Поделиться сообщением


Ссылка на сообщение

А как узнать указатель на строку, если текст хранится в отдельном файле?

Например, в Legend of Kyrandia нужно от адреса начала строки отнять 2А и получим указатель. Почему именно 2А и как узнать, что надо отнимать?

Поделиться сообщением


Ссылка на сообщение
А как узнать указатель на строку, если текст хранится в отдельном файле?
Видишь ли, в данной теме до стих пор обсуждался перевод текста внутри исполняемого файла. Если же необходимо перевести текст в каком-то внешнем файле ресурсов, то необходимо разбирать его формат либо искать в интернете уже готовые утилиты для работы с ним. При этом в исполняемом файле никаких "указателей" править не нужно. А в файле ресурсов наверняка придётся править не одно значение... но это зависит от конкретного формата. Здесь принцип будет кардинально отличаться от перевода EXE.
Например, в Legend of Kyrandia нужно от адреса начала строки отнять 2А и получим указатель. Почему именно 2А и как узнать, что надо отнимать?
Только опытным путём:

1) находим строку, находим указатель на неё

2) находим следующую строку, находим указатель

3) пытаемся найти закономерность.

Изменено пользователем enz°

Поделиться сообщением


Ссылка на сообщение

Ссылка на Rova.exe , та что в теме давно сдохла, а прога в хозяйстве полезная

Поделиться сообщением


Ссылка на сообщение

Подскажите, пожалуйста, кто-нибудь, как удлинить хотя бы на один символ строку вот в таком файле с раcширением .PL ?
Ссылка на файл.
Конкретно — если открыть этот бинарный файл через Notepad++, то в строке 5177 мне нужно при переводе увеличить слово "tueur" c 5 до 6 символов (чтобы в переводе вместо"tueur" стало “slayer”).  Но  найти в этом файле указатели на нужные  строки или ограничитель символов у меня не получается. 
Сложность в том, что ни одна из предложенных программ (OllyDbg,  OgreGui,  Radialix) этот формат  не понимает. Может есть какой-то более простой вариант снять ограничение на количество символов в этом файле?

 

 

Изменено пользователем nemo-gp

Поделиться сообщением


Ссылка на сообщение

Что-то я не уверен в том, как отвечать по некоторым причинам, но ладно…
@nemo-gp  там что-то вроде файла внутри файла, потому выжать много вряд ли выйдет. Открываем hex редактор, начало того, где нужный вам текст на 0x7a4b2 (условный 0). Первые 4 байта это количество строк, далее идёт таблица оффсетов на строки по 4 байта. Если это всё дело смотреть внутри файла, то строку искать по 0x7a4b2 + оффсет нужной строки.
 

13 часов назад, nemo-gp сказал:

Конкретно — если открыть этот бинарный файл через Notepad++, то в строке 5177 мне нужно при переводе увеличить слово "tueur" c 5 до 6 символов (чтобы в переводе вместо"tueur" стало “slayer”).

Например, оффсет этой строки 0x25d5, внутри файла он на 0x7a78e. Дальше сообразить, если понимание есть, проблем не должно составить.

Изменено пользователем XiGMA

Поделиться сообщением


Ссылка на сообщение

@XiGMA <Большое человеческое спасибо за отклик! Прошу извинить за совсем низкий уровень понимания. Если оффсет это адрес строки, то  видимо я как-то неправильно настроил hex редактор, или использую не совсем подходящий редактор (Hex editor Neo). В этом редакторе нужное место файла выглядит вот так. И адреса выглядят по-другому. Если вам не  сложно - можно чуть подробнее пояснить, что мне надо сделать? Мучаюсь с этим вопросом уже несколько дней. 

 

Поделиться сообщением


Ссылка на сообщение

@nemo-gp  да нет, всё правильно. Хм, не уверен, что смогу нормально объяснить, но чутка попробую.
Та строка начинается на 0x7CA87.

Скрытый текст

Screenshot-2150.jpg 

0x7CA87 - 0x7a4b2 получаем 0x25d5, переходим на 0x7a4b2 и ниже ищем получившееся значение в перевёрнутом виде (d5250000). Оно на 0x7a78e, как и писал ранее. 

Скрытый текст

Screenshot-2148.jpg 

Тем не менее вычислять подобным образом адрес всех строк в файле не рекомендую, так как данный способ касается только этого файла и конкретно строк из таблицы, начинающейся с 0x7a4b2. 
Переходим туда.
Первые 4 байта (DA010000 -> 0x000001da (474)) - это количество строк. Каждые следующие 4 — адрес на начало строки, который, если смотреть внутри файла, нужно корректировать путём прибавления 0x7a4b2. Например, у первой там строки адрес следующий: 6C070000 -> 0x76c + 0x7a4b2 = 0x7AC1E, переходим по получившемуся адресу и обнаруживаем саму строки. А, если ещё вносить конкретику, то концом строки при таком раскладе считается 0x0, который идёт после неё.

Скрытый текст

Screenshot-2149.jpg 
Screenshot-2151.jpg 


P.S. По-хорошему это всё не так надо делать.

  • Спасибо (+1) 1

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Продвигаемые темы

  • Последние сообщения

    • Нескромный вопрос: а можно ли и графику выгрузить, а потом отредактированную вернуть обратно? Или только со спрайтами такое получается?
    • @Exsairen русификатор вполне себе живой)) Просто ставь его на совместимую версию и проблем не будет. Подозреваю, что из-за этого маловероятно, что обновят. Это единственный патч, который вышел. Откатиться на совместимый билд даже в стиме не так сложно, как кажется. Но можешь попытаться счастье и написать в группу https://vk.ru/club108745115 и попросить их адаптировать под новое обновление.    
    • Здравствуйте! Руссификатор мёртв, последние версии игры не поддерживает?
    • Обновите русификацию выпустили уже 1.1 версию  https://boosty.to/orew
    • Сделал по тутору с ютуба. Заменил все папки в игре на те, которые в файле, а в игре нет русского языка
    • Обновил русификатор до версии игры 18 августа.
    • дубляж из шапки ,но меньше весом...
    • друзья я сейчас заканчиваю разработку программы которая выполняет внутри себя всю работу вашего отдела, получу ли после проверки разрешения и помощь в доработке от Администрации сайта? довести продукт до идела можно только командой.для меня важно знать нужна ли такая программа стоит ли в неё вкладывать  силы и время

      краткое описание  GameResX — от игрового архива до готового перевода в одном инструменте Существующие инструменты решают лишь часть задачи. Экстракторы архивов (Game Extractor, Dragon UnPACKer) умеют распаковать файлы, но ничего не знают о переводе. Профессиональные платформы локализации (Alchemy CATALYST) умеют управлять переводом, но не открывают игровые архивы и стоят как корпоративная лицензия. Инструменты рантайм-перехвата (XUnity.AutoTranslator) показывают перевод на лету, но не собирают постоянный патч. GameResX объединяет всё три класса возможностей — впервые в одном бесплатном и полностью портативном инструменте. Распаковка и запаковка. Плагинная архитектура с поддержкой множества форматов. Обратная сборка с точным пересчётом смещений: перевод может быть длиннее оригинала, остальные ресурсы остаются побайтово нетронутыми. Встроенная проверка обратимости формата — одна команда, и вы знаете, что патч не сломает игру. Перевод как рабочий процесс. Экспорт строк в PO, CSV и TMX для Poedit, OmegaT и Trados. Память переводов с нечётким поиском — не переводите одну фразу дважды. Глоссарий терминов. Автоматический контроль качества ловит потерянные плейсхолдеры и превышение лимитов длины до того, как игра упадёт у пользователя. Псевдоперевод показывает проблемы вёрстки ещё до найма переводчика. Лаборатория форматов. Игры, для которой нет плагина, больше не тупик. Карта энтропии показывает, где сжатые данные, а где структура. Автопоиск таблиц смещений находит индекс архива за секунды вместо часов в hex-редакторе. Структурный дифф вычисляет назначение полей. А затем программа сама генерирует черновик описания формата — и новая игра поддерживается без единой строки кода на C++. Новый формат добавляется JSON-файлом. Не программист? Опишите структуру архива декларативно и положите файл рядом с программой. Портативная, бесплатная, открытая. Без установки, без прав администратора, без урезанной платной версии. Все данные — рядом с исполняемым файлом. Работает с USB-накопителя. GameResX предоставляет инструментарий для работы с легально приобретёнными копиями игр. Обход технических средств защиты не реализуется. Дизайн пока такой предложения принимаються
    • Что это и для чего?
  • Изменения статусов

    • Perfect End Strange  »  SerGEAnt

      Привет, озвучку для Silent Hill 4: The Room выпустил энтузиаст под ником Perfect End Strange, а вы написали совсем другую студию, пожалуйста, исправьте эту оплошность
      · 0 ответов
    • Jimmi Hopkins  »  SerGEAnt

      я его уже открыл в свободный доступ, чтобы не потерялось среди новинок
      · 0 ответов
    • NekoNya  »  Onzi

      https://www.dropbox.com/scl/fi/4xncxr2tqy77vz4644q08/text_RU_FINAL.json?rlkey=xckxss3jkql4gjmc1ah6qjb5e&st=k5ql651f&dl=0 
       
      Вот, то что вышло. Извинюсь, что зря говорил, что помогу (
      · 2 ответа
    • serfly  »  SerGEAnt

      Доброго времени! Недавно столкнулся с проблемой автоперевода XUnity AutoTranslator BeplnEx iL2cc. Пару последних лет часто пользовался, теперь консольные команды виснут на стадии загрузки библиотек, хотя они есть там изначально. На GitHub есть подобные вопросы, но ни одного рабочего ответа я не нашел. А Вы что можете посоветовать?
      · 0 ответов
    • serfly  »  SamhainGhost

      Доброго времени. По локализации игры Wicked Seed. Шрифт размазан и в полях, другие можно попробовать? Например arialuni_sdf_2022? Я профан в этом, но интересно.
       
      · 0 ответов
  • Лучшие авторы


×