首页>参考读物>金融学>金融工程习题

黑客免杀攻防
作者 : 任晓珲 著
出版日期 : 2013-09-29
ISBN : 978-7-111-44042-0
定价 : 89.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 462
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

国内首部关于黑客免杀技术的专著,旨在为反病毒工程师剖析各种恶意软件和应对各种安全威胁提供全面指导。不仅从攻击者(黑客)的视角全方位揭示了黑客免杀技术的常用方法、常用技术和思想原理,而且还从防御者(反病毒工程师)的视角深入讲解了遏制免杀技术的具体方法策略。从纯技术的角度讲,本书不仅详细讲解了免杀技术的各种细节和方法,而且还详细讲解了PE文件、逆向工程、C++壳的编写、免杀壳的打造、脱壳技术、Rootkit等安全技术的细节。
全书共20章,分为三大部分:基础篇(1~6章)详细介绍了黑客免杀技术的初级技巧,包括查找(修改)特征码、常见特征码绕过技巧、壳在免杀中的应用、花指令和其他免杀基础知识;高级篇(7~)深入讲解了PE文件、逆向工程、C++壳的编写、免杀壳的打造、脱壳技术、Rootkit等黑客免杀技术常用的安全技术的原理和细节,以及黑客免杀技术是如何应用它们的,为反病毒工程师应对各种恶意软件提供了原理性指导;扩展篇(17~20章)为遏制黑客免杀技术提供了思路和具体的方案。

图书特色

前勒口
作者简介
任晓珲?资深安全技术工程师,华章“信息安全技术丛书”专家顾问,致力于免杀技术和反病毒技术的实践。对软件安全、逆向工程、Rootkit、加壳与脱壳等技术有较深入的研究和理解,积累了丰富的经验。北京蓝森科技有限公司创始人,黑客反病毒论坛(www.hackav.com)创始人,邪恶八进制团队成员,资深培训讲师,国内知名信息安全培训品牌15PB的创始人。目前专注于计算机安全的中高端培训。
封面
全方位揭示黑客免杀技术的常用方法、技术细节和思想原理,为反病毒工程师剖析恶意软件和遏制免杀技术提供具体方法和应对策略
从攻与防的双重角度详细讲解PE文件知识、逆向工程、C++壳的编写、免杀壳的打造、脱壳、Rootkit等安全技术的细节,为反病毒工程师提供技术指导
封底
在计算机网络的世界里,黑帽黑客和反病毒工程师之间的斗争从来没有停止过。随着互联网和移动互联网的不断发展和普及,他们之间的斗争愈发激烈。一方面,因为网络无处不在,人们受到黑帽黑客攻击的可能性越来越大;另一方面,人们对网络安全性的意识越来越强,要求也越来越高。对于黑帽黑客而言,免杀技术是他们得以立足的根本;对于反病毒工程师而言,免杀技术则是他们查杀病毒的必备武器,正所谓,要战胜敌人,必须先了解敌人。本书从攻与防的双重角度,全面、详细、深入地探讨了黑客免杀的各种方法、所涉及的各种技术和手段,并针对常见的免杀技术提出了应对方案,旨在为反病毒工程师提供技术和方法论上的双重指导。
本书包含的主要内容
免杀技术的原理,以及与Rootkit和加密解密技术的区别;
反病毒技术原理、免杀与特征码、工具脱壳技巧、花指令与免杀、壳在免杀中的应用,以及免杀各种常用的手段;
PE文件的基础知识,以及PE文件知识在免杀中的应用;
软件逆向工程的基础知识,以及源码级免杀技术;
C++壳的编写,以及免杀壳的打造方法;
Rootkit的基础知识,以及Rootkit在免杀中的应用;
突破主动防御的方法、部分免杀技巧的遏制方法、反特征码的定位、遏制免杀与AntiRootkit;
免杀技术的发展趋势,以及未来反病毒产品的改进方向。

图书前言

为什么要写这本书
  计算机安全领域最初且规模最大的博弈莫过于病毒与反病毒的博弈,这也是计算机安全领域的硝烟燃起之处。然而,我们当中的有些人可能并不知晓黑客免杀技术现今已经成为反病毒领域中的主要破坏力量,而究其原因,也许是由此技术带来的大规模病毒木马泛滥与黑客免杀技术本身的隐蔽性所导致的。
  但是很幸运,您手中的这本书就是迄今为止第一本详细介绍免杀技术的图书,您和我都应为此而感到庆幸。
  2008年2月,我应邀与《黑客X档案》杂志的主编一起策划了《黑客免杀入门》的编写工作。《黑客免杀入门》就是本书的雏形,那真的是一个很好的开始。当时还在上大一的我为了使这本书能够快速上市,几乎牺牲了所有课余时间。在经过半年的艰苦写作之后,《黑客免杀入门》终于在2008年10月正式上市,并在半年内创下了5000册销量的佳绩。
  但是由于种种原因,使得我对自己的第一本书并不满意,因为要考虑到初学者的接受力与知识储备,因此并未将黑客免杀技术的真正意义体现在那本书里,再加之免杀技术在第一本书发行后的几年里发生了很大变化,因此使我有了编写第二本书的动力。
如何阅读本书
  本书详细描述了Windows系统下黑客免杀的所有技术细节,讲解了为什么病毒、木马在经过免杀处理后就会被反病毒软件误认为是正常的程序。除此之外,本书还详细讲述了黑客与反病毒工程师都应该掌握的基础知识,包括PE文件结构、软件逆向工程、壳的原理及编写思路、Rootkit等等。在最后,笔者总结了一些遏制免杀技术的方法以及应对策略,相信对于很多反病毒工程师来讲都会有所启发。
  本书共分为基础篇、高级篇与扩展篇三大部分,分别面向的是零基础读者、高级读者与反病毒工程师,要完全掌握这三部分,所需的基础知识如下:
  基础篇 其中所有内容几乎都未过深涉及任何计算机语言,因此只要能熟练操作Windows系统,并对硬件有基本的常识性认识,即可顺利阅读这部分内容,除此之外不再需要读者有任何基础。
  高级篇 要求读者对于C/C++、汇编语言有基本的了解,并且要有一定的Windows程序开发经验,除此之外也需要读者对操作系统的结构有所了解。
  扩展篇 要求读者熟悉黑客免杀的技术细节,并初步掌握PE文件结构、软件逆向工程、壳的原理及编写思路、Rootkit等高端技术。
本书的主要内容
  基础篇 包括第1章~第6章,这部分由第1章“变脸”开篇,以类比的形式将黑客免杀技术的特点向大家娓娓道来,随后通过对免杀基础知识的介绍,可以迅速让初级读者彻底明白何为黑客免杀技术。
  待初级读者理解了何为免杀技术后,随后的几个章节则以比较简单易懂的语言向大家描述与黑客免杀技术密切相关的一些技术,例如特征码、花指令、壳等等。
  高级篇 包括第7章~第16章,这部分所讲的内容都是黑客们得以展开较高层面免杀操作的技术基础,同时也是反病毒工程师与大部分软件安全行业从业者必备的技术基础。
  本篇详细地阐述了Windows下的PE文件结构,并着重讲解了软件逆向工程的技术原理与分析思路。除此之外,第11章还在纯C++语言的角度描述了一个壳的编写,这在国内来说尚属首次。在本篇的最后,还详细介绍了部分Rootkit技术的实现原理与当前黑客免杀技术的最前沿思想。
  扩展篇 包括第17章~第20章,这部分主要针对当下的免杀技巧及黑客常用的免杀手法提出了一些反制措施,分别对反特征码定位、遏制Rootkit展开了讨论,并在最后对时下的反病毒产品简略地给出了一些改进建议。
这正是那酝酿三年的2.0版
  现在您拿在手里的这本书是以《黑客免杀入门》的部分内容为基础,加入大量新鲜内容后重新组织、编排的一个全新版本,这本书真正考虑到了免杀技术的广度与深度,采用了知识层次分离编写的方式,以求照顾到高中低各层次的绝大多数读者。
  深广结合,高低分离
  本书的全部内容分为三个部分,其中每个部分都相对独立、互成体系,分别面对不同层次的读者。对于基础知识的讲解主要集中在前两部分,第一部分只对相关知识进行了解性讲解,其难度以满足阅读第一部分内容所需的知识储备为标准。第二部分对免杀的所有技术细节进行了细致深入的讲解,可看作是第一部分的延伸与拓展。
  分解难点,注重延续
  第一部分的阅读基础大致定位在非专业人士的层次上。因此为了照顾这部分读者的后续学习能力,对每个重点、难点都进行了相应的拆分讲解,并以第二部分的部分内容作为扩展阅读资源,使得初级读者的技术飞跃成为可能。
  增新改旧,重排章节
  本书新增了大量的技术描述,例如PE文件结构、壳的编写技术、Rootkit技术等,同时删除了第一版中关于突破主动防御的章节并重新整理编写。除此之外,对于其他章节也进行了大量的重写与更新,这些更新使得第一版保留下来的内容不超过10%。
本书的读者
  第一篇对应的为初级层次的读者,如果你已经有了一定的基础,且对黑客免杀技术有了一定的了解,可跳过本部分。适合阅读本部分的读者如下:
  黑客技术爱好者
  信息安全专业的学生
  想了解黑客免杀技术的初学者
  第二篇对应的为中级层次的读者,如果你已经对PE文件、软件逆向、壳的编写、Rootkit有了较为深入的了解,可跳过本部分。适合阅读本部分的读者如下:
  软件安全爱好者
  想系统学习PE文件结构的人
  需要快速掌握软件逆向技术的相关工作人员
  想用C++写壳的技术狂人,或仅想写一个壳的爱好者
  对于Rootkit感兴趣的人
  第三篇对应的为高级层次的读者,此部分内容并没有具体的技术细节,着重讲解了相关技术的核心思想,适合具备一定基础的人阅读:
  反病毒工程师
  免杀技术爱好者
勘误和支持
  本书从创意到落实写作,再到最终完成,整整度过了三年的时间,其中有足足两年的时间是用于本书的写作,这是我用人生最精彩的一段时间撰写的一本书,因此也期望这本书能同样精彩。
  但是,事实总是残酷的,由于本人的水平有限,而且感觉两年的时间还是太少了,书中难免还会有一些不足。记得俄罗斯的“斯坦尼斯拉夫斯基”用了一生的时间才写出了《演员的自我修养》这本书,这是没有认真写书经历的人难以体会的。
  我是一个不愿妥协的人,在撰写本书之初就是如此,但是很不幸的是我还是一次次地被残酷的事实打败。在我与之对抗了两年之后,才感觉这本书可以拿出来见人了,我承认它离完美还有相当长的一段距离。
  这本40余万字的图书是我目前为止做过的最大的一个“工程”,我承诺会在精力允许的前提下,在本书出版之前不放弃任何一次修正本书错误的机会,但是我知道它最终还是会带着若干错误与读者们见面,请原谅我无法修复这些错误,这有可能是我的精力问题,也有可能是我的能力问题。但是,我非常期望能收到您的来信,指导我修正本书中的错误,为这本书走向完美“添砖加瓦”。
  为此,我在黑客反病毒论坛中建立了一个专门的分区来处理本书中的所有问题,包括读者反馈、勘误列表与本书的相关资源下载,本书的交流专区:http://book.hackav.com/。本书相关资源还可到华章官网下载,华章的官网:http://www.hzbook.com/。
  除此之外,您还可以通过邮件与我取得联系,我的邮箱:0x0026@gmail.com、a1pass@ 163.com。
特别致谢
  首先请允许我借此机会感谢我的父母在事业上、写作上以及生活上对我的支持与关爱,我因拥有你们的爱而变得更加坚强与勇敢,我的所有荣耀都属于你们。
  其次,尽管只有我的名字被印在了本书的封面上,但是您手中的这本40余万字的书显然不是一个人的工作成果,本书的顺利出版得益于众多朋友的鼎力相助。在此,我要感谢那些在我写作的过程中为我提供过帮助的人。
  钱林松 感谢您将我引荐给杨福川,这使得我有了完成自己写作梦想的机会。
  薛亮亮 我的创业伙伴,没有你的理解与担当就不可能有这本书的面世。
  黄 瀚 为本书提供了大量一手资料,感谢你一直以来对于本书的关注与支持。
  段 刚 段老师预读了本书的部分章节,并对本书的定位提出了很多特别好的建议。
  李常坤 审阅了本书的第11章和第12章,并提出了宝贵建议。
  卢超超 在本书的定位方面及前期的策划时发挥了重要作用,并在初期提出了宝贵建议。
  彭燕青 对第14章和第15章的编写提供了宝贵的技术方面的建议。
  许晓明 审阅了本书的第7章和第9章,并修改了一些技术上的错误。
  吴 彬 在写作初期向我详细阐述了反病毒工程师的各个工作流程。
  全珠荣 为本书提出了不错的建议,感谢你在写作上对我的帮助。
  杨福川 首席策划,感谢您在整本书的写作期间所做的大量协调工作。
  孙海亮 我的编辑,感谢您对本书的审校工作,您的敏锐思维能力让我很欣赏。
  杨绣国 我的编辑,十分细心地审阅了本书的大部分章节,感谢您对此做出的工作。
  白 宇 我的编辑,帮我熟悉了整套图书出版的流程,感谢您的帮助。
  最后,感谢北京蓝森科技有限公司的所有同事,这本书的顺利出版离不开你们的理解与支持,是你们在我写作的过程中为我承担了大部分的工作。另外,感谢黑客反病毒组织(www.hackav.com)中对本书提出过宝贵意见的所有网友,是你们的投票保证了本书内容安排的合理性。

任晓珲
于北京

上架指导

计算机\安全

封底文字

在计算机网络的世界里,黑帽黑客和反病毒工程师之间的斗争从来没有停止过。随着互联网和移动互联网的不断发展和普及,他们之间的斗争愈发激烈。一方面,因为网络无处不在,人们受到黑帽黑客攻击的可能性越来越大;另一方面,人们对网络安全性的意识越来越强,要求也越来越高。对于黑帽黑客而言,免杀技术是他们得以立足的根本;对于反病毒工程师而言,免杀技术则是他们查杀病毒的必备武器,正所谓,要战胜敌人,必须先了解敌人。本书从攻与防的双重角度,全面、详细、深入地探讨了黑客免杀的各种方法、所涉及的各种技术和手段,并针对常见的免杀技术提出了应对方案,旨在为反病毒工程师提供技术和方法论上的双重指导。
本书包含的主要内容:
(1)免杀技术的原理,以及与Rootkit和加密解密技术的区别;
(2)反病毒技术原理、免杀与特征码、工具脱壳技巧、花指令与免杀、壳在免杀中的应用,以及免杀各种常用的手段;
(3)PE文件的基础知识,以及PE文件知识在免杀中的应用;
(4)软件逆向工程的基础知识,以及源码级免杀技术;
(5)C++壳的编写,以及免杀壳的打造方法;
(6)Rootkit的基础知识,以及Rootkit在免杀中的应用;
(7)突破主动防御的方法、部分免杀技巧的遏制方法、反特征码的定位、遏制免杀与AntiRootkit;
(8)免杀技术的发展趋势,以及未来反病毒产品的改进方向;
……

作者简介

任晓珲 著:暂无简介

图书目录

前言
基础篇 初级免杀技术
第1章 变脸 2
1.1 为何变脸 2
1.2 何为变脸 3
1.3 免杀的发展史 3
1.4 免杀技术的简单原理 4
1.5 免杀与其他技术的区别 5
1.5.1 免杀不是Rootkit技术 5
1.5.2 免杀不是加密解密技术 5
1.6 小结 6
第2章 免杀基础知识 7
2.1 如何开始免杀 7
2.2 反病毒软件原理与反病毒技术介绍 8
2.2.1 反病毒软件的工作原理 8
2.2.2 基于文件扫描的反病毒技术 9
2.2.3 基于内存扫描的反病毒技术 12
2.2.4 基于行为监控的反病毒技术 12
2.2.5 基于新兴技术的反病毒技术 12
2.2.6 反病毒技术前沿 14
2.2.7 反病毒技术展望 14
2.3 了解PE文件 15
2.3.1 什么是PE文件 15
2.3.2 PE文件的结构 16
2.4 免杀原理 17
2.4.1 文件免杀原理 17
2.4.2 内存免杀原理 20
2.4.3 行为免杀原理 21
2.5 工具脱壳技巧 21
2.5.1 壳的分类 22
2.5.2 免杀与脱壳是什么关系 23
2.5.3 使用专用脱壳工具脱壳 24
2.5.4 使用通用脱壳工具脱壳 25
2.6 小结 26
第3章 免杀与特征码 27
3.1 特征码免杀技术 27
3.1.1 理想状态下的免杀 27
3.1.2 由脚本木马免杀理解特征码 28
3.2 特征码定位原理 29
3.2.1 特征码逐块填充定位原理 29
3.2.2 特征码逐块暴露定位原理 31
3.2.3 特征码混合定位原理 34
3.3 脚本木马定位特征码 35
3.4 MyCCL查找文件特征码 39
3.4.1 MyCCL的典型应用 39
3.4.2 针对MyCCL的一点思考 41
3.5 MyCCL查找内存特征码 43
3.6 特征码修改方法 44
3.6.1 简单的特征码修改 44
3.6.2 特征码修改进阶 45
3.7 小结 50
第4章 其他免杀技术 51
4.1 修改入口点免杀 51
4.2 使用VMProtect加密 54
4.3 Overlay附加数据的处理及应用 54
4.4 驱动程序免杀修改技巧 55
4.4.1 驱动程序的常见免杀方法 55
4.4.2 驱动程序的手工免杀思路 56
4.5 补丁在免杀中的应用 57
4.6 PE文件进阶介绍 59
4.6.1 PE文件格式 60
4.6.2 虚拟内存的简单介绍 62
4.6.3 PE文件的内存映射 63
4.7 网页木马的免杀 66
4.7.1 脚本木马免杀 66
4.7.2 网页挂马的免杀 77
4.8 小结 78
第5章 花指令与免杀 80
5.1 什么是花指令 80
5.2 脚本木马的花指令应用 81
5.3 花指令的根基—汇编语言 83
5.3.1 认识汇编 83
5.3.2 通过反汇编添加任意功能 85
5.4 花指令入门 88
5.5 花指令在免杀领域的应用 91
5.5.1 花指令的应用技巧 91
5.5.2 花指令的修改技巧简介 91
5.5.3 空白区域寻找与加空白区段 92
5.6 花指令的高级应用 94
5.6.1 花指令的提取与快速应用 94
5.6.2 SEH异常的应用 96
5.7 小结 97
第6章 壳在免杀中的应用 98
6.1 壳的基础知识 98
6.2 壳在免杀领域的应用 99
6.2.1 加壳的免杀原理 100
6.2.2 FreeRes多重加壳 100
6.3 壳的修改技巧 101
6.3.1 壳的初级修改 101
6.3.2 制作通用补丁 102
6.4 小结 107
高级篇 免杀技术进阶
第7章 PE文件格式详解 110
7.1 MS-DOS头 111
7.1.1 重要字段 112
7.1.2 其他字段 112
7.2 PE文件头 113
7.2.1 Signature字段 113
7.2.2 IMAGE_FILE_HEADER结构 113
7.2.3 IMAGE_OPTIONAL_HEADER结构(x86/x64) 115
7.2.4 数据目录表 118
7.3 区段表 119
7.3.1 IMAGE_SECTION_HEADER结构 119
7.3.2 区段名功能约定 121
7.3.3 区段对齐详解 122
7.3.4 地址转换 123
7.4 导出表 123
7.4.1 IMAGE_EXPORT_DIRECTORY结构 123
7.4.2 识别导出表 124
7.5 导入表 127
7.5.1 IMAGE_IMPORT_DESCRIPTOR结构 128
7.5.2 识别导入表 130
7.6 资源 132
7.6.1 资源结构 132
7.6.2 识别资源 135
7.7 异常 137
7.8 安全 139
7.8.1 安全目录结构 139
7.8.2 识别安全结构 140
7.9 基址重定位 141
7.9.1 基址重定位表结构 141
7.9.2 识别基址重定位表 143
7.10 调试 146
7.11 特殊结构数据(版权) 147
7.12 全局指针 147
7.13 TLS 148
7.13.1 TLS的回调函数 149
7.13.2 TLS的结构(x86/x64) 151
7.13.3 识别TLS 152
7.14 载入配置(x86/x64) 153
7.15 绑定导入表 155
7.15.1 绑定导入表结构 155
7.15.2 识别绑定导入表 156
7.16 导入地址表 157
7.17 延迟加载表 157
7.17.1 延迟加载表结构 158
7.17.2 识别延迟加载表 159
7.18 COM描述符 159
7.19 小结 159
第8章 PE文件知识在免杀中的应用 161
8.1 PE文件与免杀思路 161
8.1.1 移动PE文件头位置免杀 161
8.1.2 导入表移动免杀 163
8.1.3 导出表移动免杀 165
8.2 PE文件与反启发式扫描 165
8.2.1 最后一个区段为代码段 165
8.2.2 可疑的区段头部属性 166
8.2.3 可疑的PE选项头的有效尺寸值 166
8.2.4 可疑的代码节名称 166
8.2.5 多个PE头部 166
8.2.6 导入表项存在可疑导入 167
8.3 一个稍显复杂的例子—隐藏导入表 167
8.3.1 操作原理与先决条件 167
8.3.2 修改PE文件 168
8.3.3 构造我们的反汇编代码 168
8.4 小结 169
第9章 软件逆向工程 170
9.1 准备工作 170
9.1.1 要准备的工具及基础知识 171
9.1.2 程序是从哪里开始运行的 171
9.2 一个简单的小例子 177
9.3 函数识别初探 179
9.4 if-else分支 185
9.4.1 以常量为判断条件的简单if-else分支 185
9.4.2 以变量为判断条件的简单if-else分支 186
9.4.3 以常量为判断条件的复杂if-else分支 188
9.4.4 以变量为判断条件的复杂if-else分支 189
9.4.5 识别三目运算符 190
9.5 循环分支 194
9.5.1 do-while循环 194
9.5.2 while循环 196
9.5.3 for循环 199
9.5.4 循环体的语句外提优化 202
9.6 switch-case分支 203
9.6.1 简单switch-case分支识别技巧 203
9.6.2 复杂分支的switch-case识别 208
9.6.3 switch-case分支结构与稀疏矩阵 210
9.6.4 switch-case分支结构与平衡二叉树 215
9.7 加法与减法的识别与优化原理 220
9.7.1 加法的识别与优化 221
9.7.2 减法的识别与优化 223
9.8 乘法与除法的识别与优化原理 224
9.8.1 乘法的位移优化 224
9.8.2 乘法的lea指令优化 225
9.8.3 除法与倒数相乘 228
9.8.4 倒数相乘与定点运算的配合 229
9.8.5 除法运算的识别与优化 230
9.8.6 取模运算的识别与优化 236
9.9 指针与数组 238
9.9.1 指针与数组的渊源 238
9.9.2 数组的不同表达方式 242
9.10 数组、结构体与对象 243
9.10.1 数组与结构体 243
9.10.2 结构体与类 245
9.11 变量作用域的识别 245
9.12 识别构造与析构函数 247
9.12.1 快速识别出类 248
9.12.2 识别构造函数 252
9.12.3 识别析构函数 253
9.13 虚函数与纯虚函数的识别 254
9.13.1 识别简单的虚函数 254
9.13.2 识别较复杂的虚函数 260
9.14  正确识别类的继承关系 275
9.15 最后一役 290
9.15.1 MFC逆向初探 291
9.15.2 分析BypassUAC.exe 292
9.16 小结 301
第10章 源码级免杀 302
10.1 怎样定位产生特征的源代码 302
10.1.1 定位文件特征 302
10.1.2 定位行为特征 304
10.2 基于源码的特征修改 304
10.2.1 变换编译器与编译选项 304
10.2.2 添加垃圾代码 305
10.2.3 语法变换 306
10.2.4 添加汇编花指令 306
10.3 小结 307
第11章 详解C++壳的编写 308
11.1 了解壳的运行流程 308
11.2 设计一个纯C++编写的壳 309
11.2.1 用C++编写的壳应该是什么样的 310
11.2.2 编写过程中会遇到的问题 310
11.3 用C++写一个简单的壳 311
11.3.1 配置工程 312
11.3.2 编写Stub部分 314
11.3.3 编写加壳部分 318
11.3.4 编写界面部分 325
11.4 设计一个由C++编写的专业壳 326
11.4.1 为问题找到答案 326
11.4.2 设计专业壳的框架 329
11.4.3 如何设计Stub部分 330
11.4.4 如何设计加壳部分 331
11.4.5 需要注意的细节问题 334
11.5 怎样调试由C++编写的Stub部分 334
11.6 小结 335
第12章 黑客是怎样打造免杀壳的 336
12.1 免杀壳与加密壳的异同 336
12.2 导入表加密 337
12.3 代码混淆与代码乱序 337
12.4 附加驱动 338
12.5 小结 339
第13章 脱壳技术 340
13.1 寻找OEP 340
13.1.1 利用内存断点 340
13.1.2 利用堆栈平衡 342
13.1.3 利用编译语言特点 343
13.1.4 利用跨区段跳转 345
13.2 转储内存映像 346
13.3 重建导入表 346
13.3.1 导入表重建原理 347
13.3.2 使用ImportREC重建导入表 347
13.4 小结 348
第14章 Rootkit基础 349
14.1 构建一个Rootkit基础环境 349
14.1.1 构建开发环境 349
14.1.2 构建基于Visual Studio 2012的调试环境 350
14.1.3 构建基于WinDbg的调试环境 354
14.1.4 将Rootkit加载到系统 356
14.1.5 创建一个简单的驱动并调试 357
14.2 何为Ring0层 360
14.3 关键表 361
14.4 内存分页 362
14.4.1 地址转译 363
14.4.2 内存访问检查 367
14.4.3 Windows对重要表的保护 368
14.5 内存描述符表 369
14.6 中断描述符表(IDT) 369
14.7 系统服务调度表 371
14.8 控制寄存器 371
14.8.1 利用CR0禁用内存保护机制 371
14.8.2 其他控制寄存器 372
14.9 小结 372
第15章 Rootkit在免杀中的应用 373
15.1 用户模式Rootkit 373
15.1.1 DLL远程注入技巧 373
15.1.2 内联钩子 375
15.1.3 导入地址表钩子 375
15.1.4 一个保护文件不被删除的例子 376
15.2 内核编程基础 377
15.2.1 内核编程环境与用户层编程环境的异同 377
15.2.2 如何选择Windows驱动开发模型 378
15.2.3 驱动设备与请求处理 378
15.2.4 内核编程中的数据类型 386
15.2.5 函数调用 387
15.2.6 Windows内核编程的特点 389
15.3 内核模式Rootkit 390
15.3.1 SYSENTER钩子 390
15.3.2 SSDT钩子 394
15.3.3 内联钩子 399
15.3.4 IRP钩子 401
15.3.5 LADDR钩子 406
15.3.6 IDT钩子 411
15.3.7 IOAPIC钩子 413
15.4 小结 417
第16章 免杀技术前沿 418
16.1 免杀技术的发展趋势 418
16.2 免杀前沿之突破主动防御 419
16.2.1 “移花接木”之屏幕截图突破主动防御 419
16.2.2 “暗渡陈仓”之利用可信进程突破主动防御 419
16.2.3 “釜底抽薪”之利用系统进程突破主动防御 420
16.2.4 “顺手牵羊”之利用逻辑漏洞突破主动防御 420
16.2.5 “浑水摸鱼”之利用变形复制突破主动防御 420
16.2.6 “金蝉脱壳”之利用异同逃逸虚拟机 420
16.2.7 “借尸还魂”之利用替换文件突破主动防御 421
16.2.8 “借刀杀人”之利用调试接口突破主动防御 421
16.3 黑客免杀技术的展望 421
16.4 小结 422
扩展篇 遏制免杀技术初探
第17章 浅谈部分免杀技巧的遏制 424
17.1 盯紧PE文件 424
17.2 盯紧程序行为 425
17.3 小结 425
第18章 反特征码定位 426
18.1 释放干扰码 426
18.2 定位行为的判定 426
18.3 设定“靶特征码” 427
18.4 小结 427
第19章 遏制免杀与Anti Rootkit 428
19.1 适当的监控 428
19.2 基本检测逻辑 428
19.3 Rootkit检测方法初探 429
19.4 小结 430
第20章 浅谈反病毒产品的改进 431
20.1 云查杀与本地查杀紧密结合 431
20.2 注重感染型病毒木马的清除工作 431
20.3 精进启发式扫描解决效率问题 432
20.4 小结 432
附录A 80x86汇编基础知识 433

教学资源推荐
作者: (加)约翰·赫尔(John C.Hull) 著
参考读物推荐
作者: [美]威廉·斯托林斯 (William Stallings) 著