PDA

Показать полную графическую версию : [решено] Api call hook - нужна помощь


Boa Soft
25-02-2007, 10:58
Нужна помощь.

Есть программа, из которой вызываются функции библиотеки. Нужно поставить перехват на 2 функции, и не вызывая их всегда возвращать нужный результат. Скрытность сего деяния не волнует - это не вирус. Просто надо, чтобы это нормально работало. Враппер с передачей всех взовов реальной длл не подходит - файл с цифровой подписью и его переименование приводит к остановке установки.

ЗЫ Надо для автоматизации установки драйверов без подписи - надо перхватить вызовы pSetupGetCurrentDriverSigningPolicy и pSetupGetRealSystemTime из setupapi.dll.

DillerInc
25-02-2007, 18:34
Boa Soft
Если нужен перехват без особой скрытности,то я бы посоветовал "сплайсинг" функции.
Точнее:
библиотека setupapi.dll по идее находится в адресном пространстве какого-то процесса.С нашей стороны в этот процесс внедряется через удалённый поток своя DLL,которая устанавливает перехват и далее нужным образом обрабатывает все вызовы перехваченных функций.Сам перехват выглядит как подмена первых байт реальной функции на свои -- безусловный переход на код нашего обработчика.
Враппер с передачей всех взовов реальной длл не подходит
...что ты имеешь ввиду??

Boa Soft
26-02-2007, 22:06
DillerInc

Спасибо, я сегодня прошерстил Яндекс и нашел нужное в примерах и исходниках (даже работающее!).

Под враппером (оберткой) я имел в виду библиотеку-пустышку, которая экспортирует все функции родной и просто сквозняком передает все вызовы в родную переименованную библиотеку, кроме тех, которые и надо перехватить.

hasherfrog
27-02-2007, 14:09
Серия относительно старый статей.
http://www.rsdn.ru/summary/1383.xml
Ещё можно глянуть wasm.ru и cracklab

Boa Soft
01-03-2007, 14:28
Спасибо. Уже сделал. Источники были и в том числе вышеуказанные. Слегка переделанный пример заработал и в тесте неподписанный драйвер проставился при политике disable. попробую добавить это в установщик.




© OSzone.net 2001-2012