Salut, je programme un driver avec le WDK et je fait les test avec un machin virtuel.

Voici un bout de mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
        int *val_CR3 = NULL;
 
        [...]
 
	__asm mov eax, CR3
	__asm mov val_CR3, eax
	DbgPrint("CR3: %ld\n", val_CR3);
 
	__asm
	{
		__asm mov eax, 0
		__asm mov ecx, 1024
 
		L1:
		__asm mov [val_CR3 + ecx], eax
		loop L1
	}
CR3 est un registre qui pointeur sur le tableau du répertoire de pages.
Ce tableau contient 1024 entrées.

J'essaie d'écraser ce tableau a 0, ce qui devrai théoriquement provoqué un freez de la machine virtuel(les programme n'ayant plus accès a leur vrai variables. Mais la machine virtuel marche normalement.