Kann man anhand des Aufrufs einer Funktion in einem fremden Programm, die Paramteranzahl dieser Funktion ermitteln? Ich schätze die Funktion hat etwa sieben Parameter, die ersten drei sind PWideChars, 4-8 sind einfach 0, wenn ich die Funktion zum test hooke.
Sie hat auch einen Rückgabewert, da ja eax mit 1 verglichen wird.
Eigentlich dachte ich immer, die ersten drei Paramter werden in ebx, ecx und edx abgelegt, aber wie funktioniert das nun bei so vielen Parametern?
Code:
* Reference To: KERNEL32.GetProcAddress, Ord:0197h
|
:00407753 FF1580104000 Call dword ptr [00401080]
:00407759 3BC6 cmp eax, esi
:0040775B 743D je 0040779A
:0040775D 56 push esi
:0040775E FF7524 push [ebp+24]
:00407761 FF7520 push [ebp+20]
:00407764 FF751C push [ebp+1C]
:00407767 FF7518 push [ebp+18]
:0040776A FF7514 push [ebp+14]
:0040776D 56 push esi
:0040776E 56 push esi
:0040776F 56 push esi
:00407770 56 push esi
:00407771 56 push esi
:00407772 FF7510 push [ebp+10]
:00407775 FF750C push [ebp+0C]
:00407778 FF7508 push [ebp+08]
:0040777B FFD0 call eax
:0040777D 83F801 cmp eax, 00000001
:00407780 7429 je 004077AB
:00407782 50 push eax
:00407783 6868254000 push 00402568
:00407788 6838254000 push 00402538