Demande d'explications, code simple
Bonjour,
J'ai un petit travail à faire pour expliquer ce code et j'ai besoin d'aide:
Code:
1 2 3 4 5 6 7 8 9 10 11
|
00520600 push ebp ;Push contents of ebp to the stack
00520601 mov ebp,esp ; ebp=esp
00520603 mov dword ptr [pointer],80706050h ; pointer=80706050h
0052060A push ebx ;Push contents of ebx to the stack
0052060B push 1 ;Push 1 to the stack
0052060D call foobar (0x005100F2h)
00520612 add esp,4 ; esp=esp+4
00520615 mov ebx,dword ptr [pointer] ; ebx=pointer
00520618 mov dword ptr [ebx],eax ; the value pointed by ebx = eax
... |
Que fait ce code?
Expliquer ce qu'il y a de faux dans ce code qui va causer un plantage.
Quelle est la convention utilisée– stdcall, cdecl, fastcall ou thiscall?
Donc j'ai rajouté les commentaires.
J'ai un peu de mal à voir le but général.
Je pense que le problème vient du fait qu'on essaye en quelque sorte de passer un argument à la fonction foobar alors que ce n'est pas la syntaxe.
Je pense que c'est la convention cdecl car la pile est nettoyé après.
Merci d'avance pour votre aide.