逆向工程实战pdf下载

2018年9月6日12:17:09评论1.2K 摘要探索独特的逆向工程系统化方法,包含对真实恶意软件的分析 覆盖三个流行的处理器架构(x86、x64和ARM) 提供针对真实后门程序的综合练习 讲解复杂的代码混淆技术 探索高级调试技术,实现逆向工程过程的自动化和高效化逆向工程实战 内容简介...

2018年9月6日12:17:09评论1.2K

摘要

探索独特的逆向工程系统化方法,包含对真实恶意软件的分析
覆盖三个流行的处理器架构(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)。

本文来自倾心之夏投稿,不代表电子书资源网立场,如若转载,请联系原作者获取。

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 02-14
下一篇 02-14

相关推荐

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信