![]() |
Изменить текст в сжатом EXE
Вложений: 1
Здравствуйте!
Для начала хотел спросить, возможно ли это вообще? Перепробовал все - от извлечения ресурсов до программ для русификации. Необходимо изменить текст в интерфейсе. |
VilAnoR, распаковать ("разжать") исходный EXE -- заменить -- упаковать (сжать).
Вроде бы так. |
Да, но у меня, к сожалению, сложности с распаковкой исполняемого файла. Как бы Вы посоветовали это сделать?
|
Дамп из памяти?
|
Цитата:
|
VilAnoR, надо знать, чем упакован этот файл.
Видимо всё же каким-то из стандартных упаковщиков (7-zip в него входит -- но не совсем корректно) -- так что надо или анализировать в файле заголовок-признак упаковщика, или "тупо" пробовать разные известные распаковщики. XPEHOMETP, Точно, это может и проще всего -- если он выгружается в память полностью, а не оверлеями. PS VilAnoR, снять дамп запущенной программы из памяти. PPS Попробовал натравить на него UniExtract.exe -- но тот определил как 7-zip SFX и вытащил то же самое, что можно вытащить просто с помощью 7-zip. :( |
Не могли бы Вы, мне, пожалуйста, дать процедуру снятия дампа, дабы все было верно?
|
VilAnoR, <....> (воспользовался другим универсальным распаковщиком, который всё это проделал с дампом сам).
PS За результат не ручаюсь: разработчик мог заложить некоторые защитные механизмы. Так что дальше ковыряйте сами. PPS И точно: распакованный не запускается нормально, в отличие от исходного... Возможно нужна более свежая версия распаковщика. |
Спасибо за проделанную работу. Каким ПО теперь воспользоваться для решения поставленной задачи? А именно, изменения текста.
|
VilAnoR, так он у вас запустился? У меня и в WinXP не стал, вызвав ошибку...
Анализ некоторым инструментарием не позволил определить, чем сжат исходный файл -- так что только если вернуться к дампам памяти. Но тут я уже не посодействую... |
mwz, нет, не запустился.
|
VilAnoR, так о чём и речь... Мне его не хотелось запускать без песочницы -- но потом всё же запустил и увидел, что облом.
А если не запускается -- то смысла в остальных действиях нет. Сейчас попробовал (скачал) ещё несколько инструментов -- тоже не помогли, с резюме: "Тип упаковщика определить не удалось". |
mwz, на самом деле распаковка частично помогла, смог выделить 8000+ string ресурсов против 400 у нераспакованного варианта. Но это все же не все.
|
|
deviance, Благодарю!
mwz, есть работающий вариант, что дальше? |
VilAnoR, у меня в активе только ResourceHacker http://www.angusj.com/resourcehacker/ и его расширение ResourceHacker-FX http://rammichael.com/resource-hacker-fx (патчит исходный файл не удаляя его, а кладя результат рядом -- так что можно затем пользоваться как оригиналом, так и расширением). Но я крайне редко занимаюсь такими вещами -- и, видимо, есть и более совершенные варианты.
deviance, просто из любопытства (можно не отвечать): использован дамп памяти, или определён метод упаковки? :) |
mwz, использован дамп, метод упаковки - UPX. Из файла удален служебный заголовок UPX, поэтому upx -d не срабатывает.
|
mwz, ResourceHacker, к сожалению, не открывает ресурсы. Уже пробовал.
Все, проблема решена ResTunerом! Спасибо большое за распаковку! |
Правда я поторопился, выдает ошибку при обратном сохранении "невозможно найти y?.dll", но это видимо я что-то не верно делаю
|
После некоторых операций суть ошибки сводится к тому, что после редактирование приложение не запускается под win 32. Я пока что сам попробую разобраться что к чему. Видимо нужно компилировать обратно будет.
|
Пробую через Delphi, но не особо в нем понимаю. Проблема вот какая, распакованный файл получается разделить на ресурсы, но далее собрать вместе не выходит - если вместо скомпелированного файла формы добавить его же отредактированный, он получается расширения dfm, а программа перестает запускаться под win32.
Теперь мне необходимо как-то изменить одну из форм в программе, чтобы она при этом запустилась после изменения. |
VilAnoR, я так понял, вы хотите изменить только надпись.
Не пробовали изменить ресурс-надпись так, чтобы длина осталась неизменной (использованием пробелов хотя бы, или добив шестнадцатеричными нулями в конце)? Скорее всего это можно сделать шестнадцатеричным редактором прямо в распакованном файле. |
Время: 11:44. |
Время: 11:44.
© OSzone.net 2001-