首页
社区
课程
招聘
[原创]PE 文件格式启发式学习(以hello.exe 为例)(5.15更新)
发表于: 2008-5-11 21:16 70345

[原创]PE 文件格式启发式学习(以hello.exe 为例)(5.15更新)

2008-5-11 21:16
70345
收藏
免费 7
支持
分享
最新回复 (88)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
26
很好!~~~~~~~~
2008-5-17 20:04
0
雪    币: 107
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
27
写的非常好!
我有个小问题,一直是我迷惑的地方!
在节表中为什么 VirtualSize 比  SizeOfRawData 要小呢?
一个是节的虚拟大小(是在内存中的大小吗?),一个是文件中的大小。文件中数据不是都全部映射到内存中去了吗,那内存中的虚拟大小要么比文件中大,要么至少相等吧,怎么可能小呢!
2008-5-17 21:54
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
28
看完第一课了,顶!
2008-5-19 08:50
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
29
PE结构还是了解的,就是记不住,每次还得那资料参照着看.
2008-5-19 11:54
0
雪    币: 107
活跃值: (12)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
30
我有个小问题,一直是我迷惑的地方!
在节表中为什么 VirtualSize 比 SizeOfRawData 要小呢?
一个是节的虚拟大小(是在内存中的大小吗?),一个是文件中的大小。文件中数据不是都全部映射到内存中去了吗,那内存中的虚拟大小要么比文件中大,要么至少相等吧,怎么可能小呢!

文件的大小是以块对齐的,512字节(0x200)
内存的大小是以页对齐的,4096字节(0x1000)
文件text 段节数据会全部映射到内存,所以内存至少也会占用4096bbytes
text 段再内存中所占内存大小总是大于文件所占空间大小是对的。
此处的 VirtualSize  并没有按页对齐, 而是text 段中有效的数据, 即不包括后面的 一堆0
此处  SizeOfRawData 却是按块对齐的,即总是512字节的倍数
hello 是个很小的程序,所以其有效数据小于512字节 ,这就是你看到的现象

另外我有一个问题, 引用某人发言时, “最初由 *** 发布” 我怎么加不上呢? 不会是手工敲入的吧?
2008-5-19 14:08
0
雪    币: 107
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
31
那为什么有的节的VirtualSize 又要比SizeOfRawData大呢??有的大,有的小???
2008-5-22 13:27
0
雪    币: 107
活跃值: (12)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
32
tycp
那为什么有的节的VirtualSize 又要比SizeOfRawData大呢??有的大,有的小???

我想是这样的,正常的文件都是VirtualSize <= SizeOfRawData.
当然,你可以把VirtualSize 用PE loader 之类工具强制把它VirtualSize 改大,当然后面的节位置
可能都的移动。 这样做的目的肯定是别有用心的,例如你有XXX企图。
很多加壳的程序VirtualSize  》 SizeOfRawData ,它们是有企图的,所以它们的section 也跟正常的不一样。
2008-5-22 19:34
0
雪    币: 270
活跃值: (117)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
33
HOHO,这下可以仔细学习一下PE格式了,好久没来了
2008-5-22 22:35
0
雪    币: 1137
活跃值: (10)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
34
谢谢拉
   最近也在看PE   
           现在有加深了
2008-5-24 16:04
0
雪    币: 357
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
35
谢谢,写了这么好的东西,希望LZ能继续~
2008-5-26 09:48
0
雪    币: 107
活跃值: (12)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
36
感谢各位的支持。
hello.exe 的PE 是讲完了,但只是涵盖了PE 的头文件,节表,导入表部分。再补充上导出表,
资源表就比较完善了,现在时间比较忙,抽空我会继续补上的。
2008-5-27 08:57
0
雪    币: 234
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
37
通俗易懂,学习!
2008-5-27 23:12
0
雪    币: 4698
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
38
好东东,收藏了,谢谢
2008-5-28 23:10
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
39
呵呵,谢谢了~~~~
2008-5-29 14:39
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
40
正需要教材,感谢了
2008-6-3 12:43
0
雪    币: 100
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
41
很好,支持,顶顶顶~!~
2008-6-4 08:03
0
雪    币: 334
活跃值: (22)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
42
有点像洪恩在线,哈哈支持
2008-6-8 15:54
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
43
还是看不明白
2008-6-8 23:22
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
44
好帖 当然要顶起!
2008-6-9 15:59
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
45
这种方式很新鲜,也容易理解。希望楼主尽早补齐~
2008-6-10 03:22
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
46
仔细的研读了下,对免杀有很大帮助,关于输入表还得继续看一下,只是简单的略看了一下!
2008-6-11 00:26
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
47
对于完全不了解PE格式的新手来说这帖子适合吗?我看起来很费劲
2008-6-12 15:53
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
48
谢谢 努力学习
2008-6-12 22:00
0
雪    币: 214
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
49
讲的比较清楚  呵呵 不错

就是看的有点累
2008-6-13 15:42
0
雪    币: 132
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
50
非常适合初学者的好贴!
2008-6-14 20:26
0
游客
登录 | 注册 方可回帖
返回
//