![]() |
Api call hook - нужна помощь
Нужна помощь.
Есть программа, из которой вызываются функции библиотеки. Нужно поставить перехват на 2 функции, и не вызывая их всегда возвращать нужный результат. Скрытность сего деяния не волнует - это не вирус. Просто надо, чтобы это нормально работало. Враппер с передачей всех взовов реальной длл не подходит - файл с цифровой подписью и его переименование приводит к остановке установки. ЗЫ Надо для автоматизации установки драйверов без подписи - надо перхватить вызовы pSetupGetCurrentDriverSigningPolicy и pSetupGetRealSystemTime из setupapi.dll. |
Boa Soft
Если нужен перехват без особой скрытности,то я бы посоветовал "сплайсинг" функции. Точнее: библиотека setupapi.dll по идее находится в адресном пространстве какого-то процесса.С нашей стороны в этот процесс внедряется через удалённый поток своя DLL,которая устанавливает перехват и далее нужным образом обрабатывает все вызовы перехваченных функций.Сам перехват выглядит как подмена первых байт реальной функции на свои -- безусловный переход на код нашего обработчика. Цитата:
|
DillerInc
Спасибо, я сегодня прошерстил Яндекс и нашел нужное в примерах и исходниках (даже работающее!). Под враппером (оберткой) я имел в виду библиотеку-пустышку, которая экспортирует все функции родной и просто сквозняком передает все вызовы в родную переименованную библиотеку, кроме тех, которые и надо перехватить. |
Серия относительно старый статей.
http://www.rsdn.ru/summary/1383.xml Ещё можно глянуть wasm.ru и cracklab |
Спасибо. Уже сделал. Источники были и в том числе вышеуказанные. Слегка переделанный пример заработал и в тесте неподписанный драйвер проставился при политике disable. попробую добавить это в установщик.
|
Время: 04:35. |
Время: 04:35.
© OSzone.net 2001-