Acoustica Premium Edition

После перевода проявляются крякозябли
  1. Оффлайн

    Автор темы

    Nexus

    Звание: Бывалый

    Администраторы

    Сообщений: 371

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

    Рейтинг: 6

    Репа: (24|24|0)

    Acoustica Premium Edition


    Многофункциональный аудиоредактор с поддержкой многоканальных форматов объемного звука 5.1 и 7.1. Средства программы обеспечат точное управление деталями производства аудио CD (длина пауз, индексные маркеры, поля CD-TEXT). В Acoustica Premium встроен широкий диапазон инструментов профессионального качества для мастеринга и звукового дизайна, а также имеется функция прожига CD и создания обложек и наклеек.
    3 октября 2013 - 20:19 / #1
  2. Оффлайн

    Teodorrrro

    Звание: Новичок

    Команда сайта

    Сообщений: 78

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

    Рейтинг: 2

    Репа: (9|9|0)

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

    В Radialix выгружаю ресурс:


    Перевожу одно слово в Notepad++ (все буквы чередуются с символами конца строки? surprised


    Загружаю обратно в Radialix:


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


    Заранее благодарен!

    Внимание! У вас нет прав для просмотра скрытого текста.
    Сообщение отредактировал WYLEK 31 июля 2018 - 12:49
    4 октября 2013 - 06:19 / #2
  3. Оффлайн

    Leserg

    Звание: Эксперт

    Команда сайта.

    Сообщений: 581

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

    Рейтинг: 7

    Репа: (109|109|0)

    Цитата: teodorrrro
    Запускаю - все работает, но кракозябры победить не удается.


    teodorrrro, кодировка строк Unicode!!! , а не чередование символами конца строки. smile
    После перевода, возможно, придется в НЕХ-редакторе корректировать указатели на длину строк.

    Кто ищет, тот всегда найдет!

    4 октября 2013 - 07:19 / #3
  4. Оффлайн

    Teodorrrro

    Звание: Новичок

    Команда сайта

    Сообщений: 78

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

    Рейтинг: 2

    Репа: (9|9|0)

    Leserg, Спасибо!


    И снова проблема.
    Файл Declick.dll содержит жестко-закодированные строки, те, что в WIDEZ, переводятся на ура, а в ASCIIZ задание кодировки не лечит кракозябры...
    В реестре замены cp1250,52,53 -> cp1251 и в Font Suntitles не приводят ни к какому результату. crazy_mini




    Внимание! У вас нет прав для просмотра скрытого текста.

    Заранее благодарю!
    Сообщение отредактировал WYLEK 31 июля 2018 - 12:51
    4 октября 2013 - 07:39 / #4
  5. Оффлайн

    Leserg

    Звание: Эксперт

    Команда сайта.

    Сообщений: 581

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

    Рейтинг: 7

    Репа: (109|109|0)

    Цитата: teodorrrro
    И снова проблема. Файл Declick.dll...

    У меня не получается справиться с твоей проблемой. sad Нужна помощь нашего товарища Nexus.

    Nexus, если получится, то хотя бы тезисно напиши, как удалось это сделать. Я в отладчике файл Declick.dll открыл, задал поиск по кодировкам, нашел только UTF-8 (FDE8) (там еще рядом функции проверки кодовой страницы (KERNEL32.IsValidCodePage) и локали (KERNEL32.IsValidLocale) ). Мне не ясно, в том ли я направлении двигаюсь или вообще в противоположном. wacko

    Кто ищет, тот всегда найдет!

    4 октября 2013 - 07:49 / #5
  6. Оффлайн

    Автор темы

    Nexus

    Звание: Бывалый

    Администраторы

    Сообщений: 371

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

    Рейтинг: 6

    Репа: (24|24|0)

    Мммм... Довольно трудная проблема. Изменения в реестре Винды и подмена шрифта абсолютно здесь не помогут. Тут физическое (в самом коде) превращение ANSI кодировки в Юникод. Простыми словами, программа в строку, к примеру, "Щелчков в секунду" вставляет нули и получается вот такое:



    Leserg, если интересно, то эти "перерабатывающие" места находятся по адресу 0460B490 и 04607F40. Ставь на них останов и понаблюдай за происходящим...
    Возможно я и смогу что-то сделать, но на это нужно время. Если время терпит, то что-то изобрету biggrin
    Сообщение отредактировал WYLEK 31 июля 2018 - 12:52
    4 октября 2013 - 08:49 / #6
  7. Оффлайн

    Teodorrrro

    Звание: Новичок

    Команда сайта

    Сообщений: 78

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

    Рейтинг: 2

    Репа: (9|9|0)

    Nexus, спасибо за такое глубокое погружение в проблему, но стоит ли овчинка выделки? sad

    Время терпит, пусть пока полежит на полке. tongue
    4 октября 2013 - 09:49 / #7
  8. Оффлайн

    Leserg

    Звание: Эксперт

    Команда сайта.

    Сообщений: 581

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

    Рейтинг: 7

    Репа: (109|109|0)

    Цитата: Nexus
    если интересно, то эти "перерабатывающие" места находятся по адресу 0460B490 и 04607F40


    Мне очень интересно, но у меня нет таких адресов chok_mini
    Я открыл файл Declick.dll в отладчике и код сразу начинается с адреса 10001000. Или я не так открываю?

    Кто ищет, тот всегда найдет!

    4 октября 2013 - 10:49 / #8
  9. Оффлайн

    Автор темы

    Nexus

    Звание: Бывалый

    Администраторы

    Сообщений: 371

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

    Рейтинг: 6

    Репа: (24|24|0)

    Leserg, наверное программа осуществляет динамическое смещение кода, хотя что-то на это не похоже...
    Вот скрины этих функций:






    Цитата: Leserg
    Или я не так открываю?


    Да как-то непонятно у тебя открыто... А какая у тебя последовательность открытия файла? Я, например, запускаю всю программу вместе с плагином, а потом отладчиком прикрепляюсь к процессу AcousticaPE.exe через File -> Attach.... Потом уже выбираю модуль DeClick.dll через View -> Executable modules. Да, на Win 7 отладчик может некорректно работать, по крайней мере у меня...

    teodorrrro, найдена причина неправильного отображения русских букв, точнее, место где они портятся. Это баг то ли программиста, то ли компилятора программы. Решение есть, но пока напряг со временем. Когда исправлю все, тода здесь и отпишусь...
    Сообщение отредактировал WYLEK 31 июля 2018 - 12:52
    4 октября 2013 - 11:49 / #9
  10. Оффлайн

    Leserg

    Звание: Эксперт

    Команда сайта.

    Сообщений: 581

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

    Рейтинг: 7

    Репа: (109|109|0)

    Цитата: Nexus
    Я, например, запускаю всю программу вместе с плагином, а потом отладчиком прикрепляюсь к процессу


    Я так никогда не делал... Просто открывал файл (File -> Open). Попробовал как ты написал: запустил программу, загрузил в неё плагин, потом запустил отладчик, прицепил в нем процесс исполняемого файла программы, и наконец выбрал модуль плагина DeClick.dll. Но адресное пространство у него было другое, не то что указал. К примеру участок кода, который ты показал на первом скриншоте, у меня лежит в следующем диапазоне.
    Но дальше я не сдвинулся. Ставил тут бряк, вижу строки прогоняются, а как повлиять на кодировку не понял.

    Цитата: Nexus
    найдена причина неправильного отображения русских букв, точнее, место где они портятся.


    Нет слов... одни восклицания...

    Цитата: Nexus
    Это баг то ли программиста, то ли компилятора программы.


    Я думаю, что это баг программиста. Или неправильно применяет преобразование строк. Или устанавливает диапазон символов 0 - 128, что облегчает алгоритм преобразования кодировок, но рубит на корню поддержку национальных символов (диапазон 128 -256).

    Кто ищет, тот всегда найдет!

    4 октября 2013 - 12:11 / #10

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

---
Создано тем
861
Всего сообщений
7519
Пользователей
14561
Новый участник
Виктор Павлов