• [^] # Re: complément d'informations

    Posté par . En réponse au message Fonctionnement interpreteur linux. Évalué à 0.

    Avant toute chose : chaque commentaire est muni d'un lien « répondre » après le texte. Il faut l'utiliser quand tu réponds à une personne, pour que les différents commentaires soient bien organisés en arbre.

    Désolé, j'avais pas compris, j'ai plutôt l'habitude de voir des forums en liste.

    Oui mais comment ? En principe, un segment de code est protégé en écriture. Tu devrais obtenir systématiquement une segfault si tu n'as pas obtenu explicitement les droits d'accès dessus, et ça ne se fait pas de façon simple.

    Il suffit de changer les droits du segment, cela se fait assez facilement.

    Le système chargé de reconnaître la nature d'un fichier et, s'il est exécutable, soit de l'exécuter directement, soit de démarrer l'interpréteur approprié n'a pas, à ma connaissance, de nom académique, mais tout le monde parle de « lanceur », tout simplement.

    merci je parlerai de lanceur désormais, (laucher en anglais ?). J'ai utilisé ce terme à défaut d'avoir trouvé le terme adéquat.

    Que tu patches le fichier exécutable avant lancement et que tu y ajoutes une routine, OK. Par contre, à l'exécution, la routine ne devrait pas pouvoir modifier directement le code sans avoir obtenu les privilèges nécessaires. Tu es sûr que c'est bien le code que tu modifies alors, et pas un segment de données quelconque ?

    En tout cas, lorsque j’exécute mon code au débugger (ida ou gdb), mes instructions changes et j'arrive à dévier le flux de mon programme de la façon suivante :

    entry_point -> routine_dechiffrement -> exception(exit)
    en
    entry_point -> routine_dechiffrement -> branch_old_entry_point