阅读背景:

构造自己的GetProcAddress以序号形式调用KERNEL32中的API

来源:互联网 
所周知API,GetProcAddress有2个参数,一个为模块hModule:HMODULE,还有一个lpProcName:LPCSTR其中第2个参数可以是字符串指针,也可以是INDEX序号,这样可以分别通过函数名和序号来获得相应的函数地址,其实对于GetProcAddress来说,无论传入哪个参数,最后都会以序号的形式来搜索函数地址的,但是不知道为什么,如果你想要用序号来通过GetProcAddress,获得KERNEL32中的函数地址你是会失败的,微软不希望你这么做,他们在GetProcAddress的内核代码中加入了检测代码从而防止你获得序号的函数地址,所以如果想要获得序号的函数地址,就需要自己写一个函数来代替微软的GetProcAddress,在我下面的例子中调用KERNEL32中的序号为14的函数,wsprintfA@8 所周知API,GetProcAddress有2个参数,一个为模块hModule:HMODULE



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: