• STATISTIQUES
  • Il y a eu un total de 1 membres et 8717 visiteurs sur le site dans les dernières 24h pour un total de 8 718 personnes!


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


  • ANNUAIRE
  • [FR] Secuser
    Actualité de la sécurité informatique, fiches virus et hoax, alertes par email, antivirus gratui...
    Hacking
    [EN] Listbrain Version 3
    Site proposant 66 challenges présentés dans une liste mélangée.
    Challenges
    [FR] Asp-php
    Tutoriaux sur ASP, PHP, ASP.net, XML, SQL, Javascript, HTML, VML - Scripts et ressources pour webmasters - Forums d&#...
    Programmation
    [FR] Le site du zero
    Découvrez gratuitement la programmation (C, C++, PHP, MySQL, XHTML, CSS...), Linux, le Mapping, la modé...
    Programmation
    [FR] Hackfest
    Le Hackfest est un évènement de sécurité et de piratage informatique au Québec reg...
    Hacking
    [EN] Gekko
    Site de challenge présenter sous la forme d'une quête. Vous êtes un agent secret qui répond sous le nom...
    Challenges
    [FR] PHP France
    Pour tout savoir sur le PHP, en français. Vous trouverez des tutoriels, des exemples, des astuces, toute la do...
    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,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 217 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