逆向知识十一讲,识别函数的调用约定,函数参数,函数返回值....识别参数类型,看其参数是怎么使用.
3.识别调用约定,看其函数内部是否平栈
4.识别返回值类型,看其eax是否是被重写,如果被重写,则是返回值是int类型
2.返回值 __int64 C调用约定...3.识别函数返回值类型
函数返回值类型,在MyAdd中调用了_ftol函数,其内部则是返回__int64,返回值是 edx.eax
Release下的汇编
?...,识别返回值 如果是int指令,那么返回值则放在eax中,如果是__int64指令,返回值则是在 edx.eax中,如果是浮点返回值,返回值则是在浮点协处理器中.
4.识别调用约定,函数内部平栈,如果没有寄存器传参则是...doubLe和float,可以看出,在main函数下面是用浮点的出栈指令 fstp指令,从浮点协处理器出栈,浮点协处理器是64位的,所以返回double
总结:
1.调用约定,如果是c call那么外面平栈