我正在尝试学习一点逆向工程。我理解这些概念,但有一些具体问题,我在平方时遇到了麻烦。下面的功能来自我决定拆解和研究的文件。我知道这是一个__stdcall由retn但我无法弄清楚如何计算0x1c值。这是来自IDA,它显示了函数的4个参数,它们等于32个字节(20h)。即使在函数中间有堆栈空间请求(sub esp,10h),我也看不到retn 1ch的来源。
arg_0 = dword ptr 8
arg_4 = byte ptr 0Ch
arg_14 = dword ptr 1Ch
arg_18 = dword ptr 20h
mov edi, edi
push ebp
mov ebp, esp
push esi
push edi
push dword ptr [ebp+20h]
mov eax, [ecx]
push [ebp+arg_14]
lea esi, [ebp+0Ch]
push 3
push 3
sub esp, 10h
mov edi, esp
push dword ptr [ebp+8]
movsd
movsd
movsd
movsd
call dword ptr [eax+18h]
pop edi
pop esi
pop ebp
retn 1Ch