您的位置: 首页 > 业界动态 > 专业书讯 > 黑客反汇编揭秘
Java 2:体系架构、API设计和实现 回到列表 《数码艺术》10月预告
 黑客反汇编揭秘

作者:博文视点 时间: 2004-09-23 文档类型:原创 来自:蓝色理想

黑客反汇编揭秘

作者:[美]Kris Kaspersky
译者:谭明金
定价:59.00
页码:532
开本:短16开
出版时间:2004-09-01

dearbook订书地址
 
  本书分为两大部分。第一部分结合精心挑选的实例,系统地讨论了黑客代码分析技术,包括调试器于反汇编器等典型分析工具的使用、代码分析的基本过程以及相关疑难问题的处理等。第二部分介绍了程序保护所面临的各种挑战及其相关的反调试、反跟踪、防反汇编加密解密技术等内容,这实际上是代码分析方面的高级专题。该书在内容上将针对性、实践性与综合性有机地结合在一起,很好地满足了学习代码分析技术的需要。该书主要是为致力于计算机安全维护而阻止黑客侵袭或者从事安全保护程序开发人员写的。同时,本书对于深入学习程序和操作系统等计算机内核知识,也有很好的参考价值。

 图书目录
  第1部分 精通黑客基本技术
     第1章 概述 2
     1.1 保护方式分类 2
     1.2 保护强度 4
     第2章 第一步:热身 6
     第3章 第二步:熟练使用反汇编器 11
     第4章 第三步:外科手术 17
     第5章 第四步:熟练使用调试器 24
     5.1 方法0:破解原始密码 25
     5.2 方法1:直接在内存中搜索用户输入的密码 37
     5.3 方法2:在密码输入函数上设置断点 46
     5.4 方法3:针对消息设置断点 49
     第6章 第五步:IDA粉墨登场 53
     第7章 第六步:结合调试器使用反汇编器 82
     第8章 第七步:识别高级语言的关键结构 85
     8.1 函数 85
     8.2 启动函数 100
     8.3 虚函数 104
     8.4 构造函数与析构函数 136
     8.5 对象、结构体与数组 147
     8.6 this指针 164
     8.7 new操作符与delete操作符 165
     8.8 库函数 169
     8.9 函数的参数 173
     8.9.1 函数的返回值 255
     8.9.2 局部堆栈变量 309
     8.9.3 寄存器与临时变量 327
     8.9.4 全局变量 338
     8.9.5 常量与偏移量 344
     8.9.6 文本与字符串 357
     8.9.7 IF-THEN-ELSE条件语句 374
     8.9.8 SWITCH-CASE-BREAK语句 415
     8.9.9 循环语句 433
     8.9.10 数学运算符 475
   
     第2部分 提高软件分析难度的技术途径
     第9章 概述 500
     第10章 反调试技术 502
     10.1 调试技术发展简介 502
     10.2 调试器的工作原理 503
     10.3 实模式与保护模式下的异常处理 505
     10.4 黑客如何破除程序的保护机制 505
     10.5 程序的保护 506
     10.6 如何进行反跟踪 506
     10.7 断点的防范 512
     第11章 反汇编防范技术 518
     11.1 最新操作系统的自修改代码 518
     11.2 Windows内存体系结构 519
     11.3 使用WriteProcessMemory函数 520
     11.4 在堆栈中执行代码 522
     11.5 可重定位代码的缺陷 522
     11.6 优化编译器的是与非 524
     11.7 使用自修改代码保护应用程序 525
     11.8 总结 529
     第12章 新保护技术讨论与展望 530
     说明 531

 图书前言
  本书通过展示如何创建与绕过保护环节等方面的内容,向读者开启了一扇通往安全机制这一神秘世界的大门。该书是为喜欢破译难解之谜的人们,以及将业余时间或者上班时间都花在对程序与操作系统进行刨根问底的人们写的,同时,它也是为经常或者偶尔从事保护程序开发的人员,以及想知道如何出色而可靠地阻止无处不在的黑客的人员写的。
     黑客底层分析技术,即用调试器与反汇编器开展工作所需要的技能,是本书介绍的主要内容。书中详细介绍了识别与重建源代码的关键结构——函数(包括虚函数)、局部与全局变量、分支、循环、对象及其层次、数学运算符等方面的内容。
     选取阅读本书时所需要的工具软件,完全由读者个人的喜好决定。每个人的爱好是很不一样的,因此,请不要把我在下面提到的那些东西看成板上钉钉的事,只管将它们当做一些建议好了。使用本书需要的工具软件包括:
      调试器——SoftIce,版本在3.25以上
      反汇编器——IDA,版本为3.7x(推荐使用3.8版本,4.x版本更佳)
      十六进制编辑器——HIEW,任何版本都行
      开发包——SDK与DDK(后者不是必需的,但拥有它的确很好)
      操作系统——任何版本的Windows操作系统都行,但强烈推荐使用Windows 2000或者更高的版本
      编译器——读者最喜欢的任何C/C++或者Pascal编译器(书中虽然对Microsoft Visual C++、Borland C++、Watcom C、GNU C以及Free Pascal等编译器各自具有的特点都进行了详细描述,但用得最多的只是Microsoft Visual C++ 6.0编译器)
     现在,我们来比较详细地介绍一下这些内容:
      SoftIce。SoftIce调试器是黑客们使用的主要武器。虽然有一些免费的调试器(比如Microsoft的WINDEB与刘涛涛的TRW)可供使用,但SoftIce比所有这些免费程序提供的功效加在一起还要有效与方便。几乎所有版本的SoftIce都能满足用户的需要,作者使用的是3.26版本。这是一个经受了时间考验的版本,它具有很好的稳定性,并且在Windows 2000下运行良好。该软件的当前版本4.x与我计算机上的电视卡(Matrox Millennium G450)不能在一起很好地运作,大致说来,随着运行时间的推移,它会出现死机。除此以外,在第四个版本的所有新增功能中,只有“参考点省略”(FPO, Frame Point Omission)这一部分功能(参见“局部堆栈变量”一节)才对通过ESP寄存器直接寻址局部变量的程序员特别有用,这无疑是一个很实用的特性,然而,如果一定要实现类似的操作,没有它同样可以做到。去购买SoftIce调试器吧,读者是不会遗憾的。(破译程序的工作与盗版行为可不是一回事,直到今天,从事这类工作的人们都还算得上是诚实的。)
      IDA Pro。目前世界上功能最强的反汇编器无疑是IDA。没有IDA固然可以生存,但有了它肯定可以生活得更好。IDA为浏览所剖析的内容提供了一个便利的工具,它自动识别库函数和局部变量(包括通过ESP直接寻址的那些变量),并支持众多的处理器与文件格式。一句话,黑客要是不配备它就不能称为黑客了。但是在我看来,为它大做广告其实是不必要的。惟一的问题是,读者如何才能得到这个IDA工具程序。加进该软件程序的盗版是十分罕见的(我看到过的最新版本是 IDA 3.74,不过它显得不够稳定),提供它的Internet网站通常更少。IDA开发人员会迅速阻止任何非授权性质的产品分发企图。获取该软件的惟一可靠途径是从开发人员(http//www.idapro.com)或者正式发行商那里购买。不幸的是,该软件并不提供配套的文档资料(非常简短且不系统的即时帮助信息除外)。
      HIEW。HIEW不仅仅是一个十六进制的编辑器,它还将反汇编器、汇编器与编码器的功能集于一身。HIEW虽然不能取代IDA而使用户不必去购买 IDA,但在某些情况下,它会带给用户很多的回报。(IDA运行起来很慢,因此,假如用户仅仅是想快速地看一眼待用文件的话,则浪费大量的时间确实是件令人头疼的事情。)不过,HIEW的主要用途不在于反汇编,而在于进行一些细小的修剪——针对二进制文件进行一些小小的外科手术。这样做的目的通常是去除部分保护机制,从而使该工具能够正常地运行。
      SDK(软件开发套件——应用程序开发包)。需要从SDK包获得的主要资源是关于Win32 API函数以及用于PE文件的DUMPBIN实用工具等方面的文档资料。没有这些资料,无论是黑客还是开发人员什么都做不了。至少,用户需要通过文档资料来了解主要系统函数的原型和用途。这类信息虽然可以从浩如烟海的编程书籍中收集而来,但是没有哪本书能够宣称它所展示的内容达到了必要的深度和广度,所以说,用户迟早要去使用SDK。怎样去获取SDK呢?SDK是MSDN的一部分,MSDN按季度以光盘的形式进行发布,同时也可以通过征订来分发。(用户可以通过官方网站http//msdn.microsoft.com来了解关于订阅条件方面的内容。)此外,MSDN也随Microsoft Visual C++ 6.0编译器一起提供(这个版本虽然不是特别新,但它对于阅读本书已经足够了)。
      DDK(驱动程序开发套件——驱动程序开发包)。黑客使用DDK开发包做什么?它有助于弄清楚,驱动程序是如何开发、工作,以及如何被攻击的吗?除了基本的文档和大量的样例之外,DDK包还包括一个非常有价值的文件NTDDK.h,该文件含有绝大部分非公开结构的定义,它同揭示系统某些非一般性操作细节的注释内容一起加载。随DDK一起提供的一些实用程序也是有用的,其中,WINDEB调试器就是DDK所包括的实用工具之一,这是一个相当好的调试器,但无论从什么角度看,它都难及SoftIce的项背,因此,本书不考虑它的使用。(如果读者找不到SoftIce,WINDEB也凑合能用。)用于编写驱动程序的MASM汇编工具显得十分有用,另外,DDK还有一些使黑客的生活变得稍微容易点儿的小程序。最新的DDK版本可以从Microsoft站点免费下载。不过,要记住一点,用于NT的整个DDK的大小超过了40MB(压缩的),它甚至要求磁盘上存在更多的空间。
      操作系统。我无意将自己的品味和嗜好强加于读者,不过,我还是强烈地建议读者安装Windows 2000或者更高的版本。这样做的原因在于它是一个性能非常稳定且运行牢靠的操作系统,能够抵御严重的应用程序错误的破坏。与黑客的工作紧密相关的一件事情是,这种针对程序的核心层所施加的外部干扰使程序非常容易陷入崩溃而出现难以预料的行为。Windows 9x操作系统和崩溃程序的频繁“罢工”表现出“高度一致”的步调,有时候,计算机请求启动高达几十次之多!如果启动频繁发生而读者又不用去修复因为故障而遭到破坏的磁盘的话,那只能说用户运气不错。(这样的事情虽然很少发生,但还是存在发生的必然。)冻结Windows 2000要困难得多,在我睡眠不好或者疏忽大意的时候,我“成功”实施冻结的次数一个月也不会多于两次。而且,Windows 2000允许用户在任何时候加载SoftIce而不用重新启动系统,这实在是太方便了!最后要说明的一点是,本书的所有内容都是基于Windows 2000或者更高版本而展开叙述的,作者也很少提及其他系统所表现出的不同之处。
     本书的读者需要事先对汇编语言很熟悉。即使没有用汇编语言编写程序的经历,至少也应该知道诸如寄存器、段、机器指令等概念指的是什么,否则,阅读本书很可能感到太复杂而难于理解。作者的建议是,读者去找一本汇编方面的指南书籍,然后进行系统的学习。
     除了汇编语言,读者至少还应该具备操作系统方面的一般概念。
     此外,从Intel和AMD站点上下载所有可以获得的关于处理器的文档资料,也是很有用的。
     至此,已经准备足够素材,该是起步向前的时候了!

出处:蓝色理想
责任编辑:donger

作者文章 更多作者文章
《精通Eclipse》
《代码优化:有效使用内存》
《网络安全概论》
《Word排版艺术》
BIOS、注册表与系统漏洞终极解析
关键字搜索 常规搜索 推荐文档
热门搜索:CSS Fireworks 设计比赛 网页制作 web标准 用户体验 UE photoshop Dreamweaver Studio8 Flash 手绘 CG
站点最新 站点最新列表
周大福“敬•自然”设计大赛开启
国际体验设计大会7月将在京举行
中国国防科技信息中心标志征集
云计算如何让安全问题可控
云计算是多数企业唯一拥抱互联网的机会
阿里行云
云手机年终巨献,送礼标配299起
阿里巴巴CTO王坚的"云和互联网观"
1499元买真八核 云OS双蛋大促
首届COCO桌面手机主题设计大赛
栏目最新 栏目最新列表
《YoungNWP》第3期发布
奥斯卡大师亚洲巡讲火热报名中
Internet Explorer 9 平台预览版4
国内最大规模web前端技术聚会深圳站
绿色IT--云计算真的环保吗?
妙手回春:网站可用性测试及优化指南
Phpcms 2010模板大赛火热开赛
水晶石技法西安特训营系列报道
插画中国56期插画培训火爆招生中
乔家大院里的女人与Photoshop创意设计

蓝色理想版权申明:除部分特别声明不要转载,或者授权我站独家播发的文章外,大家可以自由转载我站点的原创文章,但原作者和来自我站的链接必须保留(非我站原创的,按照原来自一节,自行链接)。文章版权归我站和作者共有。

转载要求:转载之图片、文件,链接请不要盗链到本站,且不准打上各自站点的水印,亦不能抹去我站点水印。

特别注意:本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有,文章若有侵犯作者版权,请与我们联系,我们将立即删除修改。

您的评论
用户名:  口令:
说明:输入正确的用户名和密码才能参与评论。如果您不是本站会员,你可以注册 为本站会员。
注意:文章中的链接、内容等需要修改的错误,请用报告错误,以利文档及时修改。
不评分 1 2 3 4 5
注意:请不要在评论中含与内容无关的广告链接,违者封ID
请您注意:
·不良评论请用报告管理员,以利管理员及时删除。
·尊重网上道德,遵守中华人民共和国的各项有关法律法规
·承担一切因您的行为而直接或间接导致的民事或刑事法律责任
·本站评论管理人员有权保留或删除其管辖评论中的任意内容
·您在本站发表的作品,本站有权在网站内转载或引用
·参与本评论即表明您已经阅读并接受上述条款
推荐文档 | 打印文档 | 评论文档 | 报告错误  
专业书推荐 更多内容
网站可用性测试及优化指南
《写给大家看的色彩书1》
《跟我去香港》
众妙之门—网站UI 设计之道
《Flex 4.0 RIA开发宝典》
《赢在设计》
犀利开发—jQuery内核详解与实践
作品集 更多内容

杂⑦杂⑧ Gold NORMANA V2