首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
经典问答
发新帖
0
0
[求助]概念性问题,PE文件在内存中的存在方式?
发表于: 2009-11-26 14:00
8864
[求助]概念性问题,PE文件在内存中的存在方式?
yeliangang
2009-11-26 14:00
8864
查看主题内容
收藏
・
0
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
35
)
◀
1
2
怀特迈恩
雪 币:
444
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
14
回帖
242
粉丝
0
关注
私信
怀特迈恩
26
楼
回23楼,程序加载DLL肯定是COPY。
引用:“但是不管是连接还是COPY对破解应该都没有用吧,因为再次启动程序后,系统会重新加载这个DLL啊。”
再次启动程序后还是不会让你破解的:
(1)类似壳的思想:在执行程序前有一段壳代码,这个壳再次修改该加载到内存的该DLL副本。
(2)类似病毒的思想:系统重新加载的DLL本身就被篡改了,“DLL原版”——位于系统盘的源文件中病毒了。
2009-11-26 16:23
0
追风傲雪
雪 币:
259
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
8
回帖
170
粉丝
0
关注
私信
追风傲雪
27
楼
如果像他说的那样,每个程序都COPY一份,那不还就相当于在每个EXE文件中加入了一份么。只是文件在关了之后把他释放了而已。。。这样的话,他也不节省内存,而是节省硬盘啊。。
回15楼,dll节省内存体现在“动态加载”这四个字上,需要的时候才加载来,不需要时候才卸载掉,这难道不比每时每刻都存在内存里 要节省吗?
2009-11-26 16:27
0
怀特迈恩
雪 币:
444
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
14
回帖
242
粉丝
0
关注
私信
怀特迈恩
28
楼
回25楼,我支持你的观点啊。我中间说错了一点:DLL加载机制是节约磁盘的。最后想想发现跟节约磁盘无关。故:对你所说的节约内存的观点
完全同意
(还是自己大学知识没学好啊),而对你的其他观点
完全同意
。这个你仔细看我的回复。
作为补充,我认为你所说的 一直存在内存中的DLL源本,这个说法不太好。应该是保存在硬盘上系统分区中的DLL源本。
2009-11-26 16:27
0
怀特迈恩
雪 币:
444
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
14
回帖
242
粉丝
0
关注
私信
怀特迈恩
29
楼
刚看了27楼,晕了,原来是这样节约内存啊,肯定正确。
PS:我想多了。。。。
2009-11-26 16:29
0
xtwksse
雪 币:
14
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
3
回帖
131
粉丝
0
关注
私信
xtwksse
30
楼
回26楼
呵呵,学习了。。
下班了。。88
明天再看你们的讨论。。。
2009-11-26 16:32
0
追风傲雪
雪 币:
259
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
8
回帖
170
粉丝
0
关注
私信
追风傲雪
31
楼
29楼终于能和我的观点一致了,如果我的观点有错误,还请大家指正。学了4年计算机,编了这么久的程序,如果还搞不清概念性问题,是很难提高自己水平了。。
2009-11-26 16:35
0
foxive
雪 币:
183
活跃值:
(36)
能力值:
( LV4,RANK:50 )
在线值:
发帖
7
回帖
29
粉丝
1
关注
私信
foxive
1
32
楼
请教:4GB没有被加载的部分是存在硬盘上吗?是指虚拟内存吗?
2009-11-26 19:51
0
追风傲雪
雪 币:
259
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
8
回帖
170
粉丝
0
关注
私信
追风傲雪
33
楼
回楼上 当PE文件被加载到内存后,PE加载器会为进程分配一个4GB的虚拟地址空间(注意:是虚拟),然后把程序所占用的磁盘空间作为虚拟内存映射到这个4GB的虚拟空间里,哪部分被映射进内存是由PE加载器遍历PE文件而决定的。
不过我15楼的确写错了,我去修改下
2009-11-26 21:01
0
evilcode
雪 币:
254
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
45
回帖
398
粉丝
0
关注
私信
evilcode
34
楼
我意思是说,后来的进程例如也用到那个dll.例如要加载在0X70000000处,而前面一个进程加载在0X60000000处
那系统也只是通过页目录和页表的修改,让这个0X70000000对应的物理地址和前面一个进程0X60000000对应的物理地址是同一块
2009-11-26 21:43
0
追风傲雪
雪 币:
259
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
8
回帖
170
粉丝
0
关注
私信
追风傲雪
35
楼
我理解错了,楼上观点完全正确
2009-11-27 10:32
0
SafedotNet
雪 币:
7
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
2
回帖
22
粉丝
0
关注
私信
SafedotNet
36
楼
哈哈,不受影响。。。只是几个内存副本。。
2009-11-27 11:10
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
◀
1
2
返回
yeliangang
13
发帖
60
回帖
10
RANK
关注
私信
他的文章
大家如何了解杀软的技术内幕的?仍旧逆向?
3076
[求助]驱动的模块加载地址是10000?
3004
[求助]概念性问题,PE文件在内存中的存在方式?
8864
[求助]关于lldt指令以及地址映射后内存访问上的疑惑,求助大虾们
4049
[求助]学习写杀软需要学习?
3557
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部