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.