免责申明:本站所供资料仅供学习之用,任何人不得将之他用或者进行传播,否则应当自行向实际权利人承担法律责任。因本站部分资料 来源于其他媒介,如存在没有标注来源或来源标注错误导致侵犯阁下权利之处,敬请告知,我将立即予以处理。请购买正版书藉,支持国 内网络安全。溜客和旗下换在中国网(WWW.17HUAN.COM)及溜客原创资源论坛(BBS.176ku.COM)祝您技术更上一个台阶。 Broadview www.broadview.com.cn “十一五”国家重点图书出版规划项目 安全技术 大系 Hacker Disassembling Uncovered,Second Edition 黑客反汇编 揭秘 (第二版) 【俄】Kris Kaspersky著谭明金等译 脂星 家 PDG 電子工業出版社 UELISHIN MOUSE OF ELECTRONCS INDUSTHY 溜客安全网WwW.176Ku.CoM
目录 第一篇黑客工具介绍、 3.2历史概况 -25 第1章携黑客工具启程 3.2.1仿真器的应用范围……27 …2 3.2.2硬件虚拟……31 1.1调试器…… 2 3.3流行的仿真器……32 1.2反汇编器-……6 3.3.1D0SBox……32 1.3反编译器……8 3.3.2 Bochs… ……34 1.4-十六进制编辑器……10 3.3.3 VMware……35 1.5解包器(Unpacker) ……12 3.3.4 Microsoft Virtual PC.……37 1.6转储器 ……13 3.3.5Xen……39 1.7资源编辑器……14 3.3.6最势均力敌的竞争对手……40 1.8窥测器(Spy)……14 3.4仿真器的选择 ……41 1.9监视器(Monitor) …15 3.4.1安全性….…41 1.10修正器 …-17 3.4.2可扩展性……41 1.11 受保护光盘复制器-……17 3.4.3源代码是否可用……41 第2章UNX黑客工具……18 3.4.4仿真的质量……42 2.1调试器 …18 3.4.5内置调试器……43 2.2反汇编器…… …21 3.4.6如何在VMware下配置 2.3窥测器… 22 SoftICE……45 2.4 十六进制编辑器 ……-23 第4章汇编器入门…46 2.5转储器 …-24 2.6 自动保护工具……24 4.1汇编语言方法论 …47 4.2基于C程序实例解释汇编概念…48 第3章调试器与仿真器的仿真……25 4.3汇编插入语句… ……49 3.1仿真器概述……25 4.4可用的汇编语言工具……50 ·VIII· 溜客安全网WwW.176Ku.CoM
4.5汇编编译器的概况与比较…5】 6.4总结…11】 4.5.1评判的基本标准…52 第7章通晓应用程序调试技术…112 4.5.2MASM…54 4.53TASM…56 7.】调试简介…112 4.5.4FASM…57 7.2配套使用反汇编器与调试器…113 4.5.5NASM… 58 7.3API函数断点 …115 4.5.6 YASM 59 7.4消息断点…117 4.5.7结论… 60 7.5数据断点…118 7.6展开堆栈…119 第二篇 基本黑客技术 7.7调试DLL……121 78总结… 122 第5章走进黑客门…64 第8章在UNIX与Liux下的特殊调试 5.1按密钥类型划分保护机制…67 技术… …123 5.2 保护机制的强度……68 5.3商业化保护机制的缺点…70 8.1 GDB的基础一ptrace 4…124 5.4定制保护机制的实现错误…70 8.l.1 ptrace及其命令… …126 5.4.1非授权复制与序列号分发…70 8.12GDB对多进程的支持…127 5.4.2试用期及其弱点…71 8.1.3GDB简介…128 5.4.3算法重建…74 8.1.4跟踪系统调用…13】 5.4.4磁盘与内有的修改…78 8.2用GDB调试二进制文件 …133 5.4.5反反汇编器…78 8.2.1准备进行文件调试 4…133 5.4.6反调试技术…79 8.2.2跟踪前的准备…138 5.4.7反监听器…79 第9章Linice内核调试基础 …141 5.4.8反转储器…79 5.4.9。弥补保护机制… 80 9.1。系统要求…142 5.5容易导致严重后果的小错误…80 9.2编译与配置Linice…143 9.3引导系统与启动调试器…144 第6章热身… …83 9.4 Linice的基本使用原理…147 6.1创建保护机制,并尝试破解…83 9.5总结… 62走近反汇编器…85 第10章高级调试专题…152 6.2.1批反江编器与交互式反汇编器…86 622使用批反汇编器…87 10.1 SoftICE用做日志记录器…152 6.2.3从EXE到CRK…90 10.1.】热身运动…153 6.3实际的破解范例…101 10.1.2更复杂的过滤器…156 63.1抑制千扰屏的出现…102 10.13 SoftICE的动画型跟踪…159 63.2强行注册… …105 102随机设置断点的技巧……160 6.3.3彻底破解或者别服“About'” 10.2.1单步跟踪的秘密…161 对话框…108 10.3通过覆盖方法进行破解…169 ·X· 溜客安全网WwW.I76Ku.CoM
10.3.1总体思路……169 12.3.7通过在文件与头结构之间 10.3.2工具的选择……170 插入代码而感染文件……233 10.4确定代码覆盖的算法……172 12.3.8在ELF文件中插入代码的 10.5方法的选择…… ……173 实验……234 10.6程序破解实例…174 12.4反汇编Linux版tiny-crackme 10.7总结…-179 程序… …241 第三篇高级反汇编技术 12.4.1剖析tiny-crackme……241 12.5总结…… ……253 第11章反汇编32位PE文件……182 第13章反汇编x86-64程序……254 11.1PE文件结构不同实现形式的 13.1简介…… …254 特性…… …182 13.2需要的工具……255 11.2PE文件的一般概念与要求……183 13.3x86-64体系结构概述……258 11.3PE文件结构……184 13.4切换到64位模式……260 11.4PE文件的代码插入与删除技术…186 13.5x86-64平台上的“Hello,World” 11.4.1X码概念及其他约定……186 程序 ..…262 11.4.2X码的目的与任务……187 13.6总结 …267 11.4.3对X码的要求……188 11.4.4插入……189 第14章反汇编与破解Linux内核……268 11.5总结……215 14.1反汇编Linux内核……268 第12章在Linux与BSD中反汇编ELF 14.1.1内核的外围话题……268 文件…… .216 14.1.2攻击内核……269 14.1.3深入内核……271 12.1所需要的工具……216 14.1.4错误所在的位置……275 12.2ELF文件结构……217 14.2内核攻击秘诀 …276 12.3在ELF文件中插入外来码……219 14.2.1修改Linux徽标……276 12.3.1通过合并来感染文件……220 12.3.2通过扩展文件的最后分区来 第15章高级补丁技术……281 感染文件……222 15.1联机补丁的秘密与诀窍……281 12.3.3通过压缩部分原始文件 15.1.1最简单的联机补丁器……282 而感染文件… …224 15.1.2大比拼……284 12.3.4通过扩展文件的代码分区 15.1.3截取传递信号的API函数……285 而感染文件… …228 *15.1.4硬件断点……287 12.3.5通过下移代码分区而感染 15.2几种鲜为人知的破解客户程序的 文件…… ……231 方法 289 PDG 12.3.6通过创建定制分区而感染 15.2.1破解客户应用程序的方法 文件…… 233 概述……289 ·X· 溜客安全网WwW.176Ku.CoM
15.2.2在不编辑宇节的情况下进行 17.2 Windows世界的隐形技术……349 修改…………………289 17.2.1 Blue Pill、Red Pill-—Windows 15.3 Windows NT/2000/XP内核黑码 Longhorn再现《黑客帝国》…350 事宜… 296 17.2.2 Blue Pill……350 15.3.1内核结构……296 17.2.3规避数字签名……350 15.3.2内核类型……298 17.2.4沉迷于虚拟世界……352 15.3.3修改内核的方法……300 17.2.5 Red Pill… ……355 15.3.4修改启动徽标……306 17.3总结……357 15.4BS0D之后还有活路吗……308 15.4.1用SoftICE克服BSOD……309 第18章攻克打包器……358 15.4.2自动实现的复活过程……313 18.1初步的分析……358 15.4.3这个反BSOD程序安全吗……317 18.2解包与其他方法……361 15.5总结 …318 18.3解包算法… ……361 第16章反汇编其他格式的文件……319 18.4搜索原始入口点……362 18.4.1活动程序转储……362 16.1反汇编PDF文件……319 18.4.2通过内存中的签名搜索启动 16.1.1 Adobe Acrobat为那些不循规 蹈矩的人提供了什么……320 代码…………………364 16.1.2修改Adobe Acrobat……323 18.4.3流行但低效的工具: 16.1.3使用打印屏幕功能实施破解…324 GetModuleHandleA与fs:0……365 16.1.4尽量多懂几种语言……324 18.4.4解包器的副作用……369 16.1.5PDF文件结构……324 18.4.5基于堆栈平衡找到0EP的 16.1.6生成加密密钥……328 通用方法……372 16.1.7攻击U-密码……329 18.4.6如果调试器跳过了解包器 16.1.8如何动手破解PDF密码……331 入口点怎么办……………………375 16.2总结……333 18.5转储受保护的应用程序……377 18.5.1简单转储案例……377 第四篇实用代码探查技术 18.5.2 自行搜索……381 18.5.3从外部查看转储内容……382 第17章在Windows上捉迷藏……336 18.5.4动态解密机制……383 17.1 Windows反调试技术……337 18.5.5对内部数据进行转储……384 17.1.1历史在不断地重演……339 18.5.6打包器的诡计……386 17.1.2自跟踪程序……340 18.6总结-…… ……388 17.1.3基于物理内存访问的反调试 技术…345 第19章攻克代码混淆…389 17.1.4 Windows 2000/XP SDT Restore 19.1混码器如何发挥作用……390 如何工作……349 19.2如何破解混淆程序……394 ·XI· 溜客安全网WwW.176Ku.CoM
19.2.1解除代码混淆……395 第21章调试与反汇编恶意软件…416 19.3黑盒方法……397 19.4虚拟机牢笼-……398 21.1用调试器反监视……416 19.5总结…399 21.1.1时间也会留下印记……416 21.1.2进程树……418 第20章攻克Linux与BSD打包器……400 21.1.3查看线程……420 20.1打包器对性能的影响……400 21.1.4恢复系统服务表……426 20.2 ELFCrypt …401 21.2攻击程序的核查与反汇编…430 20.3UPX……408 21.2.1如何反汇编攻击程序……431 20.4 Bumeye.410 21.2.2分析消息排队攻击程序……432 20.5 Shiva…- ……413 21.2.3如何在调试器下运行外壳码…443 20.6打包器的比较…414 21.3总结……444 20.7总结… ……415 脂圣 PDG ·XI· 溜客安全网WwW.176Ku.CoM
PART 第一篇 黑客工具介绍 ■第1章携黑客工具启程 ■第2章UNIX黑客工具 ■第3章调试器与仿真器的仿真 ■第4章汇编器入门 PDG 溜客安全网WwW.I76Ku.CoM
CHAPTER 第1章携黑客工具启程 黑客事务是门外汉无法插足的领域,立志成为黑客军团的一员,首先必须学习C/C+编程语言, 掌握汇编语言,理解现代微处理器的工作原理以及Windows和UNIX操作系统的体系结构,学习 如何快速反汇编机器代码,等等。换句话说,通往黑客军团营地的是一条丛林密布的漫漫长路,逻 辑陷阱、比特尖楔与圈套遍布其间,要是没有向导引路,几乎是难以逾越的。不过书是最好的老师, 你需要找很多书来看,本书也包括在内。我推荐一个相关的书、手册与其他参考文献的清单,放在 本书的网站资源中,目录为PART_01\CH0 1\SUPPLEMENTARY。其中列出了一些必读书目和可以 得到的最佳资源。 现在,就该为自己收集必需的黑客装备了!黑客,其实也是辛勤劳作的代名词,他们一直在用 脑子和双手埋头苦编代码。不过,专用程序使新手在进行黑客操作时保持清晰的思路,从而由代码 苦力迈出了第一步。问题在于,这类程序如此众多,任何初次访问黑客网站的新手不可避免地会迷 失方向。通常,新手无法确定自己需要什么以及什么对自己没有用处。本章简要给出黑客软件的概 况,可以大致满足各位黑客的需要。 1.1调试器 无论在何时何地,SoftICE作为Windows平台事实上的调试标准,都算得上是最好的调试工具, 当然也堪当任何黑客的首选。几代黑客人都是这么认为的,也是这么选择的。SoftICE是一种具有 高级命令接口的交互式工具(如图11所示)。它在易学和好用两方面进行了平衡。换句话说,阅 读SoftICE手册很有必要,因为SoftICE没有向用户提供任何Turbo Debugger样式的直观菜单。 SoftICE起初是由NuMega创建的,但是后来卖给了Compuware。Compuware将SofICE作为 庞大的DriverStudio构架的一部分进行部署。遗憾的是,2006年4月3日,该公司宜布,由于“一 系列技术、商业与市场因素”,公司已经停止对这个成为绝版的软件项目提供支持。然而,对于黑 客来说,这不是一个令人满意的理由。 本产品的最后一版DriverStudio3.2,支持全部Windows操作系统版本系列(直到Windows PDG Server2003)与AMDx86-64体系。这意味着,SoftICE在未来大约5年左右的时间里还能用于调 溜客安全网WwW.I76Ku.CoM
第1章携黑客工具启程 试,5年以后,黑客们就不得不发明点别的什么了。 D PTR EEDP+1C1 G0 图1.1 SoftICE是面向专业人士的调试器 在e-Donkey或者任何其他黑客网站(例如,http:/www.woodmann..com/crackz/Tools.htm)上, 你都可以找到SoftICE,随SoftICE一起,还应同时安装IceExt(http:///sourceforge,.net/projects/iceext) 一SofICE的一个非官方扩展软件,它可以隐藏起调试器使之在大多数保护机制的视野里消失, 还可以保存内存转储(如图12所示),挂起线程以及执行许多其他操作。 溶 的 PDG 图1.2使用1 ceExt保存转储内容 3 溜客安全网WwW.I76Ku.CoM
黑客反汇编揭秘(第二版)》 如果IceExt不能成功启动,请在注册表中找到注册关键字HKLM\SYSTEM\Current ControlSet\Services\NTice下的KDHeapsize与KDStacksize DWORD设置项,并将它 们分别设置为KDHeapSize(DWORD):0x8000与KDStacksize(DWORD):0x8000。 IceDump(http://programmerstools..org/system/mles?le-icedump6.026.zip)是SoftICE的另一 个非官方扩展软件,它可以执行许多有用的操作,是对IceExt功能的合理补充(如图1.3所示)。 0100 4:302的 018:0040101C306040G0E30500-000059C30 001B:00401001PU5H 000600 图1.3使用IceDump保存转储 顺便提一下,SoftICE在VMware虚拟机上的运行效果不错。要让SoftICE在VMware虚拟机上 运行,只要在VMX-file文件中加入如下两行就行了:paevm-=TRUE与processor1.use=FALSE。 有报道说,在多处理器配置和超线程处理器平台上运行SoftICE会出现一些问题。这样的问题可以 通过在boot.ini文件中加入/ONECPU选项来消除。 除SoftICE以外,还有其他一些调试器可用。其中,免费的OIy调试器或者OllyDbg (http:lwww.ollydbg.de)特别值得一提(如图1.4所示)。 OllyDbg是一个便捷的面向黑客的应用程序级调试器。它支持插件机制,因为这个原因,黑客 们共同开发了许多优良的扩展件与添加件,使OllyDbg在保护机制的视野中隐匿行迹,自动确定打 包程序的原始入口位置,简化保护机制的消除过程,等等。 可以在http:lwww,openrce,.org上找到大量的OllyDbg插件集。 Syser(http:/www.sysersoft.com)是最新的(在许多方面仍然是实验性的)内核调试器。这是 DG 由中国的开发人员发布的,并且在迅速发展之中(如图1.5所示)。 溜客安全网WwW.I76Ku.CoM