[C++] Problème d'entier non signé
|
18-04-2012, 17h40
(Modification du message : 19-11-2012, 19h31 par InstinctHack.)
Message : #1
|
|
Illu6
Newbie Messages : 11 Sujets : 2 Points: 0 Inscription : Apr 2012 |
[C++] Problème d'entier non signé
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) |
|
18-04-2012, 19h16
Message : #2
|
|
supersnail
Éleveur d'ornithorynques Messages : 1,609 Sujets : 71 Points: 465 Inscription : Jan 2012 |
RE: Problème d'entier non signé (C++)
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
Mon blog
Code : push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp "VIM est merveilleux" © supersnail |
|
18-04-2012, 19h19
Message : #3
|
|
Illu6
Newbie Messages : 11 Sujets : 2 Points: 0 Inscription : Apr 2012 |
RE: Problème d'entier non signé (C++)
Salut, ça me paraît bizarre, car les deux première fonctions:
Code PHP : std::cout << "[*] IMAGE_DOS_HEADER\n"; Citation : |
|
18-04-2012, 19h28
Message : #4
|
|
supersnail
Éleveur d'ornithorynques Messages : 1,609 Sujets : 71 Points: 465 Inscription : Jan 2012 |
RE: Problème d'entier non signé (C++)
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
Mon blog
Code : push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp "VIM est merveilleux" © supersnail |
|
18-04-2012, 20h02
Message : #5
|
|
Illu6
Newbie Messages : 11 Sujets : 2 Points: 0 Inscription : Apr 2012 |
RE: Problème d'entier non signé (C++)
Merci de ton aide, c'était bien le problème.
|
|
Sujets apparemment similaires… | |||||
Sujet | Auteur | Réponses | Affichages | Dernier message | |
Java probleme de colision | mysteriou | 13 | 674 |
10-12-2013, 12h05 Dernier message: Enila |
|
[ASM] Problème | notfound | 3 | 225 |
18-12-2012, 23h10 Dernier message: spin |
Utilisateur(s) parcourant ce sujet : 1 visiteur(s)