看流星社区

 找回密码
 注册账号
查看: 4521|回复: 0

[汇编] 查询DLL中的函数入口地址代码(C )(汇编爱好者必备)

[复制链接]

该用户从未签到

发表于 2011-3-11 10:05:00 | 显示全部楼层 |阅读模式
使用VC6。0自带的depends查找dll中函数的入口地址时,有时会发现计算出的函数入口地址与实际不同,这样你在实际调用时无法调用到该函数,使用以下方法可以清楚的列出一些系统dll函数入口地址,以便asm调用。
  1. #include <windows.h>
  2. #include <stdio.h>
  3. typedef void (*MYPROC)(LPTSTR);
  4. int main()
  5. {
  6. HINSTANCE LibHandle;
  7. MYPROC ProcAdd;



  8. LibHandle = LoadLibrary("kernel32"); //装载目标dll kernel32
  9. printf("KERNEL32 -- msvcrt LibHandle = //x%x\n", LibHandle); //DLL入口DLL

  10. ProcAdd=(MYPROC)GetProcAddress(LibHandle,"WinExec"); //获取函数入口地址
  11. printf("WinExec -- LoadLibrary = //x%x\n", ProcAdd);



  12. LibHandle = LoadLibrary("user32"); //装载目标dll USER32
  13. printf("USER32 -- msvcrt LibHandle = //x%x\n", LibHandle); //DLL入口DLL

  14. ProcAdd=(MYPROC)GetProcAddress(LibHandle,"MessageBoxA"); //获取函数入口地址
  15. printf("MessageBoxA -- LoadLibrary = //x%x\n", ProcAdd);

  16. char s[1024];
  17. scanf("%d",s);
  18. return 0;
  19. }
复制代码
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-4-27 00:24

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表