能力值:
( LV4,RANK:50 )
|
-
-
26 楼
很不错,正在学习!
|
能力值:
( LV2,RANK:10 )
|
-
-
27 楼
感谢楼主分享
|
能力值:
( LV2,RANK:10 )
|
-
-
28 楼
很基础也很实在,适合新手。多谢lz分享学习经验。
|
能力值:
( LV2,RANK:10 )
|
-
-
29 楼
顶一个!!!
楼主的讲解很好,深入浅出,代码也简单易懂,很适合像我这样的菜鸟。
|
能力值:
( LV2,RANK:10 )
|
-
-
30 楼
楼主!在罗云彬的《Windows环境下32位汇编语言程序设计》一书中,有对PE的详细介绍!其中的例子就是你这个程序的Windows程序。
|
能力值:
( LV4,RANK:50 )
|
-
-
31 楼
锁匠,说实话,罗云彬那个讲PE那一章看得我好晕,后来干脆不看他的,在论坛里看帖子,在百度搜索,再回过头看,就理解了,我写这个主要是给我像我这样的菜鸟一个思路上的参考。
|
能力值:
( LV4,RANK:50 )
|
-
-
32 楼
锁匠,说实话,罗云彬那个讲PE那一章看得我好晕,后来干脆不看他的,在论坛里看帖子,在百度搜索,再回过头看,就理解了,我写这个主要是给我像我这样的菜鸟一个思路上的参考。
|
能力值:
( LV2,RANK:10 )
|
-
-
33 楼
不错呀!学习下!
|
能力值:
( LV3,RANK:20 )
|
-
-
34 楼
记得在看雪以前的帖子里对PE的解释很好的,下面引用一段原帖的话:
“
Windows和现代操作系统类似,使用可重定位的文件格式,使程序在运行时可以动态加载共享函数库。Linux里的共享函数库是以.so文件的形式出现的,在Windows里是DLL。和ELF文件格式的.so类似,DLL是PE-COFF文件格式(也称为PE-portable executable)中的一种。PE-COFF来自Unix COFF格式,是一种可移植的文件格式,可以加载到所有的32位Windows平台上。 PE文件在文件开始部分包括导入表和输出表,导入表指示PE文件需要用到哪些(DLL)文件,以及这些文件中的哪些函数。输出表则指示此DLL可以提供哪些函数,也指明这些函数在DLL文件中的地址。DLL载入内存后,程序可以根据这些地址找到需要的函数。导入表列出PE文件要用到的、但在DLL里的函数,也会列出这些函数所在的DLL的文件名。
学习PE-COFF,首先要理解Relative Virtual Address(RVA)。RVA用于减少PE加载器的工作量,通过使用RVA,函数可以被重定位在虚拟地址空间的任何地方;如果不使用RVA,PE加载器需要确认每个可重定位的条目,从而浪费大量的系统资源。在学习Win32的过程中,你可能注意到Microsoft喜欢使用简称(RVA,AV[Access Violation,访问违例],AD[Active Directory,活动目录]),而不是像Unix那样使用术语的省略形式(tmp,etc,vi,segfault)。令人头痛的是,Microsoft每次发布新文档时,总会引入成百上千个术语和相关的简称。
RVA只是“各个DLL载入内存空间时,系统会为其分配一个基址,根据基址加上RVA的结果就可以找到需要的数据(函数)”的一种描述。以msvcrt.dll的malloc()函数为例,msvcrt.dll的文件头中包括了msvcrt.dll可以提供哪些函数的输出表,这个输出表中包含函数“malloc”和它的RVA(例如,2000);系统把msvcrt.dll载入内存时,会为其指定基址,这里假定是0x80000000,这样一来,你就可以通过0x80002000(基址加上RVA)找到malloc函数。在默认情况下,Windows NT加载.exe的基址是0x40000000,当然,这根据语言包或编译器的选项不同会有所改变,但一般都是0x40000000。”
|
能力值:
( LV2,RANK:10 )
|
-
-
35 楼
谢谢楼主分享、学习中……
|
能力值:
( LV2,RANK:10 )
|
-
-
36 楼
非常感谢楼主分享,致敬!
|
能力值:
( LV2,RANK:10 )
|
-
-
37 楼
感谢楼主分享!
|
能力值:
( LV2,RANK:10 )
|
-
-
38 楼
mark 一下学习
|
能力值:
( LV2,RANK:10 )
|
-
-
39 楼
我也想学习下。总是给自己找各种借口。弄到现在一事无成。
楼主我要向你学习。
|
能力值:
( LV2,RANK:10 )
|
-
-
40 楼
谢谢你的分享
|
能力值:
( LV2,RANK:10 )
|
-
-
41 楼
楼主代码有错误啊
编译通不过啊
|
能力值:
( LV2,RANK:10 )
|
-
-
42 楼
想你了谢谢学习
|
能力值:
( LV2,RANK:10 )
|
-
-
43 楼
好东西哇 顶了
|
能力值:
( LV2,RANK:10 )
|
-
-
44 楼
正在学习pe结构,看了楼主的代码,感觉恍然大悟,谢谢楼主分享
|
能力值:
( LV2,RANK:10 )
|
-
-
45 楼
向楼主学习,偶还是太懒了
|
能力值:
( LV5,RANK:60 )
|
-
-
46 楼
坐下来好好看看
|
能力值:
( LV2,RANK:10 )
|
-
-
47 楼
下来看看,楼主好人!
|
能力值:
( LV2,RANK:10 )
|
-
-
48 楼
这也混个精???早知道就把以前写的那几代码发出来了
|
能力值:
( LV2,RANK:10 )
|
-
-
49 楼
蒽 不错
|
能力值:
( LV2,RANK:10 )
|
-
-
50 楼
万分的感谢楼主
|
|
|