Здравствуйте, TarasCo, Вы писали:
TC>Здравствуйте, _f_b_i_, Вы писали:
___>>Здравствуйте, Аноним, Вы писали:
F>>>>Наверно имелось в виду в каком драйвере обработчик перехваченной функции. Мне тоже интересено...
А>>>ZwQuerySystemInformation(...SystemModuleInformation..) найти в пространстве какого модуля лежит перехватчик и радоваться
___>>Это сработает если тело функции перехватчика остается в теле драйвера. Например не стоит иключить тот факт, что драйвер который собирается перехватывать SDT выделит страницу памяти, укажет в SDT этот адресс, скопирует туда код перехватчика, или банально инструкцию jmp на код внутри себя, и вы в этом случае без анализа кода перехватчкика найти модель который реально занимается перехватом будет напорядок сложнее.
TC>Ну, копировать код двольно таки проблематично — нужно будет организовать re-allocation, либо писать код перехватчика на ассемблере, либо автоматически генерировать его — все это довольно трудоемко, а мне кажется, что лень — общечеловеческое свойство
. А вот использование промежуточных трамплинов да еще с обфускатором — очень вероятно, лично я бы сделал именно так. Обфускатор мало полезен для защиты от ручной отладки кода, зато очень полезен от автоматических искателей.
Понятно. Спасибо всем, кто откликнулся.