Bonjour à tous,
je viens de lire le précédent sujet qui était très intéressant sur l'apprentissage de l'assembleur. Comme je débute moi aussi, parce que cela est indispensable dans l'écriture de shellcode, je voudrais vous poser une question. Je lis en ce moment l'excellent site de hacking http://www.bases-hacking.org. Je m'entraîne sur des wargame, pour l'instant assez simples. A cet endroit http://www.bases-hacking.org/shellcode.html, après relecture et application, je me suis posé une question, parce que cela n'est pas expliqué et que je ne m'étais pas aperçu de l'aspect tendancieux des lignes :
Ainsi, dans eip, on place l'adresse de ce que sera celle de la chaîne "/bin/sh0aaaabbbb". Sauf que, et c'est là que ça me turlupine, le processeur va d'abord exécuter le call, sans jamais exécuter le db, juste en plaçant l'adresse de l'instruction en haut de la pile. Du coup, si dans retour on veut utiliser la chaîne, elle n'est pas encore en mémoire, si ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 chaine: ;label chaine où on arrive après le jump call retour ;On retourne au label retour en mettant l'adresse de la prochaine instruction (cheminshell) dans la pile cheminshell db "/bin/sh0aaaabbbb"
A moins que db "/bin/sh0aaaabbbb" ne soit pas réellement une instruction, enfin c'est très flou pour moi !
Pouvez-vous m'éclairer ?
Merci d'avance !
Partager