Il n'est pas forcément évident d'avoir des informations concernant les api natives de windows NT. La répartition des appels d'interruptions n'est pas forcément très connue non plus.
Windows NT et 2000 n'utilisent pas la technique des "call gate", mais se base sur de simples interruptions logicielles, comme linux, pour faire des appels à ses api internes et passer en mode noyau. C'est la DLL ntdll.dll qui se charge de cette opération. Cette DLL est composée des principales api du noyau, d'ailleur on retrouve la plupart des fonctions disponibles dans l'api win32, à ceci près qu'il ne s'agit pas des api win32. En fait win32 se comporte un peu comme un wrapper sur les api natives.
Pour passer en mode noyau l'api native met le numéro de la fonction à appeler dans le registre eax, les arguments dans le registre edx et l'appel se fait via int $2E.
On dirait presque linux ;o)
mercredi 30 mai 2007
Windows NT et le mode noyau
Publié par
Olivier THEBAULT
Libellés :
80x86,
assembleur,
système,
windows
Inscription à :
Articles (Atom)
