Bonjour,

Je suis entrain d'analyser un shellcode et je constate à la fin de celui-ci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
"\x50\xff\x55\xf4\x39\xd8\x0f\x84\x14\xff\xff\xff\x83\xc7\x07\x57\xff\xd0\xc9\xc3"
"\xe8\xc2\xff\xff\xff"
"msvcrt.dll\n"
En débuggant le shellcode, je constate que cette chaîne de caractère est récupérée au travers un "pop edi".

Je voudrais tester cela en faisant un petit code asm sous visual C++ de la manière suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
__asm
{
	push    ebp		
	mov     ebp,esp
	mov     esp,ebp		
	sub     esp,0x30
       ...	
       pop edi        ; <- je pointe sur ma chaine de caractères
       ...
}
Mais je ne vois pas comment je dois m'y prendre pour passer ainsi une chaîne de caractère afin de la récupérer via un "pop edi". Quelqu'un pourrait il me faire part de la méthode ou m'expliquer le principe?

Merci