当前位置: 代码迷 >> C语言 >> 查找函数地址的问题
  详细解决方案

查找函数地址的问题

热度:326   发布时间:2008-04-07 09:21:18.0
查找函数地址的问题
查找本机MESSAGEBOX函数地址。
用以下代码调试调出。
显示地址是:x0
是不是代码哪里出错了。
#include <windows.h>
#include <stdio.h>
typedef void (*MYPROC)(LPTSTR);
int main()
{    
        HINSTANCE LibHandle;
        MYPROC ProcAdd;
          LibHandle = LoadLibrary("user32");
        printf("user32 LibHandle = //x%x\n", LibHandle);
        ProcAdd=(MYPROC)GetProcAddress(LibHandle,"messagebox");    
        printf("messagebox = //x%x\n", ProcAdd);
        return 0;
}
搜索更多相关的解决方案: 函数地址  LibHandle  MYPROC  ProcAdd  printf  

----------------解决方案--------------------------------------------------------
- -自己找到答案了 郁闷   


MessageBox的内部名实际上是MessageBoxA, 此函数的入口地址随windows版本的不同而不同.




#include <windows.h>
#include <stdio.h>
typedef void (*MYPROC)(LPTSTR);
int main()
{    
        HINSTANCE LibHandle;
        MYPROC ProcAdd;
          LibHandle = LoadLibrary("user32");
        printf("user32 LibHandle = //x%x\n", LibHandle);
        ProcAdd=(MYPROC)GetProcAddress(LibHandle,"MessageBoxA");    
        printf("MessageBoxA = //x%x\n", ProcAdd);
        return 0;
}



这样就可以查出来了 ....闷到了
----------------解决方案--------------------------------------------------------
找这个做什么?指向库,然后取出MessageBoxA,没怎么用过...
----------------解决方案--------------------------------------------------------
呵呵 写shellcode要用。..木办法.
----------------解决方案--------------------------------------------------------
  相关解决方案