Asm dans prrogramme c
Résolu
chuko
-
tata -
tata -
Bonjour,a tous ma question et simple comment faire executer du code asm en l'occurence un sehll code dans un programme c .Quel fonction ou commande doije utiliser car je copier le shellcode dans un buffer mais je voudrai que ce dernier soit executer y a til un moyen de le faire par exemple ave eip?merci d'avance
2 réponses
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...