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


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


  • ANNUAIRE
  • [EN] Exploit-db
    Une base de données d'exploits triés par genre (GHDB, Remote, Local, Web, DOS, ShellCode) à ...
    Vulnérabilités
    [FR] Infomirmo
    Challenge présenté sous la forme de 6 niveaux de difficultés diverses et variées avec chacun plusieurs chall...
    Challenges
    [EN] Security Traps
    Site de challenge qui prétend être construit non pas dans le but de parfaire vos connaissances, mais plutôt dan...
    Challenges
    [EN] social-engineer
    Site dédié au Social Engineering en général.
    Hacking
    [FR] PHP Débutant
    Apprendre le PHP par l'exemple, facilement et simplement. Réservé d'abord aux débutants....
    Programmation
    [FR] Le site du zero
    Découvrez gratuitement la programmation (C, C++, PHP, MySQL, XHTML, CSS...), Linux, le Mapping, la modé...
    Programmation
    [EN] Packet Storm
    Packet Storm est un site qui combine nouvelles de la sécurité informatique, téléchargemen...
    Vulnérabilités

  • 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] Programmation binaire
27-09-2012, 18h13
Message : #1
sakiir Hors ligne
[sakiir@Ubuntu]:~$ ./ExploitMe ShellC0de
*



Messages : 411
Sujets : 51
Points: 34
Inscription : Sep 2012
[C] Programmation binaire
Salut !!

Est-ce que quelqu'un a de la doc, la programmation binaire ? c'est a dire ouvrir un fichier en mode binaire et le gérer..

J'aimerais faire du reversing grâce à ça, merci.
+1 (0) -1 (0) Répondre
27-09-2012, 18h19 (Modification du message : 27-09-2012, 18h20 par spin.)
Message : #2
spin Hors ligne
Contributeur
*****



Messages : 325
Sujets : 15
Points: 38
Inscription : Nov 2011
RE: [C] Programmation binaire
Ouvrir un fichier en mode texte n'est pas différent que de l'ouvrir en mode binaire. Techniquement c'est la même chose, tu lis et tu écris des octets. Enfin en C je crois pas qu'on établisse clairement cette distinction.

Peux-tu donner quelques infos en plus ?
+1 (0) -1 (0) Répondre
27-09-2012, 18h19 (Modification du message : 27-09-2012, 18h21 par supersnail.)
Message : #3
supersnail En ligne
Éleveur d'ornithorynques
*******



Messages : 1,614
Sujets : 72
Points: 466
Inscription : Jan 2012
RE: [C] Programmation binaire
Bonjour,

Je vois pas trop le rapport entre le reversing et l'ouverture de fichier en mode binaire...

Si tu veux parler de patcher un fichier, fopen, fread, fwrite et fseek sont tes amis Wink (y'a pas mal de doc sur le web dessus Wink )
Sinon sous Windows, tu peux utiliser CreateFileMapping et MapViewOfFile,et toute modif de la zone mémoire allouée se répercutera sur le fichier Wink

Edit: @spin c'est du C, il l'a marqué dans le titre :p
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
27-09-2012, 18h22
Message : #4
sakiir Hors ligne
[sakiir@Ubuntu]:~$ ./ExploitMe ShellC0de
*



Messages : 411
Sujets : 51
Points: 34
Inscription : Sep 2012
RE: [C] Programmation binaire
ouai j'ai vu quelque programme en python qui permettaient de récupérer les chaines de caractères d'un executable, je voulais savoir ce que ça donne en C..
+1 (0) -1 (0) Répondre
27-09-2012, 18h25
Message : #5
supersnail En ligne
Éleveur d'ornithorynques
*******



Messages : 1,614
Sujets : 72
Points: 466
Inscription : Jan 2012
RE: [C] Programmation binaire
Bah la même chose... Techniquement, du texte c'est juste une suite d'octets... C'est juste la façon de l'interpréter (codage ASCII, UTF-8 ou autres) qui fait "exister" cette suite d'octets en tant que chaîne.

En C,
Code :
char c1 = 'A';
char c2=65;
c'est équivalent.
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
27-09-2012, 18h26 (Modification du message : 27-09-2012, 18h27 par sakiir.)
Message : #6
sakiir Hors ligne
[sakiir@Ubuntu]:~$ ./ExploitMe ShellC0de
*



Messages : 411
Sujets : 51
Points: 34
Inscription : Sep 2012
RE: [C] Programmation binaire
mmmh ouai je vois mais,


imaginons que je veuille lire une adresse mémoire dans un programme ?

ex en python de fr0g :
Code :
#coding=utf-8

import sys

print """
---------------------------------
- Powered by fr0g Security
- http://frog-security.fr
- Desc : DUMP WindKeylogger Logs
---------------------------------
        """

if (len(sys.argv)<2):
        print "Error : need binary name for dump\n Example : ./Dump server.exe"
else:
        try:
                f_read = open(sys.argv[1],"rb")
        except:
                print "Unknown File ..."
        else:
                data = f_read.read()



#-------------------------
        try:
                data2 = data.split("%SPLITTER%")  
        except:
                print "Error ..."
        else:
                print "From mail       : " + data2[1]
                print "Passwd          : " + data2[2]
                print "To mail         : " + data2[3]
                print "Time            : Every "+ data2[4]+" Min."
                print "Load On Startup : " + data2[5]
                print "\nDone ..."
+1 (0) -1 (0) Répondre
27-09-2012, 18h30
Message : #7
supersnail En ligne
Éleveur d'ornithorynques
*******



Messages : 1,614
Sujets : 72
Points: 466
Inscription : Jan 2012
RE: [C] Programmation binaire
Bah c'est aussi une suite d'octets :') (on appelle ça un pointeur, mais ton pointeur peut juste être un entier, du moins sur du 32 bits).

Bref
Code :
int pointeur_vers_char = 0xb16b00b5;
printf("%s", (char*)pointeur_vers_char);
fonctionnera (pour peu que l'adresse 0xb16b00b5 soit accessible par ton programme). Techniquement, les instructions, pointeurs, entiers, nombres réels (float) ou je ne sais quoi d'autre ne sont qu'une suite d'octets 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
27-09-2012, 18h35
Message : #8
sakiir Hors ligne
[sakiir@Ubuntu]:~$ ./ExploitMe ShellC0de
*



Messages : 411
Sujets : 51
Points: 34
Inscription : Sep 2012
RE: [C] Programmation binaire
ahhh oui j'ai déjà vu ça !
pourrais-tu m'expliquer cette phrase : (char*)pointeur_vers_char
+1 (0) -1 (0) Répondre
27-09-2012, 18h40
Message : #9
supersnail En ligne
Éleveur d'ornithorynques
*******



Messages : 1,614
Sujets : 72
Points: 466
Inscription : Jan 2012
RE: [C] Programmation binaire
C'est juste une "décoration" pour éviter que ton compilo C gueule. Ça veut dire "considère ma variable comme un pointeur de chaîne de caractères" (vu que j'utilise printf("%s") ).
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
27-09-2012, 18h45
Message : #10
sakiir Hors ligne
[sakiir@Ubuntu]:~$ ./ExploitMe ShellC0de
*



Messages : 411
Sujets : 51
Points: 34
Inscription : Sep 2012
RE: [C] Programmation binaire
okok merci bah je ais essayer Smile
+1 (0) -1 (0) Répondre


Sujets apparemment similaires…
Sujet Auteur Réponses Affichages Dernier message
  [Ebook-PDF]Programmation Avancée C linux thxer 3 1,177 29-05-2013, 07h37
Dernier message: thxer

Atteindre :


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