读书人

函数地址的有关问题

发布时间: 2012-03-19 22:03:05 作者: rapoo

函数地址的问题
我使用汇编语言获得各种函数的地址
还有函数的指令序列
发现凡是系统函数
前边的指令一定是这样
0x8b oxff ox55 0x8b 0xec
0xec后边才会出现不一样的指令
你自己做的函数一般是这样
ox55 0x8b 0xec 同样是后边才会出现不一样的指令
不过 声明为WINAPI的函数不是这样
声明为WINAPI的函数指令是完全不一样
那位大虾来说说为什么



[解决办法]
大概是进入函数的时候保存一下当前的堆栈指针,寄存器之类的代码吧
[解决办法]
汇编指令与机器指令的映射而已.
比如:
0x55 => push ebp
0x8B,0xEC => mov ebp, esp

打开windows.h,你会看到:
#define WINAPI __stdcall
__stdcall指定了函数参数的传递方式(如决定左参数先入栈还是右参数先入栈,etc),其他的还有__cdecl等等

读书人网 >C语言

热点推荐