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


    Membres: 2 398
    Discussions: 3 580
    Messages: 32 820
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [FR] Forum-Webmaster
    Une communauté webmaster pour apporter / recevoir de l'aide en création de site internet. Webmaster...
    Webmaster
    [EN] Astalavista
    Un site aux ressources incontournable depuis plusieurs années, Astalavista est réellement devenue un cl...
    Hacking
    [FR] Le site du zero
    Découvrez gratuitement la programmation (C, C++, PHP, MySQL, XHTML, CSS...), Linux, le Mapping, la modé...
    Programmation
    [EN] Reddit
    Subreddit dédié à la sécurité informatique.
    Hacking
    [EN] Big-Daddy
    Big-Daddy est site internet communautaire avec un effectif diversifié, y compris des artistes, des programmeur...
    Hacking
    [EN] osix
    Site de challenge qui utilise un système de level on chaque épreuve doit être réussie avant d'accédÃ...
    Challenges
    [EN] Dare your mind
    JavaScript: 6, Crypto: 44, Stegano: 36, Logic: 13, Special: 27, Science: 11, Realistic: 7, Programming: 10, Crack It: 6,...
    Challenges

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



Messages : 1,610
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 Hors ligne
Éleveur d'ornithorynques
*******



Messages : 1,610
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 Hors ligne
Éleveur d'ornithorynques
*******



Messages : 1,610
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 250 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