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.







Répondre avec citation




Partager