Bonjour ,

Je suis sur un projet qui lance des programmes windows x64 en mode émulation ,
j'avance à taton ,
j'ai réécris le minimum des API requise , il ne gére pas encore le multi-thread,
pour le moment j'intercepte les appelles à kernel32.dll.

Je voudrais plutot intercepter les appelles à ntdll.dll au lieu de kernel32.dll,
c'est à dire , je charge la librairie kernel32.dll originale que lui appelle la librairie ntdll.dll , d'ou les appels seront intercepter.

Question :
Au niveau des PEB , quelles sont les éléments (champs) requise pour que kernel32.dll ,kernelbase;dll puisse fonctionner ?
Au niveau des TEB , quelles sont les éléments (champs) requise pour que kernel32.dll ,kernelbase.dll puisse fonctionner ?
Qu'est ce que je dois faire d'autre pour la mémoire du sélecteur GS ???

Pourquoi le faire sur ntdll.dll ,
car cela m'évite de réecrire les fonctions kernel32.dll à mapper sur le host, mais devoir reecrire les fonctions ntdll pour les mapper vers le host.

Emuler un noyau -> ca ne m'interesse pas, je m'arrête à kernel32.dll ou ntdll.dll.

Merci