首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
经典问答
发新帖
1
0
[求助]DLL何时加载到内存?
发表于: 2010-9-27 10:05
5415
[求助]DLL何时加载到内存?
wudidaoshi
2010-9-27 10:05
5415
DLL何时加载到内存?一个控制台exe文件,只看到他载入了两个模块,kernel32.dll,ntdll.dll.
但是导入表里只有一个 kernel32.dll, 通过冰刃可以看到这个exe载入模块有很多很多。
问题,DLL是通过什么载入内存的?何时载入内存的?注入的模块又是何时加载的?导入表跟注入的DLL模块的关系等?
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
收藏
・
1
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
12
)
Soargon
雪 币:
137
活跃值:
(11)
能力值:
( LV2,RANK:10 )
在线值:
发帖
4
回帖
15
粉丝
0
关注
私信
Soargon
2
楼
貌似加了TMD壳的程序就这样 本来应该是入口点之前加载的
专门消灭0回复
2010-9-27 12:23
0
wudidaoshi
雪 币:
37
活跃值:
(11)
能力值:
( LV2,RANK:10 )
在线值:
发帖
23
回帖
78
粉丝
0
关注
私信
wudidaoshi
3
楼
时机未到而已,呵呵,没人知道吗?都不帮一下新人啊!~
2010-9-27 12:58
0
爱在天涯
雪 币:
169
活跃值:
(245)
能力值:
( LV8,RANK:130 )
在线值:
发帖
16
回帖
128
粉丝
2
关注
私信
爱在天涯
3
4
楼
kernel32.dll 文件是windows系统文件,是系统自带的应该在 system32或者 windows目录里。
当然不用在程序文件夹里再有。还有 user32.dll 等等,像常用的系统dll 应该知道个大概。
2010-9-27 13:07
0
大嘴呀呀
雪 币:
195
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
6
回帖
76
粉丝
0
关注
私信
大嘴呀呀
5
楼
Dll是动态链接库,是程序在执行时动态的被加载进内存的!
2010-9-27 13:16
0
wudidaoshi
雪 币:
37
活跃值:
(11)
能力值:
( LV2,RANK:10 )
在线值:
发帖
23
回帖
78
粉丝
0
关注
私信
wudidaoshi
6
楼
4楼的你跑偏的
2010-9-27 13:17
0
wudidaoshi
雪 币:
37
活跃值:
(11)
能力值:
( LV2,RANK:10 )
在线值:
发帖
23
回帖
78
粉丝
0
关注
私信
wudidaoshi
7
楼
在OD里面只看到kernel32.dll,ntdll.dll模块,在冰刃里看到的是N多个模块?在导入表里只有一个kernel32.dll模块
2010-9-27 13:18
0
Allision
雪 币:
32
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
1
回帖
13
粉丝
0
关注
私信
Allision
8
楼
当进程被加载时,系统为它分配一个4GB的地址空间,接着分析可执行模块(控制台exe文件),找到该程序
将要调用哪些DLL,然后系统搜索这些DLL,找到后就加载它们,并为它们分配虚拟的内存空间,最后将
DLL的页面映射到调用进程的地址空间,DLL加载完毕。建议看一下孙鑫的<<VC++深入详解>>19章动态连接库 讲的很详细的
2010-9-27 14:45
0
longfengy
雪 币:
71
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
1
回帖
6
粉丝
0
关注
私信
longfengy
9
楼
不是太懂 查一下
2010-9-27 15:05
0
longfengy
雪 币:
71
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
1
回帖
6
粉丝
0
关注
私信
longfengy
10
楼
当一个可执行文件被启动时,操作系统加载程序将为该进程创建虚拟地址空间。然后,加
载程序将可执行模块映射到进程的地址空间中。加载程序查看可执行模块的输入节,并设法找
出任何需要的D L L,并将它们映射到进程的地址空间中。
2010-9-27 15:09
0
wudidaoshi
雪 币:
37
活跃值:
(11)
能力值:
( LV2,RANK:10 )
在线值:
发帖
23
回帖
78
粉丝
0
关注
私信
wudidaoshi
11
楼
OK,本人找到原因了,首先是根据导入表加载的DLL,这时候内存中只有两个DLL,kernel32.dll,ntdll.dll
在代码运行过程中会加载很多DLL 。
2010-9-27 15:54
0
chitcrazy
雪 币:
47
活跃值:
(43)
能力值:
( LV3,RANK:20 )
在线值:
发帖
21
回帖
77
粉丝
0
关注
私信
chitcrazy
12
楼
是根据导入表而找到dll的吗,而不是找到了dll再将这些写入导入表的吗
2013-11-8 15:28
0
soechin
雪 币:
69
活跃值:
(30)
能力值:
( LV3,RANK:20 )
在线值:
发帖
4
回帖
145
粉丝
0
关注
私信
soechin
13
楼
bp LoadLibraryA
bp LoadLibraryW
2013-11-8 16:23
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
wudidaoshi
23
发帖
78
回帖
10
RANK
关注
私信
他的文章
[求助]关于拦截绑定端口与连接的问题?
4207
[求助]利用SSDT写的简单主动防御系统
4367
[讨论]有没有人用C++写驱动程序?
6383
[求助]DDK 的帮助文档到底有没有啊。
6123
[求助]VS2008 无法转到定义
14414
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部