В RKU, как известно, есть возможность обнаружения хуков идт (вкладка Code Hooks). Решил посмотреть учитывает ли данная программа базу сегмента в котором находится обработчик прерывания. Добавил дескриптор сегмента в GDT с базой, равной адресу обработчика прерывания, пересчитал попутно лимит нового сегмента. Затем нашел свободный дескриптор шлюза в идт. прописал вместо дефолтного селектора (у меня в ring 0 cs = 0008h), селектор на свой свежедобавленный дескриптор в GDT с базой = адресу моего нового обработчика прерывания (относительно 0). в idt таким образом получился адрес 0048:00000000 ну чтобы удостовериться, что все работает обработчик имеет вид int_handler: inc count_ iretd с третьего кольца в цикле повызывал int 29h (у меня было свободен шлюз этого прерывания), счетчик увеличивается и все ок. ну так к чему это я? а вот RKU проверяет по ходу только смещение (которое путем вышеперечисленных манипуляций остается нулевым), а селектор можно изменить на свой и модификация идт останется незамеченной? --Добавлено--- а) конечно же, если указать ненулевое смещение rku обнаружит б)да и неправильно написал, модификация, тут речь о хуке не идет, хотя чисто теоретически пересчитать базу и лимит нового сегмента так, чтобы не менять старое смещение обработчика прерывания вполне реально.