· Начало · Отвђтить · Статистика · Поиск · FAQ · Правила · Установки · Язык · Выход · WASM.RU · Noir.Ru ·

 WASM Phorum —› WASM.RESEARCH —› Модификация exe файла. Способы?

Посл.отвђт Сообщенiе


Дата: Июн 9, 2003 13:10:15

Подскажите как правильно пропатчить exe если необходимо в него добавить свой код, который не вмещается на месте оригинального. Например, я хочу добавить некую процедуру - как ее вcтавить в уже готовый exe гарантировано не нарушив его работоспособность.


Дата: Июн 9, 2003 13:22:11

Обычно в концах секций есть свободное место, если нет - добавить свою. Многие PE-редакторы это умеют.


Дата: Июн 9, 2003 14:01:10 · Поправил: Dr.Golova

Пиши свой код в dll, дальше прицепи эту длл к импрорту проги, а в DllMain() патчи нужное место в проге на вызов функции из длл. Дешево и сердито - я часто так делаю.


Дата: Июн 9, 2003 15:35:20

LordPE прекрасно справляется с добавлением новой секции,
советую его. А вот небезызвестную утилиту ToPo мой Kaspersky,
с последними обновл. базами, признал почему-то вирусом "ToPo". :-)


Дата: Июн 12, 2003 21:38:24

Воспользуйся OllyDbg'oм - он позволяет добавлять код также просто, как если бы ты писал обычный исходник. К тому же есть функция отмены/добавления кода (изменения кусков кода можно включать/отключать в окне Patch). Кроме этого он позволяет проверить код на работоспособность (на то он и Debugger) и если все проходит нормально - сохранить его в EXE. При этом нет необходимости помнить, по каким адресам расположены измененные куски кода, т.к. OllyDbg позволяет сохранить сразу все изменения в файл. Единственный недостаток - он не изменяет PE-заголовок, поэтому придется его править ручками, или использовать уже имеющиеся функции.


Дата: Июн 12, 2003 21:42:51 · Поправил: Sk. Inc.

Кстати совсем забыл - сохраняй значения регистров, которые были до твоего кода и потом восстанавливай их, т.к. регистры очень часто содержат жизненно важную для проги инфу и ее нарушение приводит к краху программы или даже системы.
Хотя я думаю ты сам об этом все знаешь ;-)


Дата: Июн 17, 2003 17:40:18

Смотря куда - если в самое начало(в смысле кода, а не фаила :)), то ищи в PE заголовке EntryPoint и прописывай туды все, что хочешь...


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.111