逆向知识十一讲,识别函数的调用约定,函数参数,函数返回值....识别参数类型:
参数类型还是很好识别了,使用参数的地方用的直接是4个字节的寄存器,那么我们可以暂定为int类型
识别调用约定
如果在函数外面平栈,那么就是C调用约定,从识别参数来看,函数内部的...识别参数类型,看其参数是怎么使用.
3.识别调用约定,看其函数内部是否平栈
4.识别返回值类型,看其eax是否是被重写,如果被重写,则是返回值是int类型
2.返回值 __int64 C调用约定...3.识别函数返回值类型
函数返回值类型,在MyAdd中调用了_ftol函数,其内部则是返回__int64,返回值是 edx.eax
Release下的汇编
?...上面返回值类型么有更改为doubLe和float,可以看出,在main函数下面是用浮点的出栈指令 fstp指令,从浮点协处理器出栈,浮点协处理器是64位的,所以返回double
总结:
1.调用约定