нужно перехватить какую нибудь функцию у процесса (или 64 или 32) на 32-разрядной ОСи работало все по примерам MS-Rem'a а вот в 64 начались проблемы
nMaxwell Тогда берем в руки интел маны по 64 битным командам (считайте это пинком под зад). И штудируете.
грамотно построенный вопрос - половина ответа.. в общем мне нужен перехват сплайсингом, если он, конечно, реализуем в x64 за пример был взят MS-Rem'овский AdvAPIHook (delphi). что нужно сделать чтоб этот код работал под x64 http://wasm.ru/article.php?article=apihook_1
в сорцах касперского лежит интересная либа, судя по названию - то что автору нужно. sources\Windows\Hook\R3Hook64 описание в hookbase64.h
надо перехватить функции типа ReadFile, WriteFile (kernel32) и т.п. с помощью сплайсинга или чем нибудь более подходящим спасибо за наводку, будем копать
nMaxwell Я так понимаю, что тело ф-ии, вызываемой в случае перехвата находится в другом модуле? Тогда можно сделать так: 1. Вставляем в тело перехватываемой ф-ии прыжок 'jmp0 rel32' на конец кодовой секции в kernel32.dll. В конце кодовой секции (обычно там есть какое-то количество свободных байт для выравнивания) вставляем прыжок по косвенному адресу 'jmp1 [rip + XXXXXXXX]'. 2. По смещению XXXXXXXX в конце секции данных kernel32.dll (тоже свободное место) помещаем qword с адресом нового тела функции. 3. Собственно, PROFIT. Я так делал для перехвата в ntdll.dll на 64битной системе, работало.