Asm dans prrogramme c
Résolu/Fermé2 réponses
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 527
4 juil. 2008 à 18:26
4 juil. 2008 à 18:26
Salut,
Oui tu peux sauter dedans comme si c'était une fonction.
Si ton buffer de shellcode est le suivant: char *shellcode;
Alors tu prépares un pointeur de fonction basique qui ne prend pas d'argument et qui ne retourne rien, tu le fais pointer vers ton buffer puis tu l'executes:
L'inconvénient c'est comme c'esst un appel de fonction, tu fais un call, donc en plus de sauter dans le shellcode, tu push aussi eip dans la pile mais ça n'a pas beaucoup d'importance...
Oui tu peux sauter dedans comme si c'était une fonction.
Si ton buffer de shellcode est le suivant: char *shellcode;
Alors tu prépares un pointeur de fonction basique qui ne prend pas d'argument et qui ne retourne rien, tu le fais pointer vers ton buffer puis tu l'executes:
typedef (void)(*typefuncvoid)(void); typefuncvoid ptrfunc = (typefuncvoid) shellcode; ptrfunc(); //Appel du code dans le buffer
L'inconvénient c'est comme c'esst un appel de fonction, tu fais un call, donc en plus de sauter dans le shellcode, tu push aussi eip dans la pile mais ça n'a pas beaucoup d'importance...
merci beaucoup aurai du y pense merci encore de ton aide