Windows PE权威指南
2011-10
机械工业出版社华章公司
戚利
无
1988年11月,微软开始着手Windows NT的开发工作。当时微软聘请了一组来自DEC公司且由Dave Cutler领导的开发人员。正因为如此,NT操作系统的许多设计元素均借鉴了DEC在VMS和RSX-11上的前期经验,其中就包括目前Windows操作系统家族系列一直使用的核心文件格式PE/COFF。 1993年7月27日,Windows NT产品线的第一代产品NT 3.1问世。该系统初次使用了PE格式作为操作系统的可执行文件格式。同年,微软将该格式提交给工具接口标准委员会(Tool Interface Standard,TIS)并被获准。 随后,微软在不同版本的Windows操作系统中一直使用这种格式组织其核心可执行文件。其间曾发布了多个PE/COFF版本,目前最新版本是2010年9月21日发布的8.2版。 微软采用术语“Portable Executable”来定义这个可执行文件格式,初衷是希望能开发一个在所有Windows平台上和所有CPU上都可执行的通用文件格式。从目前的使用状况来看,这个目标已经基本实现。该格式跨越了Windows操作系统的多个版本,从最初的NT和9x系列,到Windows XP/2000/Vista、Windows CE和目前流行的Windows 7。作为一个被实践验证了的成熟而又稳定的核心文件格式,只要微软不放弃目前操作系统的内核,该格式势必会和操作系统长期共存。 Windows操作系统在市场上的巨大成功与PE文件格式的相对开放引起了广大计算机编程人员的兴趣。通过对PE格式的理解,程序员不仅可以了解操作系统加载可执行文件的过程,还可以学习到操作系统对进程和内存进行管理的相关知识。同时,通过一些技术手段,对PE文件实施变形或打补丁,还可以实现各种不同的应用,如汉化、加密解密、计算机安全、PE病毒等。 本书旨在对PE文件格式进行全面而深入的介绍,通过图示、分析和实例等帮助读者全面了解和掌握PE文件格式,最终达到能通过编程工具灵活地对PE文件进行编程,解决各种与PE文件格式有关的问题的目的。 本书适合的读者 本书适合想详细了解Windows PE文件结构的人、想深入理解Windows系统进程管理及运作机制的人,以及计算机安全领域的初学者和对程序字节码感兴趣的人。具体包括: 初级水平的计算机安全爱好者 对逆向工程、汉化、加密解密、病毒、黑客技术感兴趣的读者 想提高MASM32编程技术的开发人员 开设计算机安全课程院校的学生和老师 本书内容特色 Windows操作系统是迄今为止最优秀的操作系统之一,而PE则是Windows操作系统中的核心文件格式。本书以独特的视角(字节码),展开了对Windows PE文件格式的研究,并在充分理解PE文件格式的基础上,使用4种不同的方法对PE文件进行补丁,以实现各种不同的应用。 在基础理论方面,本书涉及诸多与Windows操作系统内部机制相关的知识,如Windows进程和线程管理、用户模式和内核模式下的Windows SEH异常处理、Windows内存管理与进程虚拟地址空间管理等。 在程序设计方面,本书涉及程序栈、重定位、线程本地存储、代码覆盖、动态加载、延迟导入、静态补丁等技术,并详细讲解了典型实例程序的编写思路及编码实现,这些实例包括:万能补丁码、EXE捆绑器、自动化安装工具、EXE加密、EXE加锁器、PE病毒提示器、网络文件下载器、PE在线自动升级程序、PE反病毒等。 全书共分三大部分:第一部分为PE的原理和基础,全面介绍了PE文件格式的基础技术;第二部分为PE进阶,主要讲解了PE文件变形和静态补丁技术;第三部分为PE的应用案例,主要讲解了如何通过对PE文件实施补丁程序来实现几种典型的应用。以下是各章节的大致内容: 第1章介绍了学习本书所需要的软件开发环境,以及相关辅助软件的使用方法,并开发了第一个基于MASM32的汇编程序,通过字节码阅读器初步认识本书中的主人公PE文件。在本章中,大家将学习到汇编程序从编写到编译、链接、执行的整个过程,了解并掌握汇编程序的调试方法,能对PE文件有一个初步的了解。 第2章介绍了3个常用的PE小工具的编写方法,它们分别是PEDump、PEInfo和PEComp,即PE十六进制字节查看器、PE结构分析器、PE文件比较器。 第3 ~10章是基础理论部分的重点,主要讲述了PE的结构。其中第3章主要讲述了PE的文件头部分;第4~10章根据数据目录中数据的分类对各类别数据进行了从理论到实践的详细阐述,这些数据主要包括:导入表、导出表、资源表、重定位表、加载配置信息、线程局部存储(TLS)信息、延迟导入信息、绑定导入信息、IAT等。
内容全面,详尽地剖析了Windows
PE文件格式的原理及其编程技术,涉及安全领域的各个方面和Windows系统的进程管理和底层机制;实战性强,以案例驱动的方式讲解了Windows
PE文件格式在加密与解密、软件汉化、逆向工程、反病毒等安全领域的应用,不仅每个知识点都配有小案例,而且还有多个完整的商业案例。
戚利编著的《Windows
PE权威指南》共分为三大部分:第一部分简单介绍了学习本书需要搭建的工作环境和必须具备的工具,深入分析了PE文件头、导入表、导出表、重定位表、资源表、延迟导入表、线程局部存储、加载配置信息等核心技术的概念、原理及其编程方法,有针对性地讲解了程序设计中的重定位、程序堆栈、动态加载等;第二部分讨论了PE头部的变形技术及静态附加补丁的技术,其中静态附加补丁技术重点讲解了如何在空闲空间、间隙、新节、最后一节四种情况下打补丁和进行编码的方法;第三部分精心编写了多个大型而完整的PE应用案例,以PE补丁作为重要手段,通过对目标PE文件实施不同的补丁内容来实现不同的应用,详细展示了EXE捆绑器、软件安装自动化、EXE加锁器、EXE加密、PE病毒提示器以及PE解毒的实现过程和方法。
《Windows
PE权威指南》不仅适合想深入理解Windows系统进程管理和运作机制的读者,而且还适合从事加密与解密、软件汉化、逆向工程、反病毒工作的安全工作者。此外,它还适合想全面了解Windows
PE文件结构和对程序字节码感兴趣的读者。
戚利,资深安全技术专家和软件开发工程师,对Windows PE、Windows内核、计算机网络安全、协议分析和病毒技术有较为深入的研究,实践经验丰富。擅长汇编语言和Java技术,曾自主开发了一个RMI框架。活跃于国内著名的安全论坛看雪学院,乐于与大家分享自己的心得和体会,且有较高的知名度。此外,教学(副教授)经验也十分丰富,对读者的学习习惯和认知方式有一定的认识,这一点在本书的写作方式上得到了体现。
前言
第一部分 PE的原理和基础
第二部分 PE进阶
第三部分 PE的应用案例
后记
版权页:插图:
本书内容针对性很强,学术研究和实践操作并重,不但适合计算机安全领域的初学者,对大专院校相关专业的学生也有很好的指导作用。本书表述方式生动准确,理论与实践并重,通过本书,读者既能很好地了解PE格式,又能在实际工作和研究过程中运用这些知识。因此,在本书付梓之际,感谢作者的辛勤付出,希望读者能够通过本书获得更多的收益! ——段钢看雪软件安全网站(WWW.pediy.com)创始人内容全面,全书围绕PE文件格式展开,不仅讲解了PE文件格式的原理和与之相关的编程技术和技巧,还以实例的方式讲解了PE文件格式在加密与解密、软件汉化、逆向工程、反病毒等安全领域的应用。注重实践。理论与案例相结合,不仅在各个知识点都辅有用以阐述理论的案例,而且还专门围绕PE的应用编写了多个具有商业价值的实用案例,这些案例相对完整且具有可扩展性和启发性。强烈推荐! ——黑客反病毒组织(WWW.hackav.com)对于计算机领域的安全工作者而言,无论你是从事加密与解密、软件汉化相关的工作,还是从事逆向工程、反病毒相关的工作,都十分有必要系统而全面地掌握PE文件格式的原理和编程技术。本书内容全面,从原理到应用,涵盖了PE文件格式的方方面面;实战性强,不仅为每个知识点配备了便于读者理解的小案例,还提供了几个大型的商业案例:结构清晰,语言通俗易懂,可读性较强。十分难得! ——51CT0(WWW.51cto.com)
《Windows PE权威指南》内容全面,详尽地剖析了Windows PE文件格式的原理及其编程技术,实践性强,以案例驱动的方式讲解了Windows PE文件格式在加密与解密、软件汉化、逆向工程、反病毒等安全领域的应用。如果你是一位Windows内核研究者或系统级开发工程师,那么通过PE文件格式来理解windows的系统进程管理和运作机制会是一种很好的途径。如果你是一位商业软件开发者,如何防止你的软件被反编译是必须要考虑的问题,最简单的办法就是对PE文件进行加密。如果你是一位从事软件汉化的工程师,你必须对PE文件格式中拟汉化的资源的组织方式了如指掌。如果你是一位反病毒工程师,除了要掌握各种病毒使用的基本技术外,还必须了解感染PE文件的病毒所采用的基本方法,以便能从容应对各种层出不穷的PE病毒。如果你是一位有一定基础的计算机领域的安全工作者,那么系统地学习-JPE文件格式是你的必修课。如果你的工作领域或兴趣与上述任何一个方面相关,《Windows PE权威指南》应该都能给你详尽的指导和帮助。
无
了解pe更能了解windows可执行文件的数据结构和一些机制。。。
PE是windows中最重要和常见的格式,深入理解PE对深入掌握windows技术是大有裨益的
Windows PE权威指南,PE基础
不得不说本书很艰难,但是绝对的好熟,无论是PE的相关环节,还是Windows的东西,这都是对底层内核的一个进阶
网络安全,WINDOWS PE的核心教程,相当不错
了解pe结构,加深对windows系统的理解。
能让人对windows pe有深入的了解,然后就………………
非常详细的讲解了pe文件的格式,内容详尽,易于理解。
书中将PE格式进行了你所能知道的所有资料的详细解析,具体可以细致到每一个字节码的意义。真正称得上是权威的一本PE解析指南。
这本书很厚,讲解的内容既注重原理又注重实践,操作很有深度,按照书中的介绍去一步一步做会有很大的进步,但PE技术很复杂,学的话不是一天半天就能学会的,还是要有耐心
国内第一本写详细写pe文件报表的书,还没看,装订不错
受益匪浅,学到了很多。不光是PE结构还有逆向工程的知识。
即使比较熟悉PE格式的童鞋也可以参考一下
虽然很基础...但是对全面了解PE结构确实有好处...
第一本关于PE结构如此详细的一本书。
对PE很深入的解析,很好很强大。
深入浅出简介PE,不过阅读此书需对汇编,等具有一些了解,
这本书非常不错,是研究PE 的参考....
pe的经典之作!
和第二本书一致没看呢 正在啃windows内原理与实现不过看雪推荐 精品跑不了
学windows内核驱动编程的必经之地
内容翔实,是学习windows逆向工程的一把钥匙
还是配得上称权威指南,精彩实用,受益匪浅
非常好。内容充实,结构清晰。作者将自己的经验和对技术的理解融入其中,付出了巨大的努力。向作者致敬。
俺是安全方面的菜鸟,买来慢慢看
非常详细,讲解很好
很实用 介绍很全面 系统
我是从很多地方的推荐才选到这本书的,感觉书真的很好,虽然我还在学一些汇编基础,还算是这方面的新手,但感觉这本书正是我需要吃透的目标。
很好很强大,看雪的老大,厉害
对于像对win平台底层有所理解的同仁,请一定看看本书
对反汇编帮助很大
刚看了第一章。一本手把手的教程,很适合自学。尽管我已经10多年没有接触过汇编,但是依然看的津津有味。
书很经典,内容翔实,从基础开始一步一步深入。真正值得一看的书。
原来没光盘的,不过只要书中代码够完整也没关系
最近在学内核,结果发现了他,实在不错
作者思路清晰,内容翔实,学习它需要花时间了
最近在学习WindowsPE相关知识,但是很多迷惑的地方 这本书使我豁然开朗。
送货快,质量好,内容正需要
内容还不错,学习中
这本书鼎力推荐
需要有汇编基础
终于有机会和时间读了,准备读第二遍了,很好很强大
专门到书城去看了,来当当买的,速度很快,第二天就到了
内容很细,必须很认真的去看才能看懂!
之前看过电子书,所以知道内容,留在手边,非常有用
书挺厚,翻了一下,内容很丰富,写的很好
外包装还有一层薄塑料,包装很好。内容上还没太仔细看。
书籍内容很不错
书的内容一般。纸更一般
终于来了,就是外壳褶皱了,不过我要的是内容,无所谓了。
书的内容翔实,印刷质量挺高
内容充实,非常期待
很不错,学习中,但是书中没有附带源码光盘,找不到书中所说的chape23\a的源码
学习扩展之用 收藏中.........
很不错实用的一本书
非常棒的一本书,买来收藏,O(∩_∩)O哈哈~
这本书作者讲的很实在,我一个非计算机专业的人看得懂。写的文字很实在,是自己经验写出来。赞一个。
这本书非常好啊。。。。真的很值
很好,很好,不错,很好,很好,不错
好书,讲的很好
这书不错~~~快递也不错
正在看在.............
帮同学买的,据说很好。。。。
好评,好书。
很不错的书,以前很多不明白的地方明白了
还要仔细看看
个人兴趣所在,看着玩学着玩
书不错啊 表示非常喜欢
很好很好,非常好
很深入,很详细,想学习windows PE文件结构的人一定要看
本书的内容不错,讲的比较细致,pe的书不来就不多,想学破解逆向技术的可以看看本书,真的不错
以前自己研究过PE格式,这本书说的更深入。
这书的内容足够详实了。期待有。*** pe格式分析的同类书。
老早就看到这本书的目录了,就是没能看到此书,终于看了,还是不错的,对想学pe的人还是很有帮助的,不过要想深入,就得自己钻研了
好少书讲pe这部分的内容
这本书正好讲了 不错
书很好,内容详细全面,不错的
对c++能深入了解 不错
阅读前要先学习下win32asm。结合罗老师的书学习还不错
目前我比较看到的网站出书,一个是ExcelHome,一个是Pediy,感觉都比较有内容。
我不看也从来不买的,就是明日科技。
很花了一些时间来编写,值得看看
还在慢慢看,基本上还不错
先从图书馆看到的,发现不错结果总是借不到,索性自己买了
老爸还比较满意
dang dang 再一次给我发了一本皱巴巴的书
刚收到货,但是...好像没有源代码???
买来主要是想了解动态库的实现机制的,也希望能对调试程序有帮助
书的内容不错,但令人遗憾或者说美中不足的是,书中需要的一些工具软件(如调试和反汇编软件等)已很难下载到,特别是下载与书中相同版本的工具软件就更比较难了。特别令人不解的是,书中就连这些工具软件到哪里能下载到几乎都只字未提,让人颇感烦恼。
书不错,但当当的客服太TM恶心了!!
没有什么太高深的东西
刚拿到这本书,大概看了下前几章,导入导出表这里,缺乏连贯性,结构混乱,常常读到后面的就忘了前面的,不知所云.本人也购买了看雪的加密解密第三版,感觉还是看雪的讲解虽然简单,但是明了.让人过目不忘.浅显易懂.不过本书第二部分PE进阶好像还可以,感觉有用的也就后面的章节了.
这是我买的最垃圾的一本书。1, 先欣赏一下书中的一段话(109页): 指令要运行,就必须将指令字节码调入到内存中。既然程序中调用了动态链接库的有关函数,那么程序进程地址空间中也一定会有这些函数的指令代码。也就是说,操作系统会在加载时根据导入表的描述符将调用的函数指令字节码复制到进程地址空间中。 作者可能想表达下面的意思: 操作系统的PE加载器在加载DLL时,会把所有DLL的代码映射到了进程的地址空间,然后随时可以调用DLL中的导出函数。 很容易表达清楚的一个概念,作者却描述得让人找不到北,最后一句的描述——“操作系统会在加载时根据导入表的描述符将调用的函数的指令代码复制到进程地址空间中”甚至是错误的, 作者居然不知道,操作系统只是将DLL的映象文件以内存映射文件的形式映射到进程地址空间中,而不是“复制到进程地址空间中”。 映射和复制是完全不一样的操作。2, 这本书几乎没有“函数的入口地址”这类专业术语,而一概以字节码代替。指针被描述成字节码,指针指向的内容也被描述成字节码,...字节码贯穿全书,几乎每读一段就要停下来揣测一下作者想表达的意思。 看得我直想骂人。3, 这本书第三章, 作者将虚拟内存概念和进程地址...空间的概念混为一谈,如下描述: “32位CPU的寻址能力为4GB,但有些用户的物理内存达不到这个值。于是操作系统和CPU的内存管理单元共同作用,为用户提供虚拟内存的管理机制。即分页机制。该机制可以让用户感觉自已好象在使用4GB内存。” 操作系统和CPU提供虚拟内存的目的是为了更好地支持多任务,这个和用户的物理内存达不到4GB有毛关系? 即使用户的物理内存达到4GB,也不可能关掉虚拟内存后而保证不出问题。4, 通常内存图示都是低位内存在下面,高位内存在上面。 而作者却将低位内存放在上面,高位内存放在下面。好不专业。5, 书中有一句话:“用户的PE文件被操作系统加载进内存后,PE对应的进程支配了自已独立的4GB虚拟空间”。这个“支配”是什么概念?我至今没弄明白。 据我所知,进程地址空间中,高位2GB是系统空间,进程是访问不到了。低位0x00000000至0x0000FFFF是空指针区,进程也不许访问。用户进程访问的范围只有0x00010000至0x7FFFFFFF。不知道作者说的这个支配自已独立的4GB虚拟空间是什么意思? 另外我所知,进程对地址的操作有读,写,执行等,不知道还有“支配”这种操作。这里的支配到底是个什么样的操作?总之这本书概念模糊,逻辑混乱,文风不佳。 更要命的是很多内容可能会误导读者,这种书应当就地销毁。 阅读更多 ›
书不错,能把问题讲清楚,能让人理解,对于PE文件这样复杂的结构,能讲到这个程度,很不错了。想深入学习Winodws PE文件的,强烈推荐!!!!!
不错的书,介绍得很详细,通过看这本书可以进一步了解Windows系统
内容好,服务好,是我需要的
书内容好那是不用说的,学逆向那是必须的,但是这本书本身错别字是一大堆,甚至有的数据数字都是错的。所以得细读。
好书,windows下的码农们难得的好熟
书不错,质量也OK!
是我想要的 正版 很喜欢 物流很棒 呵呵 下次还来
深入讲解PE文件结构的书
很好的书,亚马逊购物体验也不错,特别是亚马逊的推荐系统!!