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


  • ANNUAIRE
  • [EN] Astalavista
    Un site aux ressources incontournable depuis plusieurs années, Astalavista est réellement devenue un cl...
    Hacking
    [FR] PHP Débutant
    Apprendre le PHP par l'exemple, facilement et simplement. Réservé d'abord aux débutants....
    Programmation
    [EN] CS Tutoring Center
    Site de challenge spécialisé dans les challenges de programmation C++ et java cependant, d'autres langages pe...
    Challenges
    [EN] Packet Storm
    Packet Storm est un site qui combine nouvelles de la sécurité informatique, téléchargemen...
    Vulnérabilités
    [EN] Exploit-db
    Une base de données d'exploits triés par genre (GHDB, Remote, Local, Web, DOS, ShellCode) à ...
    Vulnérabilités
    [EN] Reddit
    Subreddit dédié à la sécurité informatique.
    Hacking
    [FR] Comment ca marche
     Gratuit et accessible à tous, ce site de communauté permet de se dépanner, se faire aider ...
    Webmaster

  • 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 Hors ligne
Éleveur d'ornithorynques
*******



Messages : 1,609
Sujets : 71
Points: 465
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 Hors ligne
Éleveur d'ornithorynques
*******



Messages : 1,609
Sujets : 71
Points: 465
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 Hors ligne
Éleveur d'ornithorynques
*******



Messages : 1,609
Sujets : 71
Points: 465
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 Hors ligne
Éleveur d'ornithorynques
*******



Messages : 1,609
Sujets : 71
Points: 465
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 255 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