DDK

draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010 - 7 janv. 2008 à 17:54
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010 - 8 janv. 2008 à 16:29
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

Neo_Fr Messages postés 653 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 10 novembre 2014 2
7 janv. 2008 à 19:30
Tu as linker avec ntdll.lib?

Neo_Fr
0
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
7 janv. 2008 à 19:37
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...
0
Neo_Fr Messages postés 653 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 10 novembre 2014 2
7 janv. 2008 à 20:19
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
0
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
7 janv. 2008 à 20:25
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...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Neo_Fr Messages postés 653 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 10 novembre 2014 2
7 janv. 2008 à 20:39
Elles sont déclarer les fonctions LdrGetDllHandle et LdrGetProcedureAddress ds le DDK?

Neo_Fr
0
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
7 janv. 2008 à 20:58
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...
0
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
7 janv. 2008 à 21:14
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...
0
draluorg Messages postés 625 Date d'inscription vendredi 23 avril 2004 Statut Membre Dernière intervention 25 novembre 2010
8 janv. 2008 à 16:29
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...
0
Rejoignez-nous