逆向工程实战pdf

图书网 2018年9月6日12:17:09
评论
2.5K
摘要

探索独特的逆向工程系统化方法,包含对真实恶意软件的分析
覆盖三个流行的处理器架构(x86、x64和ARM)
提供针对真实后门程序的综合练习
讲解复杂的代码混淆技术
探索高级调试技术,实现逆向工程过程的自动化和高效化

逆向工程实战 内容简介

本书是一本涵盖x86、x64 和ARM 操作系统的逆向工程类图书,由浅入深地讲解了包括Windows内核模式代码的恶意软件和驱动程序、虚拟机保护技术等内容。作者通过大量真实案例和示例,提供了系统化的解决方案。

本书适合所有程序员和想要开始学习逆向工程的读者阅读。

逆向工程实战 目录

第1章 x86与x64

1.1 寄存器组与数据类型

1.2 指令集

1.2.1 语法

1.2.2 数据移动

1.3 练习

1.3.1 算术运算

1.3.2 栈操作与函数调用

1.4 练习

1.5 系统机制

1.5.1 地址转换

1.5.2 中断与异常

1.6 综合练习

1.7 练习

1.8 x64

1.8.1 寄存器组与数据类型

1.8.2 数据移动

1.8.3 规范地址

1.8.4 函数调用

1.9 练习

第2章 ARM

2.1 基本特性

2.2 数据类型与寄存器

2.3 系统级控制与设置

2.4 指令集介绍

2.5 数据加载与存储

2.5.1 LDR与STR

2.5.2 LDR的其他用途

2.5.3 LDM与STM

2.5.4 PUSH与POP

2.6 函数与函数调用

2.7 算术运算

2.8 分支跳转与条件执行

2.8.1 Thumb状态

2.8.2 switch-case

2.9 杂项

2.9.1 JIT与SMC

2.9.2 同步原语

2.9.3 系统服务与机制

2.9.4 指令

2.10 综合练习

2.11 下一步

2.12 练习

第3章 Windows内核

3.1 Windows基础

3.1.1 内存布局

3.1.2 处理器初始化

3.1.3 系统调用

3.1.4 中断请求级

3.1.5 内存池

3.1.6 MDL

3.1.7 进程与线程

3.1.8 执行上下文

3.1.9 内核同步原语

3.2 列表

3.2.1 实现细节

3.2.2 综合练习

3.2.3 练习

3.3 异步与乱序执行

3.3.1 系统线程

3.3.2 work item

3.3.3 APC

3.3.4 DPC

3.3.5 定时器

3.3.6 进程与线程回调

3.3.7 完成例程

3.4 I/O请求包

3.5 驱动程序结构

3.5.1 入口点

3.5.2 驱动程序与设备对象

3.5.3 IRP处理

3.5.4 用户-内核通信常用机制

3.5.5 系统机制杂项

3.6 综合练习

3.6.1 x86后门程序实例

3.6.2 x64后门程序实例

3.7 下一步

3.8 练习

3.8.1 建立自信,巩固知识

3.8.2 探索与知识扩展

3.8.3 驱动分析实战

第4章 调试与自动化

4.1 调试工具与基本命令

4.1.1 设置符号路径

4.1.2 调试器窗口

4.1.3 表达式求值

4.1.4 流程控制与Debug事件

4.1.5 寄存器、内存与符号

4.1.6 断点

4.1.7 查看进程与模块

4.1.8 杂项命令

4.2 编写调试工具脚本

4.2.1 伪寄存器

4.2.2 别名

4.2.3 语言

4.2.4 脚本文件

4.2.5 像使用函数一样使用脚本

4.2.6 调试脚本示例

4.3 使用SDK

4.3.1 概念

4.3.2 编写调试工具扩展

4.4 有用的扩展、工具和资源

第5章 代码混淆

5.1 混淆技术概览

5.1.1 混淆的本质:一个热身例子

5.1.2 基于数据的混淆技术

5.1.3 基于控制的混淆技术

5.1.4 同时使用控制流与数据流混淆技术

5.1.5 通过代码模糊获得安全性

5.2 解混淆技术概述

5.2.1 解混淆的本质:逆变换

5.2.2 解混淆工具

5.2.3 解混淆实践

5.3 案例研究

5.3.1 第一印象

5.3.2 分析处理函数语义

5.3.3 符号执行

5.3.4 完成挑战

5.3.5 最后的想法

5.4 练习

5.5 参考文献

附录 实例名称与相应的SHA1散列值

逆向工程实战 精彩文摘

第1章 x86与x64

x86是基于Intel 8086处理器的小端(little-endian)架构。本书中讨论x86是指《Intel 64 和 IA-32 架构软件开发人员手册》中定义的Intel架构(IA-32)的32位实现。一般而言,它可以在两种操作模式下运行:实模式和保护模式。实模式是指处理器刚刚上电后只支持16位指令集的状态。保护模式是指处理器支持虚拟内存、分页以及其他功能的状态,也是运行当代操作系统的状态。这个体系结构的64位扩展称为x64或x86-64。这一章中讨论的是运行于保护模式下的x86体系结构。

x86通过一种称为环级别(ring level)的抽象来支持特权隔离(privilege separation)。处理器支持4种特权级别,编号为0到3(通常不使用ring1和ring2,所以这里不予讨论)。ring0具有最高特权级别,可以修改所有的系统设置。而ring3的特权级别最低,只能读取/修改部分系统设置。因此现代操作系统通常将用户模式应用程序运行在ring3级别,将内核运行于ring0级别,以此实现用户/内核特权隔离。ring级别编码于CS寄存器中,在官方文档中有时被称为当前特权级别(Current Privilege Level,CPL)。

图书网:逆向工程实战pdf

继续阅读

→→→→→→→→→→→→→→→→→→→→查找获取

软件工程/开发项目管理

软件设计重构pdf

以4个设计原则为中心,全面呈现25种在软件项目中导致技术债务的设计坏味 提供一种独特的坏味命名方法,帮助理解坏味的由来并指出潜在重构方法 包含丰富的例证,展现糟糕设计实践的潜在坏味...
软件工程/开发项目管理

DevOps 最佳实践pdf

DevOps 最佳实践 作者: Bart de Best(巴特・德・贝斯特) DevOps 最佳实践 出版社:电子工业出版社 DevOps 最佳实践 内容简介 近年来,许多组织都体会到了使用敏捷方法的...
软件工程/开发项目管理

Android组件化架构pdf

Android走过的十个年头,其技术演进也是有迹可循的,本书作者基于自己在大型App架构的技术演进中成长的经历,将遇到的相关问题进行深入剖析,包括Android 组件化架构、模块化...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: