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


  • ANNUAIRE
  • [EN] wechall
    Pour les gens n'étant pas familiers avec les sites de challenges, un site de challenges est un site propos...
    Hacking
    [EN] xda-developers
    Très bon site pour les gros bidouilleurs de smartphone de windows à androïd et de Apple jusqu'...
    Phreaking
    [FR] Le top web
    Nous offrons une sélection la plus large possible de resources webmaster gratuites, hébergement gratuit...
    Webmaster
    [FR] PHP Débutant
    Apprendre le PHP par l'exemple, facilement et simplement. Réservé d'abord aux débutants....
    Programmation
    [FR] Root-me
    Script: 5, Système: 20, Cracking: 16, Cryptanalyse: 17, Programmation: 8, Réaliste: 11, Réseau: 10, Stéganog...
    Challenges
    [FR] NewbieContest
    Nous vous proposons une série de challenges regroupant plusieurs domaines allant de l'exploitation de fail...
    Hacking
    [FR] Zenk-Security
    La communauté zenk-security a pour objet principal la sécurité informatique, nous sommes des tou...
    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] 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 256 29-05-2013, 07h37
Dernier message: thxer

Atteindre :


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