本书围绕软件反汇编领域展。它从x86汇编语言的基础知识始,逐步介绍如何利用这些知识行逆向工程和规避软件保护措施。?本书从x86始,首先介绍如何阅读、编写和构建驱动世界上大量计算机的汇编代码。然后,介绍如何使用一些业界最喜欢的工具(如IDA、Ghidra、Olly等)对应用程序行逆向工程。着,介绍如何使用诸如补丁和密钥生成等技术行软件破解,所有这些技术都利用了汇编和逆向工程的力量。最后,从防御角度审视了软件破解。所涉及的具体知识大致分为以下几类: 汇编:计算机架构、x86、系统调用、构建和、ASCII、条件码、gdb、控制流、栈、调用约定。 逆向工程:侦察、字符串、逆向策略、剥离、、优化、编译器、行业工具。 破解:补丁、密钥检查器、密钥生成器、Resource Hacker、Dependency Walker。 防御:反调试、防篡改、加壳、加密、解密、白名单、黑名单、RASP、代码签名、混淆等。本书主要面向分析、研究、破解或防御软件应用程序的安全研究人员、逆向工程师和防御者以及发者,旨在为读者提供技术和相关知识,让他们更好地保护自己的软件。
售 价:¥
纸质售价:¥74.20购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
译者序
前言
关于作者
关于技术撰稿人
关于技术编辑
第1章 反编译和架构
1.1 反编译
1.2 实验:反编译
1.3 架构
1.4 总结
第2章 x86汇编:数据、模式、寄存器和内存访问
2.1 x86简介
2.2 汇编语法
2.3 数据表示
2.4 寄存器
2.5 内存访问
2.6 寻址模式
2.7 总结
第3章 x86汇编:指令
3.1 x86指令格式
3.2 x86指令
3.3 整合所有内容
3.4 常见的x86指令错误
3.5 总结
第4章 构建和运行汇编程序
4.1 输出
4.2 系统调用
4.3 汇编和链接
4.4 objdump
4.5 实验:Hello World
4.6 ASCII
4.7 总结
第5章 理解条件码
5.1 条件码
5.2 总结
第6章 分析和调试汇编代码
6.1 二进制分析
6.2 断点
6.3 gdb
6.4 段错误
6.5 实验:鲨鱼模拟器3000
6.6 消除噪声
6.7 总结
第7章 函数和控制流
7.1 控制流
7.2 x86中的逻辑结构
7.3 栈
7.4 函数调用与栈帧
7.5 总结
第8章 编译器和优化器
8.1 寻找目标代码入口点
8.2 编译器
8.3 总结
第9章 逆向工程:工具和策略
9.1 实验:RE Bingo
9.2 基础侦察
9.3 逆向工程的策略
9.4 总结
第10章 破解:工具和策略
10.1 密钥检查器
10.2 密钥生成器
10.3 实验:密钥生成器
10.4 Procmon
10.5 Resource Hacker
10.6 打补丁
10.7 其他调试器
10.8 使用Immunity调试工具进行调试
10.9 实验:使用Immunity进行破解
10.10 总结
第11章 打补丁和高级工具
11.1 在010编辑器中打补丁
11.2 CodeFusion补丁
11.3 Cheat Engine
11.4 实验:破解LaFarge
11.5 IDA
11.6 IDA补丁
11.7 实验:IDA逻辑流程
11.8 Ghidra
11.9 实验:使用IDA进行破解
11.10 总结
第12章 防御
12.1 混淆技术
12.2 实验:混淆技术
12.3 反调试
12.4 实验:反调试
12.5 总结
第13章 高级防御技术
13.1 防篡改技术
13.2 加壳技术
13.3 实验:检测和脱壳
13.4 虚拟化技术
13.5 加密器/解密器
13.6 总结
第14章 检测与预防
14.1 循环冗余校验
14.2 代码签名
14.3 RASP
14.4 白名单
14.5 黑名单
14.6 远程认证
14.7 实验:进程监控
14.8 总结
第15章 法律
15.1 影响逆向工程的美国法律
15.2 总结
第16章 高级技术
16.1 时间旅行调试
16.2 二进制插桩
16.3 中间表示
16.4 反编译
16.5 自动化结构恢复
16.6 可视化
16.7 去混淆
16.8 定理证明器
16.9 符号分析
16.10 总结
第17章 附加话题
17.1 栈溢出
17.2 关联C代码与x86汇编代码
17.3 总结
结语
推荐阅读
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜