终于知道如何用LoadLibrary,但不知为什么!
我自己写的例子是:
#include <windows.h>
int main(int argc, char* argv[])
{
char *msvcrt = "msvcrt.dll";
__asm
{
mov eax, msvcrt
push eax
call dword ptr[LoadLibrary]
}
return 0;
}
哎,笨蛋试的例子.
为什么
printf
和
LoadLibrary
的调用方法不一样呢?
call dword ptr[printf]
会出错,而
call print
则正确.
原来是这样:
LoadLibrary是动态链接
printf是静态链接
静态链接只须call xxxxxxxx即可
动态链接必须call DWORD ptr [xxxxxxxx]
谢谢虾爷!