Xara Designer Pro X365
-
Здравствуйте!
1) В программе Xara Designer Pro X365 есть функция вставки содержимого из каталога в Интернете. Он открывается в своем окне прямо из программы. У этого каталога на сервере есть локализация на несколько языков, которая подхватывается автоматически в зависимости от кода языка, который программа передала серверу. Сама программа никогда не была переведена на русский, но, как ни странно, у каталога есть свой перевод на русский.
Так как я создал файлы русских ресурсов, программа стала считать себя русской, т. е. записала сведения об этом в реестр. Когда я открываю каталог, он открывается с русским переводом, который есть на сервере. НО! На сервере перевод неполный, для многих строк перевода нет. Выглядит это очень плохо. Если в реестре я изменю определенные значения кода языка (HKEY_CURRENT_USERSOFTWAREXaraXtremePro x6412Resources) с 1049 на 1033, программа передаст серверу данные о том, что она англоязычна, и страница каталога будет отображена на английском, без каких-либо изъянов (см. на этом видео). В папке программы файлы перевода для каталога ЕСТЬ (в папках C:Program FilesXaraXara Designer Pro X12asefileswebsharedlocalisation и C:UsersФедорAppDataLocalXaraXtremePro12websharedlocalisation, во вторую папку все копируется из первой при первом запуске программы), но они игнорируются, т. е. программа принудительно скачивает перевод с сервера (во временную папку IE C:UsersпользовательAppDataLocalMicrosoftWindowsINetCacheIE). Когда я закрываю программу, в реестре снова возвращаются значения 1049. Если я для этого раздела реестра задам режим доступа "Только чтение" и принудительно задам 1033, программа начнет выдавать ошибки. Короче говоря, я не могу программу заставить использовать английский язык в каталоге или перевести каталог по-нормальному на русский.
2) Также в программе есть строки, которые я нигде не могу найти. Это всплывающие подсказки, появляющиеся на маркерах поворота и изменения размера вставленных фотографий: см. пример здесь и здесь. Под подозрение попадают файлы q.eng/q.ita/q.deu... из папки C:Program FilesXaraXara Designer Pro X12asefilesfilesv12.4. Там как раз, судя по расширениям файлов q, есть переводы для нескольких языков, кроме русского. К сожалению, разобраться в их содержимом мне оказалось не по силам: непонятные коды.
Прикрепляю ссылки на скачивание программы, а также свой недоделанный перевод.28 ноября 2016 - 10:12 / #1 -
Оффлайн
Звание: Ветеран
Команда сайта
Сообщений: 946
Создано тем: 79
Рейтинг: 8
Репа: (131|131|0)
Баллы: 1681
Был: 2024-12-12 23:16
Лайков: 168
Привет!
Интересная задачка... Смотрю пока никого не осенило...
По первому вопросу. Если я правильно понял, необходимо сделать так, чтобы для указанных параметров реестра всегда записывалось значение кода английского языка, а именно 1033 (409h). Так?
По второму вопросу. Эти файлы являются обфусцированными сценариями Java (.js). Надо искать инструмент, который позволит их деобфусцировать (фу, блин, ну и словечко, язык сломать можно ). Я пока ничего не нашел.
P.S. А ты не пробовал отправить перевод разработчику? Тогда бы и проблемы не было бы.28 ноября 2016 - 11:12 / #2 -
Спасибо за ответ!
1) Если в реестре принудительно только для чтения поставить 1033, программа выдаст ошибки. Но ошибок не будет, если во время выполнения программы, когда все её компоненты уже загружены, изменить эти значения в реестре. И на сервер не залезешь и файлы не подменишь, это уже хакерство будет.
2) И зачем это им понадобилось делать?.. Может эти файлы были созданы в каком-нибудь особом редакторе...
Попробовать отправить можно, но только через год, к тому моменту новую версию выпустят. Ухожу через несколько дней в армию, уже не успеваю.28 ноября 2016 - 11:42 / #3 -
Цитата: LesergЭти файлы являются обфусцированными сценариями Java (.js).
Помню у тебя уже был опыт в деобфусцировании таких файлов, что-то там для Сталевара вроде как дешифровал.Цитата: TeodorrrroУхожу через несколько дней в армию, уже не успеваю.
Да ну какая тогда русификация! Нужно хорошенько нагуляться за эти дни28 ноября 2016 - 12:42 / #4 -
Оффлайн
Звание: Ветеран
Команда сайта
Сообщений: 946
Создано тем: 79
Рейтинг: 8
Репа: (131|131|0)
Баллы: 1681
Был: 2024-12-12 23:16
Лайков: 168
Цитата: NexusПомню у тебя уже был опыт в деобфусцировании таких файлов
Я уже и не помню. Если бы каждый день с ними возился, а так раз в два года.Цитата: TeodorrrroИ зачем это им понадобилось делать?..
Этого мы никогда не узнаем.Цитата: TeodorrrroМожет эти файлы были созданы в каком-нибудь особом редакторе...
Ну может они каким-то особым редактором и пользуются, а так это можно сделать в блокноте.
Короче, вот деобфускатор: jаvascript Deobfuscator. Проверил - работает!
Держи распакованный: q.zip
Кодировка документа должна быть UTF-8. Иначе будут кракозяблики. Что переводить - думаю, разберешься. Готовый файл положить в каталоги
C:Program FilesXaraXara Designer Pro X12asefilesfilesv12.4
и
С:UsersИмя_пользователяAppDataLocalXaraXtremePro12webasefilesv12.4
Потом открой в текстовом редакторе файл jsfiles-index.xml, найди в нем строку
[code=xml][/code]
и замени на
[code=xml][/code]
Контрольную сумму CRC готового файла q.rus запиши в теге checksum. Сохрани изменения.
Закрой программе доступ в сеть и только после этого запускай. Теперь подсказки будут на русском.
Как только программа увидит окно в сеть, файл jsfiles-index.xml будет автоматически загружен с сервера и русского не будет. Если на файл jsfiles-index.xml установить атрибут "только для чтения" (именно по нему выполняется подстановка нужной локализации), то при запуске программа сообщит об ошибке и функция подсказок работать не будет. Поэтому надо подумать, как отключить функцию его обновления.
Сколько у меня дней в запасе? Или оставим на год? В принципе, время пролетит быстро.29 ноября 2016 - 12:42 / #5 -
Отключить доступ к серверу? Только звучит это плохо, пусть останется как есть.
Конечно год! Спасиб за помощь, круто!29 ноября 2016 - 13:42 / #6 -
Оффлайн
Звание: Ветеран
Команда сайта
Сообщений: 946
Создано тем: 79
Рейтинг: 8
Репа: (131|131|0)
Баллы: 1681
Был: 2024-12-12 23:16
Лайков: 168
Цитата: TeodorrrroОтключить доступ к серверу?
Ну, фаерволом закрыть можно. Конечно это не выход, так как перестает работать функция вставки из Интернет-каталога.
Сейчас смотрю возможность отключения обновления ТОЛЬКО для файла jsfiles-index.xml. Если сделаю, то скину решение (то ли файл, то ли файлы).30 ноября 2016 - 23:34 / #7 -
Оффлайн
Звание: Ветеран
Команда
Сообщений: 1211
Создано тем: 39
Рейтинг: 8
Репа: (42|41|-1)
Баллы: 86
Был: 2018-12-02 14:30
Лайков: 18
Teodorrrro , есть два варианта
1 отдать на этот год поддержку русика Leserg
2 берешь в армию ноут и всё пучком
программа такая своеобразнаяЦитата: LesergСейчас смотрю возможность отключения обновления ТОЛЬКО для файла jsfiles-index.xml.
это если разработчик не предусмотрел удаление (в том числе и принудительное) старого файла + инсталляция нового.Сообщение отредактировал gazon01 30 ноября 2016 - 23:46Возможно всё! На невозможное просто требуется больше времени.
Мудрец из Шангри Ла30 ноября 2016 - 23:51 / #8 -
Оффлайн
Звание: Ветеран
Команда сайта
Сообщений: 946
Создано тем: 79
Рейтинг: 8
Репа: (131|131|0)
Баллы: 1681
Был: 2024-12-12 23:16
Лайков: 168
Цитата: gazon01это если разработчик не предусмотрел удаление (в том числе и принудительное) старого файла + инсталляция нового.
Так он так и делает. При запуске сабжа, пока на экране светится заставка, он ломится на сервер и грузит новый файл, текущий файл удаляет. Но, если доступа в Инет нету, то используется текущий файл. Я уже нашел это место в коде, теперь надо его аккуратненько выпилить. Атака в лоб пока неудачная.1 декабря 2016 - 00:00 / #9 -
Оффлайн
Звание: Ветеран
Команда
Сообщений: 1211
Создано тем: 39
Рейтинг: 8
Репа: (42|41|-1)
Баллы: 86
Был: 2018-12-02 14:30
Лайков: 18
Цитата: LesergЯ уже нашел это место в коде, теперь надо его аккуратненько выпилить.
может получиться такая штука, что программа обновится до новой версии, а вместо букв будет код (ведь русский не обновится), или там английский автоматом подхватится?
это когда разработчик внесёт изменения в файл(ы) программыСообщение отредактировал gazon01 1 декабря 2016 - 00:23Возможно всё! На невозможное просто требуется больше времени.
Мудрец из Шангри Ла1 декабря 2016 - 00:20 / #10