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 :

Problème de conversion


Sujet :

Python

  1. #1
    Membre confirmé

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 377
    Points : 597
    Points
    597
    Par défaut Problème de conversion
    Bonjour,

    j'ai un petit problème tout bête mais pas moyen de trouver la solution.

    Je fais de l'injection de code dans un fichier exécutable, je crée donc un shellcode que je stock dans une chaine de caractères :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    shellcode = "\x00\x00\xa0\xe3\x05\x1d\xa0\xe3\x83\x2c\xa0\xe3\xb4\x20\x82\xe2"
    J'ai ensuite une méthode avec laquelle je vais rajouter des instructions dynamiques :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    def get_shell_value(self):
            shell_value = ""
            for i in range(4):
                format_temp = hex(self.hex_value[i])
                shell_value =  "\\" + format_temp[1:] + shell_value
            return shell_value
    Avant je n'utilisais que la partie dynamique et cela fonctionnait. Mais depuis que je veux mixer mes deux méthodes j'ai des soucis de conversion. En effet ma chaine de caractères est interprété comme de l'hexa alors que ma chaine générer est un string. Mais je n'arrive pas à modifier ma méthode de généré pour en faire aussi de l'hexa.

    A savoir que self.hex_value[i] contient les valeur décimal de l'instruction.

    Merci de votre aide.

  2. #2
    Membre éprouvé

    Homme Profil pro
    Diverses et multiples
    Inscrit en
    Mai 2008
    Messages
    662
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Diverses et multiples

    Informations forums :
    Inscription : Mai 2008
    Messages : 662
    Points : 1 273
    Points
    1 273
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    def get_shell_value(self):
            shell_value = ""
            for i in range(4):
                shell_value = chr(self.hex_value[i]) + shell_value
            return shell_value
    … tout simplement, non*? Ce qu’il te faut, c’est un octet valant self.hex_value[i], et représenté par un caractère (puisqu’intégré à une chaîne), s’pas*? Donc, c’est chr() qu’il te faut… chr(33) est équivalent à écrire dans le code "\x21".

    À noter, sous py3, il serait préférable d’utiliser une chaîne de bytes, malheureusement, il n’y a pas d’équivalent ) chr() produisant des bytes*!

  3. #3
    Membre confirmé

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2009
    Messages : 377
    Points : 597
    Points
    597
    Par défaut


    Merci, j'ai vraiment fais le boulet la

    À noter, sous py3, il serait préférable d’utiliser une chaîne de bytes, malheureusement, il n’y a pas d’équivalent ) chr() produisant des bytes*!
    Oui mais je code encore en 2.7.

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

Discussions similaires

  1. problème de conversion de dimension dans BUSINESS OBJECT
    Par greatmaster1971 dans le forum Deski
    Réponses: 4
    Dernier message: 28/04/2014, 13h15
  2. - [CAST ou CONVERT] Problème de conversion de date
    Par Boublou dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 06/07/2004, 14h31
  3. Problème de conversion 3DS->.X
    Par JBernn dans le forum DirectX
    Réponses: 5
    Dernier message: 08/04/2004, 19h08
  4. Problème de conversion unicode
    Par djmalo dans le forum C
    Réponses: 5
    Dernier message: 09/03/2004, 11h48
  5. Réponses: 11
    Dernier message: 02/09/2003, 14h20

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