DDK

Signaler
Messages postés
625
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
25 novembre 2010
-
Messages postés
625
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
25 novembre 2010
-
Salut a tous,


eh j'ai un probleme pour importer une fonction dans un driver, cette fonction est ZwReadVirtualMemory que je declare ainsi:



NTSYSAPI
NTSTATUS
NTAPI
ZwReadVirtualMemory(IN HANDLE hProcess, IN PVOID BaseAddress, OUT PVOID Buffer, IN ULONG BytesToRead, OUT PULONG BytesRead OPTIONAL);




lorsque j'essai de compiler avec le ddk j'ai l'erreur suivante:
unresolved external symbol [mailto:__imp__ZwReadVirtualMemory@20 __imp__ZwReadVirtualMemory@20]

Si quelqun a une idee sur comment resoudre ce prob ?

Merci d'avance
++

Quand on pose une question on est con 5 minutes,
Quand on ne la pose pas on le reste toute sa vie...

8 réponses

Messages postés
653
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
10 novembre 2014
2
Tu as linker avec ntdll.lib?

Neo_Fr
Messages postés
625
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
25 novembre 2010

Salut, eh non pas explicitement mais c'est fait par le ddk
J'ai declarer d'autres fonctions Zw de la meme facons et ca marche, mais y a apparement un prob avec celle la.
J'ai essayer linker explicitement ntdll.lib mais ca change rien car elle l'etait deja

j'ai trouve un .def sur le net

LIBRARY ntdll.dll


EXPORTS

Z[mailto:ZwReadVirtualMemory@20=NtReadVirtualMemory@20 wReadVirtualMemory@20=NtReadVirtualMemory@20] @828

Puis dans le fichier "source" j'ai mis:
DEFS=ntdll.def

Mais toujours rien :(

Quand on pose une question on est con 5 minutes,
Quand on ne la pose pas on le reste toute sa vie...
Messages postés
653
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
10 novembre 2014
2
Si tu trouve pas de solutions, utilise GetProcAdress:

typedef NTSTATUS (WINAPI *LPZWREADVIRTUALMEMORY) (HANDLE hProcess,
LPVOID BaseAddress, LPVOID Buffer, DWORD BytesToRead, LPDWORD BytesRead);

HINSTANCE hDll;
LPZWREADVIRTUALMEMORY ZwReadVirtualMemory;

hDll = LoadLibrary("ntdll.dll");
if(!hDll) ;//Erreur
ZwReadVirtualMemory = (LPZWREADVIRTUALMEMORY) GetProcAddress(hDll, "ZwReadVirtualMemory");
if(!ZwReadVirtualMemory) ;// Erreur
//...
FreeLibrary(hDll);

Neo_Fr
Messages postés
625
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
25 novembre 2010

Re,

eh oui j'aimerais bien mais je ne pense pas pouvoir appeler LoadLibrary et GetProcAddress depuis un driver...
Dois y avoir l'equivalent avec les api natives, mais j'ai pas trouve d'exemple...

Merci pour ton aide
++

Quand on pose une question on est con 5 minutes,
Quand on ne la pose pas on le reste toute sa vie...
Messages postés
653
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
10 novembre 2014
2
Elles sont déclarer les fonctions LdrGetDllHandle et LdrGetProcedureAddress ds le DDK?

Neo_Fr
Messages postés
625
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
25 novembre 2010

eh bin...
unresolved external symbol [mailto:__imp__LdrGetDllHandle@16 __imp__LdrGetDllHandle@16] 

Quand on pose une question on est con 5 minutes,
Quand on ne la pose pas on le reste toute sa vie...
Messages postés
625
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
25 novembre 2010

erf de erf de zut de flute!

Non ntdll n'etais pas linkee!! je suis trop un boulet!
apparement ma lib etait corrompue, je l'ai remplacer et now ca marche...

en fait j'ai ajoute TARGETLIBS=ntdll.lib et la il m'a dit quelle etait corrompue, je l'ai remplacer et puis plus d'erreurs...
le pire c'est que c'etait celle livree avec le ddk, que j'ai remplacer par la meme d'une vm...

Enfin merci pour ton aide et sorry pour la perte de temps!
++

Quand on pose une question on est con 5 minutes,
Quand on ne la pose pas on le reste toute sa vie...
Messages postés
625
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
25 novembre 2010

re,

En fait hier j'ai du partir et j'ai pas eu le temps de tester...
Je n'ai plus d'erreur en linkant ntdll.lib mais mon driver ne demarrer plus! :(

++

Quand on pose une question on est con 5 minutes,
Quand on ne la pose pas on le reste toute sa vie...