BlackStar Localizations Studio

Объявление

Прежде чем начать работу с форумом, прочитайте правила: ПРАВИЛА ФОРУМА

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » BlackStar Localizations Studio » Проблемы с переводом » Двойная кодировка при переводе


Двойная кодировка при переводе

Сообщений 1 страница 26 из 26

1


Решения найти не удалось, поэтому решил обратится за помощью. При переводе контекста окон

отладчика OllyDbg (Верися 1.10) обнаружилась следующая проблема - при выполнении перевода

некоторых пунктов меню одновременно с этим переводятся названия столбцов таблици с таким же

текстом, но отобажаются при этом в другой кодировке. Если при переводе изменить кодировку (cp866)

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

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

Скриншоты с примером перевода одной строки:

http://s004.radikal.ru/i208/1102/70/5a73effc1dd6t.jpg

http://s002.radikal.ru/i198/1102/67/f844e79701aat.jpg

Просмотрел асемблерный код ссылки этой строки в отладчике:

http://s010.radikal.ru/i313/1102/e0/f0e5838facb1t.jpg

В асемблере как и в других языках особо не силен, поэтому сильно не пинайте если что не так. Я

так предполагаю что строка копируется по новому адресу и где-то одновременно с эти меняется

кодировка.

Можно ли что нибудь  с этим сделать (например средствами отладчика), чтобы перевод отображался

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

небольшой туториальчик по этому случаю.

Отредактировано Balero (2011-02-15 17:12:53)

0

2

Вы что? Ольку переводите ? :O
Вот >>>ТУТ<<< Есть ссылка на русскую ольку от Внекрылова  :D

0

3

Версия от Внекрылова как и других авторов у меня имеется, но на мой взгляд результат желает лучшего. Это я к тому, что строки которые у меня с легкостью перевелись, в предлагаемой Вами версии почему-то на буржуйском. Ольку перевожу пока чисто для себя - чтобы перевод насколько возможно был полным и  интерфейс более понятен новичку. Например думаю вместо " Своевременная отладка", новичку с первого раза скорей понятней будет к примеру "Назначить Ольку отладчиком по умолчанию".
Ну это не критика в чью либо сторону -  так мои рассуждения. Да и программа с своим переводом как то лучше и быстрее осваивается, тем более еще в процесе перевода.
Кстати в переводе от Внекрилова та же проблема которую я выставляю.
http://s59.radikal.ru/i166/1102/85/a25ad3ec38c9t.jpg

Вот из-за нехватки знаний я выставляю ее (проблему) на всеобщее расмотрение. Можно что нибудь сделать (к примеру как в случаях с обходом проверки, удлинение строки, изменение позиции и размера объекта - авторам большое спасибо за статьи и ролики) ну чтобы подкоректировать кодировку, или для этого нужны исходники.
В 2-й версии такая же проблема но пока нет поддержки плагинов думаю за перевод приниматся не следует.

P.S Что-то похоже есть на MSI Lab:

http://ruslab.net/index.php?showtopic=2162

Правда ссылка на разшифровку той кодировки от  Solenij устарела  поэтому испробовать ее на мой случай нет возможности.

Отредактировано Balero (2011-02-16 12:46:44)

0

4

Может программа Solenij  1251 to HEX для определения кодировок тебе поможет.   http://blackstar.clanbb.ru/viewtopic.php?id=499
Хотя навряд ли. Если бы в обоих местах кракозябры были.
Придется ждать Solenij

Отредактировано Wan (2011-02-16 19:13:07)

0

5

Я сейчас к сожалению посмотреть не могу - нет времени.

Balero написал(а):

P.S Что-то похоже есть на MSI Lab:
            http://ruslab.net/index.php?showtopic=2162
            Правда ссылка на разшифровку той кодировки от  Solenij устарела  поэтому испробовать ее на мой случай нет возможности.

В программе 1251 to HEX эта кодировка есть в самом низу под названием Неизвестная кодировка, это она и есть. Но я думаю врядли поможет.

0

6

Спасибо за отзывы по моей проблеме (свободного времени в обрез - поэтому извините что с опозданием)

Wan написал (а)
Может программа Solenij  1251 to HEX для определения кодировок тебе поможет

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

Решить проблему удалось другим способом, который оказался совсем не сложным. Может кому-нибудь понадобится. Получить нормальное отображение текста в обоих случаях удалось с помощью подмены шрифта.
В результате:
http://s02.radikal.ru/i175/1102/16/2c35aa0544b5t.jpg

Вопрос по даной проблеме снимаю.

P.S Чтобы не создавать новой темы обращаюсь здесь с новым вопросом.
При загрузке проги  Hmonitor (домашня страница - http://www.hmonitor.com/)  в редактор ресурсов (Restorator) отображаются следующие ресурсы:
http://s52.radikal.ru/i137/1102/a1/10abe89223aft.jpg
Каким образом можно переводить такие ресурсы (имеется в выду RCData в случае, когда они так отображаются)
Некоторые строки находятся HEX-редактором, но после их изменения они по прежнему не переводятся. Другие-же при попытке поиска текста во всех файлах системы ( поиск в нескольких кодировках) и реестре вообще обнаружить не удается.
Может подскажите как можно выполнить перевод таких ресурсов и почему не переводятся строки, измененные в HEX-редакторе.

Отредактировано Balero (2011-02-24 19:35:39)

0

7

Balero написал(а):

Каким образом можно переводить такие ресурсы (имеется в выду RCData в случае, когда они так отображаются)

Во первых, они так и должны отображаться!  :D 
Потому что наличие в ресурсах RCData говорит о том, что программа написана или на DELPHI  на  Борланде - Это их отличительная особенность
В следующий раз имейте это в виду!

Balero написал(а):

Каким образом можно переводить такие ресурсы

В  шаблонниках.
Например с этим хорошо справляются MULTILIZER, Radialix...
Кстати, Если программа написана на делфи, то можно  снять дамп и сделать файл локализации.
И потом не патчить основную программу, а просто положить этот файлик рядом.
Как это сделать почитай >>> ЗДЕСЬ <<<
Удачи !  ;)

+1

8

Tekton написал(а)
наличие в ресурсах RCData говорит о том, что программа написана или на DELPHI  на  Борланде - Это их отличительная особенность
В следующий раз имейте это в виду!

На чем написана программа пока с определением не очень. За разъяснение благодарен. Кстати на скриншоте ниже ресурсы RCData в каком-то другом виде и работать с ними можна без проблем. Может не прав - полагаю тоже на DELPHI.
http://s001.radikal.ru/i194/1102/9b/321a6f41b33ct.jpg

Tekton написал(а)
В  шаблонниках.
Например с этим хорошо справляются MULTILIZER, Radialix...

В Radialix раньше пытался пробовать переводить, но он их определяет как уже переведенные, тоесть переводить нечего (на скриншоте обозначаю стрелкой).
http://i015.radikal.ru/1102/04/27a3a8e7f41ft.jpg

В окне редактора выполнить какие-либо изминения с ресурсом не доступно, да и в древе ресурсы как-то тускло подсвечены. Одним словом редактировать не доступно. Не знаю может нужна какая-то настройка в Radialix. В MULTILIZER не пробовал - думаю будет также.

По поводу снятия дампа пока еще не пробовал - нужно как-нибудь испытать.

Что скажете по поводу не переведенной строки после её изменений в HEX-редакторе и того, что не удается обнаружить текст строки.

Отредактировано Balero (2011-02-24 23:32:24)

0

9

Balero написал(а):

В окне редактора выполнить какие-либо изминения с ресурсом не доступно, да и в древе ресурсы как-то тускло подсвечены. Одним словом редактировать не доступно.

Конечно не доступно  :D  там же стоит буквачка  R - что обозначает заблокировано.
http://i056.radikal.ru/1102/b4/85c16c467dabt.jpg

0

10

Tekton написал
Покликай по ней чтоб разблокировать

Значение буквочки R я знаю. Однако после снятия ограничений, ресурс в редакторе по прежнему остается недоступен к изминению (меню Редактировать подсвечено тускло и недоступно):

http://s46.radikal.ru/i114/1102/60/36fb867d5a49t.jpg

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

Да и в ANSI этого ресурса не вижу каких-либо смысловатых слов чтобы изменить - одни кракозаблы.

Отредактировано Balero (2011-02-25 14:31:32)

0

11

Balero написал(а):

Да и в ANSI этого ресурса не вижу каких-либо смысловатых слов чтобы изменить - одни кракозаблы

Значит тебе и не надо его трогать.
Иногда в RCData могут храниться ресурсы , файлы , которые программа потом выкидывает в систему и работает с ними.
Короче... В приложенной картинке я вижу пару ресурсов которые можно переводить это - диалоги, и строки. Остальное вряд ли нужно трогать.  А то можно так полазить, что файл потом не рабочим станет.

0

12

Tekton написал
В приложенной картинке я вижу пару ресурсов которые можно переводить это - диалоги, и строки

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

В целом прога состоит из 5-х окон и меню значка в Трее. Так вот строки меню находит HEX. но при изменении они почему-то не переводятся. В RCData находятся ресурсы диалогов (видно по названиям - о проге, регистрация и т.д).Но так как ресурсы наблюдаются по необычному, думаю может они как-то зашифрованы и поэтому их (в смысле текста) и обнаружить то при этом не удается. Кроме исполняемого в проге есть еще два - один в системной папке, но там тоже ничего интересного.

Вот и спрашиваю можно что-нибудь в этом случае сделать или безнадега. Может Олька подсобит. Почему найденные строки могут не переводится.

Отредактировано Balero (2011-02-25 23:32:53)

0

13

Ссылку дай на переводимую прогу.

0

14

Tekton написал
Ссылку дай на переводимую прогу

http://ifolder.ru/22118754
Имеется в виду перевод лечения (оригинал упакован - чем PEID не справляется)

Прямая закачка с оф. сайта на более свежую версию:
http://www.hmonitor.com/hmonitor.html

Как сделать чтобы вместо текста ссылки отображался свой текст  :dontknow: .

Отредактировано Balero (2011-02-26 15:20:09)

0

15

Balero написал(а):

Как сделать чтобы вместо текста ссылки отображался свой текст  :dontknow: .

[_url=http://адрес сайта]А вместо "Это интересно"[/url] пишешь текст. :glasses:
И после первой скобки убери _

Balero написал(а):

Имеется в виду перевод лечения

Ничего не понял. Перевод какого"лечения" ??? :dontknow:

Balero написал(а):

(оригинал упакован - чем PEID не справляется)

Так PEID не единственный анализатор файлов.
Я например использую в основном два- это
DiE  v. 0.64(чаще всего справляется лучше Пети  :D )
ExeInfoPE (этот тоже хороший анализатор)
так же есть ещё
RDG Packer Detector
И проверяю файл разными анализаторами, а потом делаю вывод, на основании нескольких. :yep:

Ой! Что это я вам говорю всё... Вот >>>ссылка<<< на наш ресурс с распаковщиками, анализаторами и прочими инструментами.
По ссылке "Анализаторы" найдёшь всё нужное.  :yep:

0

16

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

Так PEID не единственный анализатор файлов.
Я например использую в основном два

За ссылку спасибо, но колекция анализаторов (в том числе упоминаемых и тех что по указаной ссылке) у меня имеется. В большинстве случаев также использую так сказать "избранные". Результат работы их пока раньше удовлетворял. Так как ни один из них не обнаружил упаковщика, и большинство ресурсов интересуемого файла в редакторе доступны для изменений, решил, что файл не упакован, вот и задался вопросом, чем и как переводить такие необычно-отображаемые ресурсы.

Ничего не понял. Перевод какого"лечения" ???

Это того, что в папке, находящейся в архиве по первой ссылке, которую давал постом выше.
Хотя после последних экспериментов думаю не имеет значение, какой рассматривать этот или оригинал.

Чтобы понятней, излагаю свои рассужения.
Так как быстрого решения пока не предлагалось предположил, что эти "необычные" ресурсы могли быть как-то сжаты (зашифрованы) в результате изменений, когда интерресуемый файл "приспосабливался" для его прямого назначения. Поэтому более требовательней отнеся к анализу, задействуя большее количество инструментов. При расширенном методе анализа RDG Packer Detector кое-что обнаружил. Произвел анализ оригинала - тоже обнаружился упаковщик, но другой (PETite 1.4). Избавился от PETite соответствующим распаковщиком. В результате, ожидания не оправдались  :no: - интересуемые ресурсы после распаковки редактор отображает в том-же виде, что на ранее выложеном скриншоте - Посмотреть.
Повторно произвел анализ (уже распакованого от PETite) оригинала с помощью RDG Packer Detector. Обнаружилось тоже, что при анализе лекарства( для удобства понимания файлы на скриншотах переименованы):

http://s46.radikal.ru/i113/1102/0b/9b54d2848f5ct.jpg

http://s47.radikal.ru/i116/1102/b0/891bd8643d3at.jpg
 
Не знаю может и не так, но предполагаю, что перед тем как файл упаковать с помощью PETite интересуемые ресурсы предварительно были зашифрованы одним из указывемых протекторов (а может и почердно каждым), поэтому после распаковки они и отображаются в редакторе в ненадлежащем виде и недоступны для изменений. :idea:

Информации по автоматическому избавлению от подобных протекторов на которые указывает RDG Packer Detector не обнаружил, поэтому проверить свои предположения не удалось. По ручной распаковке на подобную тему некоторая инфа есть. По Obsidium есть Здесь и Здесь. Относительно VMProtect, инфи есть чуть больше достаточно - в Гугле ввести "Unpacking VMProtect". К сожалению без особых знаний и тем более на английском, самому сложно и по быстрому не получится. Это уже наверное к реверсникам.

Есть какие рассуждения и предложения на этот случай?

Отредактировано Balero (2011-03-03 13:11:23)

0

17

Balero написал(а):

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

Balero, а как ты сделал подмену шрифта? У меня такая же проблема и я уже запарился искать ее решение! Ребята, кто слышит меня и знает как сделать это - поделитесь опытом!

0

18

antivolan
Мне например подалась программа которая показывала вместо текста хрень какую то.
При чем все фиксы с подменой кодовой страницы не помогали.
Оказалось что автор просто напросто выставил при создании проги какой то левый шрифт.
Я просто случайно обнаружил незнакомое название при анализе проги.
Когда заменил эту хрень на Tahoma то все встало на свои места и программа нормально отображала шрифт.
А вот что имел ввиду Balero под

Balero написал(а):

с помощью подмены шрифта

одному ему известно. :)

0

19

ADMIN®CRACK, а как или чем проанализировать прогу, чтобы увидеть, какие шрифты она использует? Текстовые строки находятся не в ресурсах, а в коде программы.

0

20

antivolan, а можно ссылку на программку?

0

21

Wan, держи!

Жми сюда

Может ты покладешь на лопатки эту упрямую прогу!

0

22

Wan, почему молчим? Выяснил по проге что нибудь? :question:

0

23

Не,  после перевода ромбы с вопросиком , как будто шрифт  неопределен.  тоже сижу жду, может кто прояснит.

0

24

antivolan, в программе всё очень просто - используется кодировка UTF-8.
Здесь смысл локализации заключается в том, чтобы сделать новую секцию в файле с помощью ЭТОЙ ПРОГРАММЫ или другой подобной. Далее делать перенос адресов всех переводимых строк в новую созданную нами секцию файла - делать можно различными способами, например вот по ЭТОЙ СТАТЬЕ. Локализацию делать в кодировке UTF-8 с помощью программы 1251 to HEX, либо подобной.
В данном переводе вижу только минусы:
1. Так как кодировка используется UTF-8, то в кириллице на каждый символ будет уделяться 2 байта, а не как в оригинале 1 байт. Соответственно растет длина переводимого слова. Например, если делать перевод слова Copy, то нам для полного перевода вместо начальных 4 байт потребуется 20 байт места, что в 5 раз больше требуемого размера.
2. Так как ресурсы программы все заключены в строки, то перевод такой довольно таки большой программы может растянуться на длительное время.
3. Использование отладчика для нормальной локализации данного приложения обязательно.

0

25

Balero
vnekrilov, при переводе Olly, использовал OgreGui (она позволяет добавлять строки в конец фала), а чтоб все было на русском и без кракозябр, надо в настройках Olly указать шрифт Юникод, если не поможет, то в каждом окне клик правой кнопкой на заголовок столбца и назначить шрифт Юникод.

0

26

Извиняюсь за поздний отзыв - не было доступа к Инету

antivolan написал(а):

как ты сделал подмену шрифта? У ме/ня такая же проблема и я уже запарился искать ее решение!

Если еще интересует, то в моем случае, как вияснилось, проблема была в том, что шрифт не поддерживал кирилицу. Вияснил имя проблемного шрифта (указывался в файле настоек), открыл переводимую прогу в НЕХ, поиском обнаружил имя указываемого шрифта и заменил его на подходящий с именем не превышающим длину заменяемого. Подсказку к подобным действиям тебе уже давал ADMIN®CRACK постом ниже твоего. В каком месте в твоей проге встречалась проблема- хотелось бы глянуть.

dan8888 написал(а):

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

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

В разделе по мануалах Tekton описал ситуацию как можно изменять контролы (позицию, размер) с помощью Olly, когда значения постоянны. Однако ничего не упоминается как действовать если, значения переменны, что может означать, что один и тот-же код может отвечать за формирование нескольких контролов (при переводе Olly встречается такой случай). После того как это стало головной болью, после длительных эксперементов с помощью той-же Olly все-же удалось в этом случае реализовать управвление контролами как вместе так и с каждым отдельным. Однако для этого нужно добавлять дополнительные инструкции (если интересно может стоит добавить небольшой мануальчик  в этот раздел). Все же в переменную откуда-то заносятся постоянные значения, Может существует вариант чтобы в переменную заносились нужные значения.

Отредактировано Balero (2011-10-23 23:31:14)

0


Вы здесь » BlackStar Localizations Studio » Проблемы с переводом » Двойная кодировка при переводе