Bonjour à tous. J'ai commencé récemment à "developper" en assembleur (entendez par là : essayer de comprendre le fonctionnement intime des programmes), mais je reste bloqué sur une notion en particulier : le polymorphisme.
Comme tout le monde, pour commencer les interruptions système, j'ai rédigé un shellcode, et j'aimerai le rendre polymorphe (un simple cryptage des instructions en Xor, puis rédiger un module de décryptage). Cependant, dans tous les tutos que j'ai lu jusqu'a maintenant, il est expliqué qu'il faut empiler les instructions décodées, puis faire sauter EIP sur la première instruction décryptée, en d'autre termes, faire sauter EIP sur la pile. Cependant, chez moi, cela cause une "Illegal instruction".
J'ai lu quelque part que désormais, la pile n'est plus exécutable. Cela expliquerait mon problème, mais existe t'il d'autres manières de créer un code polymorphe ? Peut on, sinon, modifier le segment de code pour ajouter les inscriptions décodées ?
Je suppose que je me pose des questions stupides, mais je n'arrive pas à comprendre ce point. Merci d'avance pour votre aide.
Sat.
Partager