while 循环函数反汇编 x86
逆向工程
艾达
x86
2021-06-12 21:55:45
1个回答
当调用 printf 函数(或任何其他函数)时,它从堆栈中获取所有参数。在 x86 中,根据cdecl参数以相反的顺序推送。因此,首先将整数值 a 压入堆栈顶部 ( push [ebp+_a]),然后将字符串"%d ,"压入堆栈 ( push offset aD)。虽然 printf 弹出参数,但它首先取出“%d,”,然后获取 a 的值 ie, [ebp+_a]。堆栈指针也应相应更改,以便 printf 函数获得正确的参数。因此sub esp, 8,更改堆栈指针(esp)的指令。
其它你可能感兴趣的问题
