社区
工具平台和程序库
帖子详情
关于LoadLibrary函数的一个问题
Ph0nix
2005-10-19 02:33:38
前几天看人家写的程序,里面用LoadLibrary()函数加载了一个DLL,返回的是个HMODULE,结果下面他就用byte*强制转换了一下就当地址用了,这样为什么可以啊?
PS.程序能够正常运行
...全文
295
10
打赏
收藏
关于LoadLibrary函数的一个问题
前几天看人家写的程序,里面用LoadLibrary()函数加载了一个DLL,返回的是个HMODULE,结果下面他就用byte*强制转换了一下就当地址用了,这样为什么可以啊? PS.程序能够正常运行
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Ph0nix
2005-10-24
打赏
举报
回复
thnx
呵呵代码是网上找的,那段代码是找个内存中某个机器码的起始地址,代码是我上次在别人的机器上看到的,当时觉得奇怪,所以才来问的。
Ph0nix
2005-10-23
打赏
举报
回复
HMOUDLE实际上就是dll文件加载后的内存地址
----------------------
但是句柄不是不一定是地址么?有的时候它只是个整数。
codearts
2005-10-23
打赏
举报
回复
HINSTANCE LoadLibrary(PCTSTR pszDLLPathName);
HINSTANCE LoadLibraryEx(
PCTSTR pszDLLPathName,
HANDLE hFile,
DWORD dwFlags);
这两个函数均用于找出用户系统上的文件映像(使用上一章中介绍的搜索算法),并设法将D L L的文件映像映射到调用进程的地址空间中。两个函数返回的H I N S TA N C E值用于标识文件映像映射到的虚拟内存地址。如果D L L不能被映射到进程的地址空间,则返回N U L L。
-------------------------
楼主把后面的代码也贴来瞧瞧,让俺开开眼界
寻开心
2005-10-22
打赏
举报
回复
HMOUDLE实际上就是dll文件加载后的内存地址
你用 ultraedit之类的文件打开这个dll文件,看看内容,再对比hInst所对应的内存地址的内容,就会发现他们是一样的。
Ph0nix
2005-10-22
打赏
举报
回复
fiftymetre(小猫你为什么这么憔悴.)
------------------
不是这么用的 返回的HMOUDLE后他是这么用的
char *p=NULL;
HANDLE Hinst;
Hinst=LoadLibrary("IsupGW.dll");
if (HInst ==0) { ::AfxMessageBox("Load vaSS7GWISUP.dll Failed!!!"); exit(1);}
p=(byte*)Hinst //这就是让我不解的地方
然后他用p做基地址p[i]和某个16进制的值比较
fiftymetre
2005-10-20
打赏
举报
回复
LoadLibrary("IsupGW.dll"); if (HInst ==0) { ::AfxMessageBox("Load vaSS7GWISUP.dll Failed!!!");
这样?
估计 是像二楼所说的吧
lxpws
2005-10-20
打赏
举报
回复
调试一下,看看模块的基地址就知道了。
DentistryDoctor
2005-10-20
打赏
举报
回复
可以转换,但没什么意义。
lujun-cc
2005-10-19
打赏
举报
回复
LoadLibrary的功能就是将一个模块映射到进程的地址空间中,只是其返回值以HMOUDLE形式体现,在Windows内部,也许这个HMOUDLE就是所映射到的地址——猜测而已!
Ph0nix
2005-10-19
打赏
举报
回复
自己顶一下
Load
Library
函数
详细说明
对于其他加载选项,请使用
Load
Library
Ex
函数
。 使用语法 C ++ HMODULE WINAPI
Load
Library
( _In_ LPCTSTR lpFileName ); 参数 lpFileName [in] 模块的名称。这可以是库模块(.dll文件)或可执行...
Windows API之
Load
Library
函数
要使用动态连接库里的
函数
,就需要使用
Load
Library
函数
来加载动态连接库,使用
函数
GetProcAddress来获取功能
函数
的地址。
函数
Load
Library
声明如下: WINBASEAPI __out HMODULE WINAPI
Load
L
Load
Library
函数
参数
问题
Load
Library
函数
参数
问题
关于
Load
Library
的疑问
关于
Load
Library
的疑问 Win32 API 中
Load
Library
函数
的功能是加载某个库文件(通常是 dll 文件),然后返回 HMODULE 句柄,可以使用两个这个句柄来调用dll中的导出
函数
,一切似乎就这么简单。...
C# 64位win7下DllImport
Load
Library
函数
失败
C# 64位win7下DllImport
Load
Library
函数
失败 [DllImport["kernel32.dll"]] static extern IntPtr
Load
Library
(string lpFileName); public void Fun() { IntPtr p =
Load
Library
("abc.dll"); }
工具平台和程序库
24,854
社区成员
27,343
社区内容
发帖
与我相关
我的任务
工具平台和程序库
C/C++ 工具平台和程序库
复制链接
扫一扫
分享
社区描述
C/C++ 工具平台和程序库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章