Bonjour,
J'ai un petit travail à faire pour expliquer ce code et j'ai besoin d'aide:
Que fait ce code?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 ...
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.
Partager