Проблемки с перезписью SYSENTER_EIP_MSR

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
ANDLL
Великий гастроном
Великий гастроном
Аватара пользователя
 
Сообщения: 3450
Зарегистрирован: 29.06.2003 (Вс) 18:55

Проблемки с перезписью SYSENTER_EIP_MSR

Сообщение ANDLL » 10.08.2006 (Чт) 9:28

Делаю, короче так:
Код: Выделить всё
typedef void asmfunc();
asmfunc* OldSysenterEntry;
void SysenterHook();
/* ... */

// Внутри DeviceControlRoutine
/* ... */
      __asm
      {
         mov ecx, 0x176
         rdmsr
         mov OldSysenterEntry, eax
         mov eax, SysenterHook
         xor edx, edx
         wrmsr
      }
/* ... */

// Ну и наконец

void __declspec(naked) SysenterHook()
{
   __asm
   {
      jmp OldSysenterEntry
   }
}

Вроде бы все сделано в лучших русских традициях, но почему то при попытке переписать SYSENTER_MSR_EIP компьютер перезагружается... Ну вообщето трудно сказать, когд именно он перехагруэаеться, то ли на wrmsr то ли на jmp OldSysenterEntry... Но то что перехагружается это факт...
Вопрос, почему?
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог

Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 117

    TopList