IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Ecrire du code binaire dans un fichier


Sujet :

Python

  1. #1
    Membre actif Avatar de sorry60
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 802
    Points : 253
    Points
    253
    Par défaut Ecrire du code binaire dans un fichier
    Bonjour,

    J'ai besoin d'écrire du code binaire (un shellcode) dans un fichier.
    Quelqu'un sait comment faire ?

    J'ai essayé des choses du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    f.write(chr(int(0x7FFFFFFF,16)))
    Mais ça ne passe pas.

    Merci pour vos idées
    Sorry
    Si je pleure encore qu'un jour tu me reviennes,
    C'est que sans toi je suis comme un Roi sans sa Reine.

  2. #2
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 533
    Points
    2 533
    Par défaut
    Je veux pas être sévère, mais un minimum de recherche avant de poser une question ne fais de mal à personne, surtout quand un sujet approchant à été créé le 29/03 et est encore en première page ^^

    http://www.developpez.net/forums/d71...naires-python/
    Si ce message vous a semblé utile, il est possible qu'il soit utile à d'autres personnes. Pensez au . Et n'oubliez pas le le moment venu !

    On n'a pas à choisir si l'on est pour ou contre la décroissance, elle est inéluctable, elle arrivera qu'on le veuille ou non.

  3. #3
    Membre actif Avatar de sorry60
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 802
    Points : 253
    Points
    253
    Par défaut
    Oui j'ai vu ce post.

    Mais n'étant pas un utilisateur acharné de python, et encore moins de python objet, je n'ai pas vraiment trouvé mon bonheur.

    Je pensais qu'il y avait une solution plus simple.
    Si je pleure encore qu'un jour tu me reviennes,
    C'est que sans toi je suis comme un Roi sans sa Reine.

  4. #4
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 533
    Points
    2 533
    Par défaut
    Que tu ne connaisses pas python, ce n'est pas vraiment un problème, c'est même le but du forum de fournir de l'aide.

    Mais là, il manque beaucoup d'informations.

    Tu veux écrire quoi dans ton fichier, des int, des shorts, des long, des doubles, des string, en big endian ou little-endian ?

    De plus, tu ne nous donnes aucune piste avec un bout de code.

    Cela donc reste très difficile de répondre.
    Si ce message vous a semblé utile, il est possible qu'il soit utile à d'autres personnes. Pensez au . Et n'oubliez pas le le moment venu !

    On n'a pas à choisir si l'on est pour ou contre la décroissance, elle est inéluctable, elle arrivera qu'on le veuille ou non.

  5. #5
    Membre actif Avatar de sorry60
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 802
    Points : 253
    Points
    253
    Par défaut
    Citation Envoyé par DelphiManiac Voir le message
    Que tu ne connaisses pas python, ce n'est pas vraiment un problème, c'est même le but du forum de fournir de l'aide.

    Mais là, il manque beaucoup d'informations.

    Tu veux écrire quoi dans ton fichier, des int, des shorts, des long, des doubles, des string, en big endian ou little-endian ?

    De plus, tu ne nous donnes aucune piste avec un bout de code.

    Cela donc reste très difficile de répondre.
    Ok pardon, j'explique mieux.

    Je dois écrire des instructions, par exemple : '\x90\x90\x90\x90'

    Car pour le moment je faisais ça en ligne de commande avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    python -c "print '\x90\x90'" > fic
    Mais j'aimerais automatiser le truc dans un programme python. Alors j'avais pensé sur le coup à un simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    f.write("\x90\x90\x90\x90")
    Mais ça ne passe pas.

    J'espère que c'est plus clair.
    Si je pleure encore qu'un jour tu me reviennes,
    C'est que sans toi je suis comme un Roi sans sa Reine.

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Points : 923
    Points
    923
    Par défaut
    Citation Envoyé par sorry60 Voir le message
    Alors j'avais pensé sur le coup à un simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    f.write("\x90\x90\x90\x90")
    Mais ça ne passe pas.
    Comment ça, ça ne passe pas ? Message d'erreur ? rien n'est écrit ?

  7. #7
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Et si tu l'ouvres en binaire ?
    open("fichier", "wb")

  8. #8
    Membre actif Avatar de sorry60
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 802
    Points : 253
    Points
    253
    Par défaut
    Citation Envoyé par Matthieu Brucher Voir le message
    Et si tu l'ouvres en binaire ?
    Oui en effet je l'ai pas ouvert en binaire...
    Si je pleure encore qu'un jour tu me reviennes,
    C'est que sans toi je suis comme un Roi sans sa Reine.

  9. #9
    Membre actif Avatar de sorry60
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    802
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 802
    Points : 253
    Points
    253
    Par défaut
    Bon voici ce qu'il fallait faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    fic = open("payload","wb")
    fic.write(struct.pack('!l',0x7FFFFFFF))
    Désolé pour ce post idiot, j'avais oublié qu'il fallait précisé le 'b', pourtant c'est pareil en C...

    Merci pour votre aide
    Sorry
    Si je pleure encore qu'un jour tu me reviennes,
    C'est que sans toi je suis comme un Roi sans sa Reine.

  10. #10
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Pas de problème

  11. #11
    Membre émérite
    Avatar de DelphiManiac
    Homme Profil pro
    Homme à tout faire
    Inscrit en
    Mars 2002
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Homme à tout faire
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 147
    Points : 2 533
    Points
    2 533
    Par défaut
    Comme quoi en expliquant mieux le problème, la solution saute des fois aux yeux

    Content que la solution ai été trouvé.
    Si ce message vous a semblé utile, il est possible qu'il soit utile à d'autres personnes. Pensez au . Et n'oubliez pas le le moment venu !

    On n'a pas à choisir si l'on est pour ou contre la décroissance, elle est inéluctable, elle arrivera qu'on le veuille ou non.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ecrire en binaire dans un fichier
    Par Invité dans le forum VB.NET
    Réponses: 4
    Dernier message: 07/12/2013, 16h30
  2. [WD11] Ecrire au format binaire dans un fichier
    Par Cocrane dans le forum WinDev
    Réponses: 2
    Dernier message: 30/09/2010, 17h48
  3. Ecrire & Lire des énumérés dans un fichier Texte
    Par WebPac dans le forum Langage
    Réponses: 8
    Dernier message: 18/06/2008, 10h04
  4. Code barre dans des fichiers QuiReport 3.62 pour delphi 7
    Par yanis97 dans le forum Composants VCL
    Réponses: 1
    Dernier message: 07/03/2006, 14h25
  5. Réponses: 11
    Dernier message: 13/10/2004, 00h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo