예제 #1
0
void Timer_ConfigureInterrupt(void)
{
  SetInterruptHandler();
  ConfigureInterruptSourceModeRegister();
  ClearInterrupt();
  EnableCompareInterruptForRegisterC();
}
예제 #2
0
static NTSTATUS NTAPI DriverUnload(PDRIVER_OBJECT DriverObject)
{

	KeSetEvent(&g_ShutdownEvent,0,FALSE);

	if (g_BruteforcerThread) {
		DbgPrint("waiting for the bruteforcer shutdown...\n");
		KeWaitForSingleObject(g_BruteforcerThread,
			Executive,
			KernelMode,
			FALSE,
			NULL);
	}

	// restore SW's page fault handler
	SetInterruptHandler(0x0E,g_Int0EHandler,0x8e);

	// free hidden pages list
	FreeDoubleLinkedList(&g_HiddenPages);

	DbgPrint("Shadow Walker remover unloaded\n");
	return STATUS_SUCCESS;
}