Показать сообщение отдельно

  #7  
Старый 20.01.2009, 13:32
0x0c0de
Постоянный
Регистрация: 25.05.2007
Сообщений: 448
С нами: 9981026

Репутация: 1564
По умолчанию

Сначала мы заталкиваем в стек регистр флагов

pushfd

потом он оказывается в eax

pop eax

http://sasm.narod.ru/apps/eflags/main.htm

формат регистра EFLAGS. Взводим 8 бит

bts eax, 8

после этого после каждой инструкции будет генерироваться отладочное исключение #db. После первого исключения бит сбрасывается снова. Перед установкой флага трассировки, устанавливается SEH обработчик, и мы отправляемся в него при возникновении #DB. трюк старый же

PS
>> тут все просто, TP флаг возводится

Флаг TF называется вообще-то

PPS Нет бы заюзать трассировку ветвлений для самотрассировки; объявить свои сегменты кода, данных в GDT (для этого, ясное дело, драйвер написать), причем селектор на новый дескриптор получать динамически из драйвера, на ходу самомодифицируясь, активно прыгать между сегментами и тд. вот доразберусь в vmcb (это к теме amd-v), так напишу вам что-нибудь ядерное фо фан, если хотите. защитку, аля кракми

Последний раз редактировалось 0x0c0de; 20.01.2009 в 13:52..
 
Ответить с цитированием