Этот сайт создан как клуб русификаторщиков. Для нас существуют три основных правила.
1. Мы никому и ничего не должны!
2.Один пришедший на сайт толковый русификаторщик дороже всех пользователей.
3. Мы делаем русификаторы для своего сайта, но в оригинале ими могут пользоваться все в интернете.
На примере программы Registry Winner я покажу, как это делается. Например, нужно перевести BHO Manager, на русском это BHO менеджер.
Плакаю…
Смешно порой смотреть на гордые заявления русификаторщика о 90% или 95% переводе программы. На поверку выходит 40% или 70%. Графику перерисовывать, как черт ладана боятся, ну а если, например, как в Registry Winner она занимает большой объём, и если не переделать, то будет прикольный вид. Ну да Бог с графикой, строки, зашитые в код, переводят с пень на колоду, и если удлинить не получается, то идёт сплошной гоблин…
Ближе к телу…
Как убить гоблина.
Инструменты для этого дела: 1. Hex-редактор (FlexHEX Editor); 2. Hiew (HEX-редактор и дизассемблер); 3. OgreGUI 4. Подопытный кролик Registry Winner
Действия-злодействия такие: Кинуть в папку с программой Hiew ехе-шник Registry Winner , запустить Hiew и выберите – RegistryWinner.exe
Нажмите F4 и выберите HEX
Дальше, запускаем в FlexHEX и ищем слово по UNICODE
Вот и нашли, но русский вариант на одну букву больше. Смотрите, место есть для буквы впереди слова.
Нажимаем F5 и вбиваем адрес.
Нажимаем F6, вот и виртуальный адрес
Создайте текстовый документ и запишите адреса. Для дальнейшего переноса слов Hiew больше пока не нужен, вы видите, что адрес в FlexHEX и виртуальный адрес на 400000 больше, просто удлиняя следующее слово, добавьте 400000 к адресу из FlexHEX. Например, адрес в FlexHEX - 00115BBB – виртуальный адрес – 000515BBB, первый 0 не берите во внимание, он нам не нужен.
Теперь копируйте как на рисунке выше и дайте поиск в FlexHEX как на рисунке ниже
Заходим по найденному адресу и меняем на новый адрес, (сколько нашли адресов все и меняйте) в нашем случае поменять нужно одно значение, и заметьте, адрес идёт задом наперёд, зачем это так? Открою тайну – это писал левша.
Теперь пишем русский перевод
Сохраняем, выходим из редактора, и смотрим, что вышло
Но если это вам покажется длинной песней, и вы скажете, сейчас вооружусь OgreGUI, и за пять минут всё будет ладушки, пожалуйста, рассмотрим и этот вариант.
И-и-и, На горе как … приблудный Стоит город Днепрорудный…
Ссылок на строку то нет, но вы настырный, и делаете действия-злодействия дальше
И-и-и Стою на асфальте я в лыжи обутый Толи лыжи не едут, толи я …….!
Но из этого и польза будет, цмыкаем дальше, вбейте поиск слова BHO менеджер. Плюсик получается в том, что добавилась секция ресурса, и сюда можно закидывать длинные слова. Вообще то свободного места в любой программе хватает, обычно есть длинные предложения, их нужно корректно скомпоновать, и свободное место обеспечено.
Находим в Hiew расположение слова
Вбиваем в поиск виртуальный адрес 005156B8, измените значение на новое 00A3E000
Сохраняем, выходим из редактора, и смотрим, что вышло.
Я надеюсь, что гоблинов теперь будет гораздо меньше.
Я делал так. В Радиаликсе уже показывает виртуальный адрес раздвигаемого слова. В Flexe ищу это слово - смотрю сначала , есть ли рядом нули. Если нет - в пустом месте в хексе вбиваю перевод , запоминаю адрес. Перехожу в виртуальный и меняю значение.Получается - HIEW вовсе не нужен...А матерьял здоровски помог. Раньше читал твои уроки по раздвиганию - ну как горохом об стену...А тут как озарение наступило...Может слово гоблин магическое?
Сообщение отредактировал Veikko 30 марта 2011 - 16:43
В Радиаликсе уже показывает виртуальный адрес раздвигаемого слова.
Первое, я писал эту статью, когда Radialix еще не работал с зашитыми строками в код Второе, когда Radialix показывает виртуальный адрес, то никаких инструментов не нужно - он сам перенесет слово в нужное место. Но IDA советую запускать в паре с Radialix всегда.
Получается - HIEW вовсе не нужен..
Со временем попадется программа, когда и ссылки есть и Radialix раздвигает слово, а все равно в программе оно смотрится обрезанным. Например слово Add три буквы, и чтобы вы не делали в программе выводится только Доб Значит стоит счетчик букв (изучаем команды ассемблера), его лучше всего искать в HIEW.
Со временем попадется программа, когда и ссылки есть и Radialix раздвигает слово, а все равно в программе оно смотрится обрезанным.
У меня как раз в PhotoBrush така фигня. Попробовал открыть ФлексХексом. Переводил , например , Panes. Панели не канали - последняя "и" обрезалась. А вот после Флекса все отражается путем. Просто добавил эту "и" в конце , благо место было. Поначалу , конечно , с виртуальными адресами приплясывать по твоим урокам пробовал.
Просто добавил эту "и" в конце , благо место было. Поначалу , конечно , с виртуальными адресами приплясывать по твоим урокам пробовал.
Я не об этом писал Добавлю для ясности - и место есть, чтобы продлить слово в хексе, и Radialix видит ссылку и продлевает слово, а при запуске программы слово все равно обрезано. Счетчик букв стоит не на FF а на каждое слово отдельно. Но таких программ мало, и встретилось мне за все время пару штук. Переводя в Radialix, сразу просмотрите видео уроки с офсайта. Если место есть, можно добавлять не прибегая к хексу.