Последние сообщения

Страницы: 1 ... 3 4 5 6 7 [8] 9 10
71
RusMe - РусМи! / Re: Смещение строк при переводе
« Последний ответ от leserg73 01 Мая 2020, 20:56:37 »
В Radialix часть строк обрезается наполовину из-за UTF-8.
Конечно будут обрезаться, он то ничего не знает про указатели длин, прописанные в коде для строк. Вы можете в Radialix сделать локализованный файл, а потом в отладчике поправить значения длин. Это намного проще, чем в отладчике вводить строки. Плюс у вас будет проект, который потом легко обновить с выходом новой версии программы. В последствии вы можете потом сделать патч, который будет автоматом исправлять эти значения длин. Первопроходцем быть сложно, зато потом процесс можно автоматизировать.

х64 поддерживается LordPE Deluxe by yoda.
Спасибо, буду иметь ввиду.  :thanks:

Для захода в секцию мне нужно вводить её адреса или через вкладку Карта памяти (x64dbg), я это имел ввиду.
Да откройте её на одной из вкладок Дампа памяти.

72
RusMe - РусМи! / Re: Смещение строк при переводе
« Последний ответ от миха04 01 Мая 2020, 19:59:19 »
Для захода в секцию мне нужно вводить её адреса или через вкладку Карта памяти (x64dbg), я это имел ввиду. В Radialix часть строк обрезается наполовину из-за UTF-8. х64 поддерживается LordPE Deluxe by yoda.
73
RusMe - РусМи! / Re: Смещение строк при переводе
« Последний ответ от leserg73 01 Мая 2020, 18:35:28 »
Не нашёл в Radialix как это сделать.
Radialix делает это на автомате, когда переводите в нем жестко закодированные строки.  Отдельной функции для добавления новой секции в нем нет. Для создания секций в файлах формата PE необходимо использовать соответствующие утилиты и инструменты, например, PETools, PE-Bear, CFF Explorer, Stud-Pe и другие им подобные. На практике я использую CFF Explorer. 

Добавил новую секцию через LordPE. В неё можно попасть через Карту памяти. Что нужно сделать, чтобы секцию было видно не таким путём?
Не уверен, что LordPE умеет работать с 64-бит программами. Очень древняя разработка. Проверьте файл другими PE инструментами.

Немного не понял.
В отладчике любую секцию можно открыть на одной из 5-ти вкладок панели дампа памяти.
Поясните "чтобы секцию было видно не таким путём". Видно где и каким путем?

А в чем проблема при переводе в Radialix? Если строк много, то замучаетесь вручную их переносить. Да и с поддержкой локализации последующих версий приложения будете страдать. Локализованный файл получается нерабочий? Разобраться не пробовали почему? Бывает Radialix портачит файлы. Попробуйте использовать другую версию редактора. Я по большей части использую 2 версию (последнюю), но если что-то не идет, пробую в 3 версии (также последней версии). Также бывает, что не получается рабочий файл программы, тогда смотрю оригинальный и локализованный в РE редакторах, сравниваю заголовки. А бывает достаточно пересохранить локализованный файл из PE редактора в новый файл и он становится рабочим. В большинстве случаев PE редактор автоматом исправляет заголовок, если с ним было что-то не так. Есть и тяжелые случаи, когда ничего не помогает.  Тогда приходится искать альтернативы.

74
RusMe - РусМи! / Re: Смещение строк при переводе
« Последний ответ от миха04 01 Мая 2020, 17:36:35 »
Добавил новую секцию через LordPE. В неё можно попасть через Карту памяти. Что нужно сделать, чтобы секцию было видно не таким путём?
75
RusMe - РусМи! / Re: Смещение строк при переводе
« Последний ответ от миха04 30 Апреля 2020, 19:54:36 »
Не нашёл в Radialix как это сделать. По другим примерам, из сети, тоже ничего. Файл не рабочий. Честно говоря, внятных пояснений, кроме ваших, я не нашёл. Такое впечатление, что люди объясняют сами себе. На Wilek вопросы задавать не могу, такие правила.
76
RusMe - РусМи! / Re: Смещение строк при переводе
« Последний ответ от миха04 29 Апреля 2020, 23:38:22 »
Хорошо. Спасибо за советы. Буду теперь знать.
77
RusMe - РусМи! / Re: Смещение строк при переводе
« Последний ответ от leserg73 29 Апреля 2020, 23:14:59 »
И можно ли как-то всё это побороть?
Можно. Добавить в конце файла новую секцию и все строки сносить туда. Так, например, делает шаблонный редактор Radialix, когда перевод касается жестко закодированных строк.
78
RusMe - РусМи! / Re: Смещение строк при переводе
« Последний ответ от миха04 29 Апреля 2020, 22:46:17 »
Ясно. Грустная история. И можно ли как-то всё это побороть?
79
RusMe - РусМи! / Re: Смещение строк при переводе
« Последний ответ от leserg73 29 Апреля 2020, 22:28:10 »
Места ещё много. На скрине сохранился 1 байт из 37 изменённых. Пробовал в WinHex, всё сохраняется, но отладчик x64dbg это сохранение видит лишь небольшим куском. Файл ограничен по размеру?
Вы ошибаетесь. Там где вы пытаетесь записать свои данные, места как раз-то уже и нет. Если вы перейдете по тому адресу в НЕХ редактор, то увидите, что пытаетесь записать свои данные поверх существующих. В характеристиках секций любого РЕ-файла определены виртуальные границы, куда будут спроецированы данные программы при загрузке её в память. Вот отладчик вам и показывает виртуальную область памяти с кучей пустого места. На самом деле, на физическом уровне, этого пустого места в файле нет. Вы можете сами в этом удостовериться.

Вот смотрите, берем адрес 00000001421289FA,  с которого у вас отладчик отказывается записывать данные патча. Обратите внимание на информационную область под окном дизассемблированного кода. Там отображается физическое смещение в файле по выбранному адресу. Это смещение - 2126BFA.



Переходим по этому смещению в НЕХ редактор, открыв в нем файла программы. Что вы видите?



Вы находитесь уже перед началом следующей секции в файле. Это секция .data, которая начинается со смещения 2126C00.



Обратите внимание на параметры секций "Raw Size" (физический размер) и "Virtual Size" (виртуальный размер). Виртуальный размер обычно всегда больше. Это тот размер, который вы видите в отладчике.

Также в отладчике можно увидеть, где заканчивается секция. Он будет показывать нулевое смещение, т.е. смещения не будет, хотя в памяти эта секция все еще продолжается. Просто опускайтесь вниз по адресам, пока для значения смещения отладчик не покажет ноль.



Вот поэтому отладчик отбрасывает байты, которые выходят за границы физического размера секции. Или вы хотите получить заведомо неработоспособный файл программы?
80
Общий форум / Re: Лoкaлизaция Nоdе-WеbKіt
« Последний ответ от leserg73 29 Апреля 2020, 21:39:00 »
SENKO, таких инструментов нет. Все это делается вручную, нет ничего сложного в этом. Тем более, если работа разовая. Если вы зададитесь целью модифицировать все релизы данной программы, тогда стоит подумать об инструментах, которые помогут вам автоматизировать ручной труд.  ;)

А добавить информацию о локализации можно например так, как показано на прилагаемом рисунке.
Страницы: 1 ... 3 4 5 6 7 [8] 9 10