首页
社区
课程
招聘
[旧帖] [求助]请问模块句柄的结构是怎么样的??? 0.00雪花
发表于: 2011-8-31 13:29 1649

[旧帖] [求助]请问模块句柄的结构是怎么样的??? 0.00雪花

2011-8-31 13:29
1649
有些函数等到了模块句柄的值,利用这个值为基地址,加上偏移,取了一些数据似乎要干什么的,所以我想知道模块句柄的结构??????

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 33
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
到底怎么样嘛??????????????????
2011-8-31 14:29
0
雪    币: 793
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
"句柄"是什么呢?句柄只是一个数值而已,它的值对程序来说是没有意义的,它只是Windows用来表示各种资源的编号而已,可见只有Windows才知道怎么使用它来引用各种资源。

为了区分地址空间中的不同模块,每个模块都有一个惟一的模块句柄来标识。

在常用的编译器里,EXE模块句柄的默认值是00400000 DLL模块句柄的默认值10000000
在C语言的编程中,hInstance通过WinMain由系统传入,WinMain的原型是:
WinMain(hInstance,hPrevInstance,lpzCmdParam,nCmdShow),程序不用自己去获得hInstance,这个过程由C的初始化代码代劳了,但在Win32汇编中hInstance必须自己获取,如果不了解hModule就是hInstance的话,就无法得知如何得到hInstance,因为并没有一个类似于GetInstanceHandle之类的API函数。
2011-8-31 15:14
0
雪    币: 412
活跃值: (30)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
4
对于模块来说,句柄就是这个模块的基址.
2011-8-31 15:15
0
雪    币: 793
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
一个进程在初始化时,系统将为它分配一个句柄表(handle table).句柄表仅供Windows内核对象使用,句柄表的结构未文档化,大致结构三项:指向内核对象内存块的指针,访问掩码,标志
句柄值实际是作为句柄表的索引来使用的,是与进程相关的。
2011-8-31 15:37
0
雪    币: 33
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
都很有道理,不过我就知道这个句柄其实是一个地址值,所以,这里我的问题又转变为这个模块的结构是怎么样的?
2011-8-31 15:52
0
雪    币: 27
活跃值: (43)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
模块的句柄就是模块在内存中的地址,具体结构就是PE加载后的结构
2011-8-31 16:05
0
雪    币: 33
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
3q
3q
3q
2011-8-31 16:09
0
雪    币: 793
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
2011-8-31 16:18
0
雪    币: 26
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
新人交流投稿
2011-8-31 16:22
0
雪    币: 793
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
一个可执行的程序(包括EXE或者DLL等),其程序代码,数据,资源被加载到内存中,由系统建立一个数据结构(Module Database MDB或者称PE表头)来管理它,就是一个模块(Module).
2011-8-31 16:24
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
模块句柄值一般就是这个模块在内存中的起始地址
2011-8-31 17:54
0
游客
登录 | 注册 方可回帖
返回
//