![]() |
eXeL@B —› Вопросы новичков —› API Hook без модификации кода |
Посл.ответ | Сообщение |
|
Создано: 10 января 2009 17:11 · Личное сообщение · #1 Привет. Поиск по сайту выдает в основном перехват процессов и их АПИ, надо немного другое, желательно без сплайсинга. Хочу поинтересоваться, возможно ли совершить перехват, например, CreateFile следующим образом: 1. положить свою DLL в папку с EXE и назвать ее kernel32.dll 2. переопределить функцию CreateFile на свою и вызвать ее 3. подключить внутри этой DLL оригинальную kernel32.dll и передать ей управление Если это возможно буду очень признателен за какие-нибудь исходники (желательно ASM), перечисление проблем возникающих при этом или более подробный алгоритм реализации. Спасибо. ![]() |
|
Создано: 10 января 2009 17:21 · Личное сообщение · #2 |
|
Создано: 10 января 2009 17:55 · Поправил: coderess · Личное сообщение · #3 1. положить свою DLL в папку с EXE и назвать ее kernel32.dll Сначала программа будет сканировать текущую папку на наличие в ней необходимых библиотек, следовательно этот вариант возможен, на tuts4you есть пара injectme, в которых реализована внедрение путем замены библиотеки, помещением последней в текущий каталог 2. переопределить функцию CreateFile на свою и вызвать ее Это изменение таблицы импорта? не совсем понял о чем идет речь. ----- Gutta cavat lapidem. Feci, quod potui. Faciant meliora potentes ![]() |
|
Создано: 10 января 2009 19:59 · Личное сообщение · #4 |
|
Создано: 11 января 2009 02:05 · Личное сообщение · #5 |
|
Создано: 14 января 2009 07:30 · Поправил: Neo32 · Личное сообщение · #6 Помнится я такую Фигню уже мутил даже написал прогу которая создает исходник библиотеки для фасма в которую включены эти функции домой приду скину просьба топик не закрывать ![]() З.Ы. Как и обещал прога в аттаче.Она создает исходник (асм) длл с импортироанными из другой длл функцииями(только по именам).Можно дописать код полученного исходника для отлова функций GetModuleHandleA и подобных для перехвата в том случаее если прога создает свою таблицу импорта.Недостаток - патчить все же придется имя библиотеки в таблице импорта например на kernel31.dll так как в первую очередь грузятся длл из системных папок. Хотя прога эта мне не очень помогла так как экзешник каким то образом все раво получал реальный хэндл библиотек минуя мой перехватчик а не хэндл моей библиотеки и получал реальные адреса процедур.Может кто знает каким образом это возможно?Прога была запакована секюромом 7.хх версии.Надеюсь тебе поможет ![]() ![]() |
|
Создано: 14 января 2009 10:56 · Личное сообщение · #7 |
|
Создано: 14 января 2009 17:00 · Личное сообщение · #8 |
![]() |
eXeL@B —› Вопросы новичков —› API Hook без модификации кода |