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

Страницы: 1 ... 4 5 6 7 8 [9] 10
81
RusMe - РусМи! / Re: Смещение строк при переводе
« Последний ответ от миха04 29 Апреля 2020, 23:38:22 »
Хорошо. Спасибо за советы. Буду теперь знать.
82
RusMe - РусМи! / Re: Смещение строк при переводе
« Последний ответ от leserg73 29 Апреля 2020, 23:14:59 »
И можно ли как-то всё это побороть?
Можно. Добавить в конце файла новую секцию и все строки сносить туда. Так, например, делает шаблонный редактор Radialix, когда перевод касается жестко закодированных строк.
83
RusMe - РусМи! / Re: Смещение строк при переводе
« Последний ответ от миха04 29 Апреля 2020, 22:46:17 »
Ясно. Грустная история. И можно ли как-то всё это побороть?
84
RusMe - РусМи! / Re: Смещение строк при переводе
« Последний ответ от leserg73 29 Апреля 2020, 22:28:10 »
Места ещё много. На скрине сохранился 1 байт из 37 изменённых. Пробовал в WinHex, всё сохраняется, но отладчик x64dbg это сохранение видит лишь небольшим куском. Файл ограничен по размеру?
Вы ошибаетесь. Там где вы пытаетесь записать свои данные, места как раз-то уже и нет. Если вы перейдете по тому адресу в НЕХ редактор, то увидите, что пытаетесь записать свои данные поверх существующих. В характеристиках секций любого РЕ-файла определены виртуальные границы, куда будут спроецированы данные программы при загрузке её в память. Вот отладчик вам и показывает виртуальную область памяти с кучей пустого места. На самом деле, на физическом уровне, этого пустого места в файле нет. Вы можете сами в этом удостовериться.

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



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



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



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

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



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

А добавить информацию о локализации можно например так, как показано на прилагаемом рисунке.
86
Общий форум / Re: Лoкaлизaция Nоdе-WеbKіt
« Последний ответ от SENKO 29 Апреля 2020, 19:40:37 »
Интepecнo, lеѕеrg73, ecть ли cпocoб peдaктиpoвaния вcex этиx pecypcoв бeз пoбaйтнoгo мyчeния (тaм вeдь гopaздo бoльшe pecypcoв, чeм NODE.JS)? Moжнo ли вытaщить иx вcex из NW.ЕХЕ, oтpeдaктиpoвaть, a зaтeм впpыcнyть нaзaд, кaкoй-либo инcтpyмeнт (или Bы o тaкoм нe cлышaли)?

Koгдa нa пpoшлoй нeдeлe миниcтp cпopтa Oлeг Maтыцин cкaзaл, чтo cпopтcмeнaм нe paзpeшaт тpeниpoвки (и oни, cooтвeтcтвeннo, быcтpo пoтepяют физичecкyю фopмy и лишaтcя мeдaлeй copeвнoвaний и oлимпиaд), a кapaнтинныe мepы «oдинaкoвo pacпpocтpaняютcя и нa cфepy cпopтa», дивный Kиpилл Kлeймёнoв изpёк: «Знaчит, oпять пoдвиг».

Знaчит, oпять пoбaйтный пoдвиг...
87
RusMe - РусМи! / Re: Смещение строк при переводе
« Последний ответ от миха04 29 Апреля 2020, 12:54:05 »
Странная вещь происходит в отладчике x64dbg. 64-битная версия отказывается сохранять изменения при добавлении строки на новый адрес. Места ещё много. На скрине сохранился 1 байт из 37 изменённых. Пробовал в WinHex, всё сохраняется, но отладчик x64dbg это сохранение видит лишь небольшим куском. Файл ограничен по размеру?
88
Общий форум / Re: Лoкaлизaция Nоdе-WеbKіt
« Последний ответ от leserg73 29 Апреля 2020, 05:00:39 »
Ясно. Да, эти сценарии находятся в исполняемом файле, в коде. И они не запрятаны, а лежат в явном виде. Достать можно при помощи шестнадцатеричного редактора. Затем в текстовом редакторе можно модифицировать сценарий, правда не сильно. Размер измененного сценария не должен превышать размер оригинального. В противном случае его не удастся вставить обратно в файл приложения не нарушив его работоспособность. Затем в том же шестнадцатеричном редакторе выполнить замещение исходных данных сценария новыми данными. Если предполагается кардинальная модификация сценария, предусматривающая существенное увеличение его размера по сравнению с оригиналом, то тут лучшим вариантом будет модификация исходного кода с последующей компиляцией приложения. Благо исходники доступны.

В данной версии приложения размер сценария node.js составляет 26779 байт. Находится в файле nw.exe по смещению с 1F06268 по 1F0CB02. Как вы хотите его модифицировать?

По поводу информации о локализации. Свою вкладку добавить не получиться, разве что только в исходном коде с последующей компиляцией новой версии. Можно добавить надпись на главную страницу приложения, которая отображается после его запуска (где написано "NODE-WEBKIT"). Это HTML страничка. Находится в файле ресурса nw.pak под именем 57501.html.

 :wave:
89
Общий форум / Re: Лoкaлизaция Nоdе-WеbKіt
« Последний ответ от SENKO 29 Апреля 2020, 01:48:24 »
A Bы пocмoтpитe aнимaцию cвepxy (втopaя кapтинкa). NODE.JS тaм ecть! Этo вcё cпpятaнo в NW.ЕХЕ, нo дocтyпa тyдa oбычными cpeдcтвaми нeт! Pacпaкoвщик выпoлняeт cвoю зaдaчy pacпaкoвки (xoтя вce фaйлы пepeимeнoвывaeт, и нaдo вcё вpyчнyю иcкaть), нo нa этoм вcё! Kaк, нaпpимep, дoбaвить cвoю вклaдкy c инфopмaциeй o лoкaлизaции? Caмой лoкaлизaциeй зaймycь зaвтpa, ceйчac пopa cпaть.
90
Общий форум / Re: Лoкaлизaция Nоdе-WеbKіt
« Последний ответ от leserg73 29 Апреля 2020, 01:27:15 »
О каких скриптах вы говорите?
Почему вы считаете, что они зашиты в NW.EXE?
Кстати, программа доступна в исходном коде и я там не вижу никакого NОDЕ.ЈЅ. Может вы ошибаетесь или не там ищите? Укажите конкретно, что и где. Я к примеру, с вашей программой не знаком, что она делает тоже не знаю. О каких скриптах вы говорите - понятия не имею.  :idontnow:

Во-вторых, даже если вам удастся добавить в файл ресурсов nw.pak что-то свое, то сама программа этого не увидит, так как абсолютно ничего не знает про ваши данные. Это решается на этапе программирования. Добавляется в проект новый ресурс и программируются условия его обработки и вызова. Иначе никак.  :umnik:

У вас неверный подход к решению задачи. Распаковщик то как раз и выполняет возложенную на него задачу: позволяет извлечь данные для последующей модификации, а затем собрать обратно. Вы же пытаетесь получить от него то, что он не умеет. Сейчас вы можете заняться локализацией приложения, у вас для этого уже все есть.   :yes:
Страницы: 1 ... 4 5 6 7 8 [9] 10