Программы для локализации > Шаблонные редакторы
Поиск ресурсов программы
Serj777:
--- Цитата: Metabolic ---Чтоб разобраться, нужно определить суть проблемы, выкладывайте скрины и желательно проект перевода (Ncui.dll + Ncui.rdmap + Ncui.rdlp).
--- Конец цитаты ---
Файлы можно скачать тут: https://cloud.mail.ru/public/CtZ1/JfR9DwKBs
Запуск без перевода ЖЗС(тут без глюков)
Первый запуск с переведенными ЖЗС. Глюки с выводом сообщений.
Повторный запуск. Глюки остались + глюк с кодировкой.
Правильно ли я понимаю что в самой IDA можно без Radialix выполнить перевод и скомпилировать(сохранить) измененный файл. Если да, то как это можно сделать?
Еще нашел видео с правкой глюков IDA после создания файла rdmap.
https://youtu.be/DEKj3T_NHSM
Не успел попробовать, но думаю может помочь.
Metabolic:
Локализуемый файл Ncui.dll имеет нестандартное размещение ресурсов, определенная часть текстовых строк которые задействованы в интерфейсе программы находится в заголовке PE (DLL) файла. При создании файла карты в IDA так называемый PE Header не учитывается, соответственно в созданном .rdmap отсутствуют те самые строки...
Также замечено, что после добавления Radialix-ом секции .data, происходит смещение интересующего нас блока текста и соответственно сбиваются установленные ссылки на этот текст. В большинстве случаев в заголовке PE файла есть нулевые байты куда можно (прописывать) добавлять новые секции, но в данном случае имеется нестандартный файл и свободное место отсутствует.
P.S. При переводе жестко закодированных строк Radialix добавляет в конец файла секцию .data в которую он записывает удлиненный переведенный текст и перенаправляет на него ссылки.
Serj777:
--- Цитата: Metabolic ---Остается одно, переводить все жестко закодированные строки вручную с помощью отладчика!
--- Конец цитаты ---
Где почитать про отладчик для этих целей?
Metabolic:
--- Цитата: Serj777 ---Где почитать про отладчик для этих целей?
--- Конец цитаты ---
Можете ознакомиться со следующим материалом: "Удлинение строки в OllyDbg"
Еще можно сделать комбинированный перевода в несколько этапов с помощью Radialix и отладчика OllyDbg (но для этого необходимо выполнить определенные манипуляции).
- Пропатчить dll (подготовить нулевые байты для секции .data) -> перевести необходимые строки в Radialix+IDA -> затем еще раз пропатчить dll -> и перевести в отладчике строки которые остались не переведенные (строки в PE Header).
Навигация
Перейти к полной версии