[C++] Problème d'entier non signé - Version imprimable +- N-PN White-Hat Project (https://dev.n-pn.fr/forum) +-- Forum : Programmation (https://dev.n-pn.fr/forum/forumdisplay.php?fid=72) +--- Forum : Langages compilés (https://dev.n-pn.fr/forum/forumdisplay.php?fid=25) +--- Sujet : [C++] Problème d'entier non signé (/showthread.php?tid=2003) |
[C++] Problème d'entier non signé - Illu6 - 18-04-2012 Salut à tous, Voilà j'ai un petit problème avec le format PE et le C++, j'essaye de récupérer et d'afficher la "signature" d'un fichier, mais ça cause une erreur, pas à la compilation mais quand je le lance (... a cessé de fonctionner...) Voilà le code qui, je pense, génère cette erreur: Code PHP : std::cout << "[*] IMAGE_NT_HEADERS\n"; Code PHP : PIMAGE_NT_HEADERS pNTHeaders = GetPEHeaders(argv[1]); Code PHP : PIMAGE_NT_HEADERS GetPEHeaders(HANDLE hBinary) (Compilé sous Visual C++, lancé sous Windows 7 64bits) EDIT: La fonction GetDOSHeader: Code PHP : PIMAGE_DOS_HEADER GetDOSHeader(HANDLE hBinary) RE: Problème d'entier non signé (C++) - supersnail - 18-04-2012 Bonjour, Ton code ne pourra jamais marcher, étant donné que argv[1] est un pointeur vers le premier caractère de ton argument... Du coup tu essaies de parser le PE header de ta chaîne de caractère (ou de la stack qu'il y a derrière), ce qui risque de se révéler assez difficile RE: Problème d'entier non signé (C++) - Illu6 - 18-04-2012 Salut, ça me paraît bizarre, car les deux première fonctions: Code PHP : std::cout << "[*] IMAGE_DOS_HEADER\n"; Citation : RE: Problème d'entier non signé (C++) - supersnail - 18-04-2012 Ton e_magic en hexa donne 0x3A43, ce qui donne en little-endian 0x43 0x3A (tu peux vérifier à la calculette) qui correspond à "C:" au lieu du "MZ" attendu. Et je suppose que "C:" est le début du path du fichier dont tu veux explorer le PE header ce qui rejoint ce que je disais (tu parses le PE header de ta chaîne de caractères ) :') Ihmo tu devrais faire un LoadLibrary ou un CreateFile/MapViewOfFile pour avoir un handle exploitable RE: Problème d'entier non signé (C++) - Illu6 - 18-04-2012 Merci de ton aide, c'était bien le problème. |