Accueil > Forum > > > > ZwCreateObject
ZwCreateObject
jeudi 19 octobre 2006 à 18:36:56 |
ZwCreateObject

Willi
|
Bonsoir, J'ai fais un petit driver afin de hooker ZwCreateFile. Il fonctionne sans problème. J'essais à présent de récupérer le nom du fichier ouvert avec ZwQueryObject mais l'api me retourne STATUS_INVALID_HANDLE à chaque fois. C'est surement une erreur de débutant mais un petit coup de pouce ne serait pas de trop. Quelqu'un a-t-il un oeil d'expert et me dire ce qui ne va pas ? Merci. Voici la partie de mon code: #define MAX_PATH 256 ...... NTSTATUS MyZwCreateFile(PHANDLE FileHandle,ACCESS_MASK DesiredAccess, POBJECT_ATTRIBUTES ObjectAttributes,PIO_STATUS_BLOCK IoStatusBlock,PLARGE_INTEGER AllocationSize,ULONG FileAttributes,ULONG ShareAccess,ULONG CreateDisposition,ULONG CreateOptions,PVOID EaBuffer,ULONG EaLength) { ..........
NTSTATUS rv; DWORD32 buf;
buf=MAX_PATH*sizeof(WCHAR); rv=ZwQueryObject(*FileHandle,1,&buf,MAX_PATH,NULL);
switch(rv) { case STATUS_SUCCESS: ZwWriteFile(hfl,0,0,0,&iosb, "STATUS_SUCCESS\r\n",40,0,0); break;
case STATUS_INVALID_HANDLE: ZwWriteFile(hfl,0,0,0,&iosb, "STATUS_INVALID_HANDLE\r\n",40,0,0); break;
case STATUS_INVALID_INFO_CLASS: ZwWriteFile(hfl,0,0,0,&iosb, "STATUS_INVALID_INFO_CLASS\r\n",40,0,0); break;
case STATUS_INFO_LENGTH_MISMATCH: ZwWriteFile(hfl,0,0,0,&iosb, "STATUS_INFO_LENGTH_MISMATCH\r\n",40,0,0); break; }; ZwClose(hfl);
}
|
|
jeudi 19 octobre 2006 à 19:22:42 |
Re : ZwCreateObject

clempar55
|
buf=MAX_PATH*
sizeof
(WCHAR);
si tu essaye d'allouer
MAX_PATH octets de mémoire essaye plutôt
buf=malloc(
MAX_PATH*
sizeof
(WCHAR));
ainsi buf contiendra un pointeur sur une zone de memoire de
MAX_PATH octets.
|
|
jeudi 19 octobre 2006 à 19:39:54 |
Re : ZwCreateObject

clempar55
|
j'allais oublier remplace aussi rv=ZwQueryObject(*FileHandle,1,&buf,MAX_PATH,NULL);
par
rv=ZwQueryObject(*FileHandle,1,buf,MAX_PATH,NULL);
car buf contient déja une adresse
|
|
jeudi 19 octobre 2006 à 21:17:21 |
Re : ZwCreateObject

Willi
|
Merci de tes réponses mais il me semble qu'en étant en kernel mode le malloc et compagnie ne sont acceptés.
Je vais essayer malgrès tout. Merci
|
|
jeudi 19 octobre 2006 à 22:01:28 |
Re : ZwCreateObject

Willi
|
Arf j'ai du mieux mais les seuls fois ou j'ai un STATUS_SUCCESS c'est sur le fichier de log que j'écris dans ma méthode MyZwCreateFile cité plus haut.
........ OBJECT_NAME_INFORMATION *oni; NTSTATUS rv; DWORD32 buff; HANDLE hfl;
....... buff=MAX_PATH*
sizeof
(WCHAR); oni=(OBJECT_NAME_INFORMATION *)ExAllocatePool(NonPagedPool,buff);
rv=ZwQueryObject(*FileHandle,1,oni,buff,&buff);
if
(rv==STATUS_SUCCESS) ZwWriteFile(hfl,0,0,0,&iosb,oni[0].Name.Buffer,(ULONG)buff,0,0);
ExFreePool(oni); .....
ZwClose(hfl);
|
|
lundi 17 novembre 2008 à 10:31:41 |
Re : ZwCreateObject

chevalboiteux
|
Willi,
au final, as-tu réussi à retrouver le nom du fichier qui est appelé, car je suis dans le même cas que toi.
Merci d'avance
|
|
Cette discussion est classée dans : case, invalid, status, ulong, hfl
Répondre à ce message
Sujets en rapport avec ce message
randomize [ par niconico ]
salut à tous, je débute en C++ et j'utilise VC++ pour compiler mes prog :le prob :avec ce petit programe (plus bas)il me sort 2 erreurs :error C2065:
Qui veut gagné 50Frs!!!!!!!!!!!!!! [ par Akil ]
Bonjour à tousJe cherche quelqu'un qui sait bien programmer en langage C++ et Vb.J'ai un projet d'éditeur de texte Farsi (Righttoleft)en C++ et je vou
faire progresser....une progress bar !! [ par Xs ]
c tout bete, mais je sais pas comment faire. ou plutot lui dire a quoi comparer sa progression par rapport au chargement de quelque chose.mon code : #
objet non initialisé (API Win32) [ par Xs ]
salut !voici mon code, d'abord :#include #include #include "resource.h"LRESULT CALLBACK DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam){cha
positions [ par Xs ]
salut ! je cherche et je trouve pas, ou alors je sais pas m'en servir, comment on recupere la position actuelle du fenetre(dialogbox).j'ai essayé des
touches [ par Xs ]
voila, j'ai essayé de tester des touches afin que, par exemple, lorsque l'on appuie sur Y, une message box apparaisse.j'ai recupérer ce code venat de
erreur memoire [ par Xs ]
alors voila, j'ai jamais vu ca.je lance mon programme. normal. puis je clique sur le bouton generer et là, pouf !un message d'erreur. alors, celui la,
pu#!@'{&=!:; de memoire !!! [ par Xs ]
salut.voila, presque chacun de mes prog, j'obtiens une erreur memoire du type "l'adresse "0x0001834F" ne peut etre "read"/"written"........."c 'est t
switch....case [ par cabarrus ]
salut !!je veux un programme qui demande l'âge, puis qui affiche un message selon l'âge frappé en utilisant switch...case.voici mon programme mais j'a
Status Process d une application windows [ par Trinita16 ]
est il possible de savoir le status d une application qui tourne en tache de fond sous windows ? je m explique, je voudrais savoir si mon application
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Forum
MATLAB PROGRAMME MATLAB PROGRAMME par wahab1087
Cliquez pour lire la suite par wahab1087 RGB2GRAYRGB2GRAY par musa18
Cliquez pour lire la suite par musa18
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|