Сейчас на форуме: rmn (+9 невидимых) |
eXeL@B —› Основной форум —› Снова создание инлайн патчей |
<< . 1 . 2 . |
Посл.ответ | Сообщение |
|
Создано: 13 марта 2005 22:12 · Личное сообщение · #1 В продолжение темы создания инлайн патчей предлагаю свою тулзу. Она не создает патч, а патчит экзешник, не изменяя его размера, думаю кому-нибудь пригодится. Поддерживаются UPX - все версии (наверное=)), ASPack - 2.12 only, PECompact 2.x (тоже наверное =)). По поводу PECompact'a - я тестил только на трех файлах, поэтому не могу гарантировать успешной работоспособности, поэтому прошу - у кого есть файлы, упакованные PECompact'ом 2.x, киньте на мыло (в профайле) или приаттачте здесь. Подробнее - в ридми. 817c_bkinline.rar |
|
Создано: 20 марта 2005 09:10 · Личное сообщение · #2 |
|
Создано: 20 марта 2005 23:47 · Личное сообщение · #3 |
|
Создано: 21 марта 2005 21:08 · Личное сообщение · #4 Добавил поддержку nSPack 1.3, не знаю нужно ли кому-нибудь, но вдруг пригодится. Еще появилось лого (спасибо Grim Fandango =)). c2fe_bkinline.rar |
|
Создано: 26 марта 2005 16:25 · Личное сообщение · #5 Не хвататет возможности выбрать "стартовый" offset для патча, т.е. чтобы иметь возможность размещать код патча не только в заголовке, но и в произвольном месте файла к тому же небольшой совет по поводу пропатчивания файлов, слинкованных MS Linker'om: в каждом файле, созданном майкрософтовским линкером (начиная с ранних версий и заканчивая последними) существует дополнительная (и избыточная!) информация после PE заголовка, завершающаяся словом Rich поскольку эта инфа избыточна (по идее, её не должно быть), то можно смело писать поверх неё, не корёжа собственно сам заголовок ----- EnJoy! |
|
Создано: 23 ноября 2005 00:13 · Поправил: YDS · Личное сообщение · #6 |
|
Создано: 23 ноября 2005 01:29 · Личное сообщение · #7 |
|
Создано: 23 ноября 2005 08:23 · Личное сообщение · #8 |
|
Создано: 23 ноября 2005 08:29 · Личное сообщение · #9 |
|
Создано: 14 января 2014 18:00 · Личное сообщение · #10 |
|
Создано: 14 января 2014 18:30 · Личное сообщение · #11 |
|
Создано: 14 января 2014 18:34 · Поправил: dosprog · Личное сообщение · #12 |
|
Создано: 14 января 2014 18:51 · Личное сообщение · #13 dosprog Я утилиту не рассматриваю, инлайн-патч пишу вручную. Veliant В импорте запакованной программы есть VirtualProtect и VirtualAlloc, но их вызов запакован, а права Writeable как дать ?? В блоке перед прыжком вызвать VirtualProtect с какими-то определенными параметрами, а как тогда определить RVA запротекченного блока ? он каждый раз разный. |
|
Создано: 14 января 2014 19:13 · Личное сообщение · #14 |
|
Создано: 14 января 2014 19:18 · Поправил: dosprog · Личное сообщение · #15 |
|
Создано: 14 января 2014 22:19 · Личное сообщение · #16 int Жертва в аттаче. Участок кода с патчем: Code:
В таком варианте вроде патч проходит, но как-то не стабильно работает и не на всех системах. Вообще он предназначен для PE-сборки. 151a_14.01.2014_EXELAB.rU.tgz - ERD_Inlined_Final.zip |
|
Создано: 14 января 2014 22:22 · Личное сообщение · #17 > В импорте запакованной программы есть VirtualProtect и VirtualAlloc, но их вызов запакован, а права Writeable как дать ?? Тоесть отложен. Очевидно что и нужно отложить есчо дальше обработку, тоесть заюзать лодер. Если у вас дллка то ваще проблем не вижу. Если это экзешник, то могут быть проблемы. Но они очень маловероятны, посему и описывать их не буду. |
|
Создано: 14 января 2014 22:37 · Личное сообщение · #18 Dr0p Dll-ка тут в качестве прицепа, без нее экзешник не запустится. В принципе первоначально рассматривался вариант перепаковки с патчем инсайд, но как оказалось после штатной распаковки upx -d <имя файла> экзешник валится с непонятной ошибкой типа память не может быть рид. Защиты в этой проге нет, просто необходимо чуть поменять функционал. |
|
Создано: 14 января 2014 22:40 · Личное сообщение · #19 |
|
Создано: 14 января 2014 22:45 · Личное сообщение · #20 |
|
Создано: 14 января 2014 22:48 · Личное сообщение · #21 Dr0p Задача - сделать инлайн-патч модуля, запакованного UPX 3.09 По смещению 01002F14 записать такой код: .01002F14: E98F1D0000 jmp .001004CA8 --↓C .01002F19: 90 nop По началу код вел себя как-то странно, под отладчиком уходило в кернел с сообщением Access Violation. Но после небольшой модификации - (RVA стал брать из edx) вроде заработало, но уход в кернел всё-же возникает, но уже после того как программа загружена и выполняется, первоначально падало сразу. |
|
Создано: 14 января 2014 22:51 · Поправил: Dr0p · Личное сообщение · #22 |
|
Создано: 14 января 2014 22:51 · Личное сообщение · #23 Vovan666 Оригинал. Глянь пожалуйста, почему он падает после анпака. 6969_14.01.2014_EXELAB.rU.tgz - ERD_Exit_Original_Packed.zip |
|
Создано: 14 января 2014 23:01 · Личное сообщение · #24 |
|
Создано: 14 января 2014 23:05 · Личное сообщение · #25 |
|
Создано: 14 января 2014 23:07 · Личное сообщение · #26 |
|
Создано: 14 января 2014 23:12 · Поправил: YURETZS · Личное сообщение · #27 |
<< . 1 . 2 . |
eXeL@B —› Основной форум —› Снова создание инлайн патчей |