鱼C论坛

 找回密码
 立即注册
查看: 2759|回复: 3

[技术交流] 两个函数的地址问题

[复制链接]
发表于 2013-12-14 10:33:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
如题,函数
DWORD pShowWindow = (DWORD )GetProcAddress(hModule, "ShowWindow");
BOOL WINAPI MyShowWindow(HWND hWnd,int nCmdShow);
DWORD dwJmpAddr = (DWORD)MyShowWindow - (DWORD)pShowWindow - 5;
谁能给解释下,这个跳转的dwJmpAddr地址是要跳到哪去了呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-12-14 11:50:38 | 显示全部楼层
好像知道是怎么回事了,大家也来说说是不是这么一回事!
当指令执行到pShowWindow 函数入口的时候,此时JMP (DWORD dwJmpAddr = (DWORD)MyShowWindow - (DWORD)pShowWindow - 5;)就相当于跳转到MyShowWindow 函数入口处。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-12-14 13:06:42 | 显示全部楼层
不知道楼主想表达什么.
按我所知道的,GetProcAddress可以获取API的地址,而自己在程序定义函数的函数名就是地址.看了你的代码,你把"地址(16进制)"转化为"DWORD(十进制)"没错,但你把他们两个DWORD类型数据相减是代表了什么东西?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-12-14 15:54:46 | 显示全部楼层








'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 03:12

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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