eXeL@B —› Софт, инструменты —› Инжект кода в ПЕфайл, если такая утилита? |
Посл.ответ | Сообщение |
|
Создано: 17 апреля 2014 09:53 · Личное сообщение · #1 Что бы сразу в файл инжектилось, а не в процесс.Например инжектируемый код оформлен в виде длл, в длл одна экспортируемая ф-ция примерно такого вида: Code:
Т.е. есть целевое экзе куда будет инжектиться код,тулза и выше описанная длл.После инжекта сооотвественно перед оригинальной точкой входа выполниться выше описанная ф-ция.В природе есть такие тулзы? А если нету то был бы от подобной тулзы какой то прок? |
|
Создано: 17 апреля 2014 10:07 · Поправил: TryAga1n · Личное сообщение · #2 |
|
Создано: 17 апреля 2014 10:18 · Личное сообщение · #3 |
|
Создано: 17 апреля 2014 10:48 · Личное сообщение · #4 |
|
Создано: 17 апреля 2014 11:48 · Личное сообщение · #5 |
|
Создано: 17 апреля 2014 12:52 · Личное сообщение · #6 |
|
Создано: 17 апреля 2014 13:05 · Личное сообщение · #7 |
|
Создано: 17 апреля 2014 16:37 · Поправил: UniSoft · Личное сообщение · #8 по-моему такая тулза бесполезна... Но вот тулза типа мемори-патчера, работающая на уровне сервиса или драйвера, которая загружалась бы автоматически с системой и отлавливала запуски новых процессов и загрузку dll и вобщем мем-патчила их, если описание есть в базе... ну например, храним базу в ini файле: [c:\Program Files\some.exe] ; тоже и для dll'ок size=12345 crc32=12345678 check1=00400FF0:0000000000 ; чтобы убедиться что там нужное... patch1=00400FF0:31C0C20C00 ; сам патч patch2=00402000:9090909090 ; второй патч, и т.д. hookaddr=004XXXXX:004XXXXX ; хук адреса, откуда:куда hookAPI=Wintrust.WinVerifyTrust:00400FF0 ; API:куда прыгнуть replace=addr:size:pattern:data fillnop = addr:size fillzero = addr:size fillint3 = addr:size ну и т.д. Вобщем патчер, но без физического патча файлов на диске... Знаю, что можно просто лоадер написать... Но так было бы удобнее. PS: так, размышления... и не сравнивайте со всякими артманями и т.д. Таких тулз пока нет и не было. |
|
Создано: 17 апреля 2014 16:41 · Личное сообщение · #9 |
|
Создано: 17 апреля 2014 17:19 · Личное сообщение · #10 |
|
Создано: 17 апреля 2014 17:47 · Личное сообщение · #11 |
|
Создано: 17 апреля 2014 18:03 · Поправил: ajax · Личное сообщение · #12 kruasancheg матчасть учите - FF15/FF25 - прямой вызов. и вариантов масса. вплоть до инъекции в хеадер и релоки, аха ----- От многой мудрости много скорби, и умножающий знание умножает печаль | Сообщение посчитали полезным: TLN |
|
Создано: 17 апреля 2014 18:11 · Личное сообщение · #13 |
|
Создано: 17 апреля 2014 18:19 · Поправил: ajax · Личное сообщение · #14 UniSoft я понимаю. но, оно будет именно одним целым, без хука в памяти? кста, собс-но он тоже целостность в этом плане не предлагает. про PE формат отдельная тема. если смысл loadlib() перед OEP - то это далеко не Колумб и не всегда айс ваще бы потер все темы ентого юзера. особенно - найденая формула в прошлой впечатлила ps: XE5-6 видел, респект сам все еще на XE3, ибо стэйбл kruasancheg пишет: Я имею ввиду что будет один целостный файл.Почти вирус(ПЕинфект по сути), но не размножается, потому и не вирус да, джойнеров тут никогда не обсуждалось. в натуре, америка открылась. еще и с N челами, как и я, подумавшими про трогание импорта ----- От многой мудрости много скорби, и умножающий знание умножает печаль |
|
Создано: 17 апреля 2014 18:48 · Поправил: kruasancheg · Личное сообщение · #15 |
|
Создано: 17 апреля 2014 19:46 · Личное сообщение · #16 |
|
Создано: 17 апреля 2014 20:27 · Поправил: ajax · Личное сообщение · #17 |
|
Создано: 13 мая 2014 13:54 · Поправил: drin · Личное сообщение · #18 ТС явно хочет тулзу для "склеивания" двух PE файлов, хз есть ли такая в общем доступе, я готовых решений не видел, для своих целей я сам стряпал на коленке, выкладывать не собираюсь так как оно заточено только под мою задачу и ни каких не стандартных для нее ситуаций не предусмотрено... но в принципе задача вполне решаема: 1) вырезаем секцию с кодом из одного файла и добавляем ее в другой (нужны релоки хотя бы в одном из них что бы исправить адреса после изменения базового адреса) 2) ребилдим IAT, склеивая таблици из обоих файлов 3) при необходимости перестраиваем таблицы релоков и экспортов, склеивая таблици из обоих файлов 4) добавляем в конец своего кода прыжок в оригинальный Entry Point 5) правим headers (Entry Point, Size of Image, etc...) в вашем случае вы предусматриваете переход на OEP из вклеиной ф-ии, следовательно вам нужно создать код Entry Point самому, код который будет передавать ваши аргументы в т.ч. и OEP, а ImageBase передавать не обязательно, его можно узнать из кода, хотя бы простейшим вызовом GetModuleHandle( NULL ) и тулза у вас тоже будет заточена сугубо под вашу задачу... |
|
Создано: 13 мая 2014 14:33 · Личное сообщение · #19 |
|
Создано: 13 мая 2014 15:22 · Личное сообщение · #20 |
eXeL@B —› Софт, инструменты —› Инжект кода в ПЕфайл, если такая утилита? |