Войти

Показать полную графическую версию : Изменить текст в сжатом EXE


Страниц : [1] 2

VilAnoR
11-01-2014, 20:20
Здравствуйте!
Для начала хотел спросить, возможно ли это вообще? Перепробовал все - от извлечения ресурсов до программ для русификации.
Необходимо изменить текст в интерфейсе.

mwz
11-01-2014, 20:23
VilAnoR, распаковать ("разжать") исходный EXE -- заменить -- упаковать (сжать).
Вроде бы так.

VilAnoR
11-01-2014, 20:27
Да, но у меня, к сожалению, сложности с распаковкой исполняемого файла. Как бы Вы посоветовали это сделать?

XPEHOMETP
11-01-2014, 21:02
Дамп из памяти?

VilAnoR
11-01-2014, 21:14
Дамп из памяти?
Нужен? Или имеется в виду имеющийся?

mwz
11-01-2014, 21:30
VilAnoR, надо знать, чем упакован этот файл.
Видимо всё же каким-то из стандартных упаковщиков (7-zip в него входит -- но не совсем корректно) -- так что надо или анализировать в файле заголовок-признак упаковщика, или "тупо" пробовать разные известные распаковщики.

XPEHOMETP,
Точно, это может и проще всего -- если он выгружается в память полностью, а не оверлеями.

PS
VilAnoR, снять дамп запущенной программы из памяти.
PPS
Попробовал натравить на него UniExtract.exe -- но тот определил как 7-zip SFX и вытащил то же самое, что можно вытащить просто с помощью 7-zip. :(

VilAnoR
11-01-2014, 21:36
Не могли бы Вы, мне, пожалуйста, дать процедуру снятия дампа, дабы все было верно?

mwz
11-01-2014, 21:49
VilAnoR, <....> (воспользовался другим универсальным распаковщиком, который всё это проделал с дампом сам).

PS
За результат не ручаюсь: разработчик мог заложить некоторые защитные механизмы. Так что дальше ковыряйте сами.
PPS
И точно: распакованный не запускается нормально, в отличие от исходного... Возможно нужна более свежая версия распаковщика.

VilAnoR
11-01-2014, 22:03
Спасибо за проделанную работу. Каким ПО теперь воспользоваться для решения поставленной задачи? А именно, изменения текста.

mwz
11-01-2014, 22:13
VilAnoR, так он у вас запустился? У меня и в WinXP не стал, вызвав ошибку...
Анализ некоторым инструментарием не позволил определить, чем сжат исходный файл -- так что только если вернуться к дампам памяти. Но тут я уже не посодействую...

VilAnoR
11-01-2014, 22:23
mwz, нет, не запустился.

mwz
11-01-2014, 22:36
VilAnoR, так о чём и речь... Мне его не хотелось запускать без песочницы -- но потом всё же запустил и увидел, что облом.
А если не запускается -- то смысла в остальных действиях нет. Сейчас попробовал (скачал) ещё несколько инструментов -- тоже не помогли, с резюме: "Тип упаковщика определить не удалось".

VilAnoR
11-01-2014, 22:40
mwz, на самом деле распаковка частично помогла, смог выделить 8000+ string ресурсов против 400 у нераспакованного варианта. Но это все же не все.

deviance
11-01-2014, 22:52
Рабочий вариант. (https://drive.google.com/file/d/0B9ZWNMcqXmSSVzk1aGtwMVl0MlE/edit?usp=sharing)

VilAnoR
11-01-2014, 23:01
deviance, Благодарю!
mwz, есть работающий вариант, что дальше?

mwz
11-01-2014, 23:32
VilAnoR, у меня в активе только ResourceHacker http://www.angusj.com/resourcehacker/ и его расширение ResourceHacker-FX http://rammichael.com/resource-hacker-fx (патчит исходный файл не удаляя его, а кладя результат рядом -- так что можно затем пользоваться как оригиналом, так и расширением). Но я крайне редко занимаюсь такими вещами -- и, видимо, есть и более совершенные варианты.

deviance, просто из любопытства (можно не отвечать): использован дамп памяти, или определён метод упаковки? :)

deviance
12-01-2014, 00:05
mwz, использован дамп, метод упаковки - UPX. Из файла удален служебный заголовок UPX, поэтому upx -d не срабатывает.

VilAnoR
12-01-2014, 00:51
mwz, ResourceHacker, к сожалению, не открывает ресурсы. Уже пробовал.

Все, проблема решена ResTunerом! Спасибо большое за распаковку!

VilAnoR
12-01-2014, 01:15
Правда я поторопился, выдает ошибку при обратном сохранении "невозможно найти y?.dll", но это видимо я что-то не верно делаю

VilAnoR
12-01-2014, 01:35
После некоторых операций суть ошибки сводится к тому, что после редактирование приложение не запускается под win 32. Я пока что сам попробую разобраться что к чему. Видимо нужно компилировать обратно будет.




© OSzone.net 2001-2012