标签: c assembly argv argc
我遇到了以下C代码的汇编版本(Michael Sikorski的实用恶意软件分析,第5章)。我根本不明白它如何访问命令行参数。
cmp [ebp+argc], 3 ... mov eax, [ebp+argv]
我理解这段代码的作用:
mov ecx, [esp+4] ; argc mov edx, [esp+8] ; argv
函数参数放在堆栈的顶部,并使用它们相对于堆栈顶部的地址访问它们。但是ebp+argc和ebp+argv是什么意思?
ebp+argc
ebp+argv