• STATISTIQUES
  • Il y a eu un total de 0 membres et 38509 visiteurs sur le site dans les dernières 24h pour un total de 38 509 personnes!
    Membres: 2 605
    Discussions: 3 579
    Messages: 32 816
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [FR] Zmaster
    Articles sur l'informatique, le hacking, le P2P, les divx, les astuces windows XP, les GSM, Emule, la cryptograph...
    Hacking
    [EN] PHPFreaks
    PHPFreaks est un site dédié à l'apprentissage et l'enseignement du PHP. Ici vous trouver...
    Programmation
    [EN] This is legal
    Basic: 10, Realistic: 5, Programming: 1, Bonus: 11, SQL: 2, Encryption: 6, Application: 4, User Contributed: 3
    Challenges
    [FR] Zenk-Security
    La communauté zenk-security a pour objet principal la sécurité informatique, nous sommes des tou...
    Hacking
    [EN] Exploit-db
    Une base de données d'exploits triés par genre (GHDB, Remote, Local, Web, DOS, ShellCode) à ...
    Vulnérabilités
    [FR] Microcontest
    Cryptographie: 7, Mathématiques: 8, Image Son Vidéo: 5, Intelligence artificielle: 3, Réseau: 2, Divers: 7, Phy...
    Challenges
    [FR] apprendre-a-manipuler
    Site d'apprentissage de la manipulation d'autrui.
    Hacking

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[C++] Problème d'entier non signé
18-04-2012, 17h40 (Modification du message : 19-11-2012, 19h31 par InstinctHack.)
Message : #1
Illu6 Hors ligne
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";
                
std::cout << "\t Signature: " << static_cast<unsigned int>(pNTHeaders->Signature) << "\n " << std::endl
Le "pNTHeaders" vient de
Code PHP :
                PIMAGE_NT_HEADERS pNTHeaders GetPEHeaders(argv[1]); 
et enfin la fonction GetPEHeaders:
Code PHP :
PIMAGE_NT_HEADERS GetPEHeaders(HANDLE hBinary)
{
    
PIMAGE_NT_HEADERS pNTHeaders NULL;
    
PIMAGE_DOS_HEADER pDOSHeader GetDOSHeader(hBinary);
    
pNTHeaders = (PIMAGE_NT_HEADERS)((PUCHAR)pDOSHeader pDOSHeader->e_lfanew); 
    return 
pNTHeaders;

Merci d'avance
(Compilé sous Visual C++, lancé sous Windows 7 64bits)
EDIT: La fonction GetDOSHeader:
Code PHP :
PIMAGE_DOS_HEADER GetDOSHeader(HANDLE hBinary)
{
    
PIMAGE_DOS_HEADER pDOSHeader NULL;
    
pDOSHeader static_cast<PIMAGE_DOS_HEADER>(hBinary);
    return 
pDOSHeader;

+1 (0) -1 (0) Répondre
18-04-2012, 19h16
Message : #2
supersnail Hors ligne
É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 Wink
Mon blog

Code :
push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp

"VIM est merveilleux" © supersnail
+1 (0) -1 (0) Répondre
18-04-2012, 19h19
Message : #3
Illu6 Hors ligne
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";
std::cout << "\t e_magic: " << pDOSHeaders->e_magic << std::endl;
std::cout << "\t e_lfanew: " <<  static_cast<int>(pDOSHeaders->e_lfanew) << " \n" <<  std::endl
me retournent bien:
Citation :
[*] IMAGE_DOS_HEADER
e_magic: 14915
e_lfanew: 1
+1 (0) -1 (0) Répondre
18-04-2012, 19h28
Message : #4
supersnail Hors ligne
É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 Wink
Mon blog

Code :
push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp

"VIM est merveilleux" © supersnail
+1 (0) -1 (0) Répondre
18-04-2012, 20h02
Message : #5
Illu6 Hors ligne
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.
+1 (0) -1 (0) Répondre


Sujets apparemment similaires…
Sujet Auteur Réponses Affichages Dernier message
  Java probleme de colision mysteriou 13 676 10-12-2013, 12h05
Dernier message: Enila
  [ASM] Problème notfound 3 228 18-12-2012, 23h10
Dernier message: spin

Atteindre :


Utilisateur(s) parcourant ce sujet : 2 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut