• STATISTIQUES
  • Il y a eu un total de 2 membres et 12342 visiteurs sur le site dans les dernières 24h pour un total de 12 344 personnes!


    Membres: 2 433
    Discussions: 3 585
    Messages: 32 832
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [EN] HackQuest
    Logic: 12, JavaScript: 14, Applet: 6, CrackIt: 13, Crypto: 11, Internet: 3, Exploit: 7, Stegano: 12, Flash: 1, Programmi...
    Challenges
    [EN] hax.tor
    50 level de challenges mélangés
    Challenges
    [FR] apprendre-a-manipuler
    Site d'apprentissage de la manipulation d'autrui.
    Hacking
    [FR] Root-me
    Script: 5, Système: 20, Cracking: 16, Cryptanalyse: 17, Programmation: 8, Réaliste: 11, Réseau: 10, Stéganog...
    Challenges
    [EN] Defcon
    Lancé en 1992 par Dark Tangent, DEFCON est la plus ancienne et la plus grande conférence underground de...
    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] Hackfest
    Le Hackfest est un évènement de sécurité et de piratage informatique au Québec reg...
    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 En ligne
Éleveur d'ornithorynques
*******



Messages : 1,614
Sujets : 72
Points: 466
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 En ligne
Éleveur d'ornithorynques
*******



Messages : 1,614
Sujets : 72
Points: 466
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 3,524 10-12-2013, 12h05
Dernier message: Enila
  [ASM] Problème notfound 3 1,129 18-12-2012, 23h10
Dernier message: spin

Atteindre :


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