作品简介

本书由两部分组成。第I部分首先概述ELF文件格式和操作系统的内部结构,然后介绍Arm架构基础知识,并深入探讨A32和A64指令集;第II部分深入探讨逆向工程,包括Arm环境、静态分析和动态分析,以及固件提取和模拟分析等关键主题。本书末尾讲解在macOS中基于Arm的M1 SoC编译的二进制文件的恶意软件分析。通过阅读本书,读者可以深入理解Arm的指令和控制流模式,这对于针对Arm架构编译的软件的逆向工程至关重要。为帮助逆向工程师和安全研究人员更好地理解逆向工程,本书深入介绍了逆向工程的各个方面。

玛丽亚·马克斯特德(Maria Markstedter)是Azeria Labs的创始人兼首席执行官,该公司提供Arm逆向工程和漏洞利用的培训课程。在此之前,她在渗透测试和威胁情报领域工作,并担任虚拟化初创公司Corellium的首席产品官。

她拥有企业安全学士学位和企业安全硕士学位,并在剑桥依托ARM公司从事漏洞利用缓解研究工作。

她因在该领域的贡献而受到认可,曾入选《福布斯》2018年欧洲科技界“30位30岁以下技术精英”名单,并被评为2020年《福布斯》网络安全年度人物。自2017年以来,她还是欧洲Black Hat和美国培训与简报审核委员会(Trainings and Briefings Review Board)的成员。

作品目录

  • 译者序
  • 前言
  • 致谢
  • 作者简介
  • 第一部分 Arm汇编内部机制
  • 第1章 逆向工程简介
  • 1.1 汇编简介
  • 1.2 高级语言
  • 1.3 反汇编
  • 1.4 反编译
  • 第2章 ELF文件格式的内部结构
  • 2.1 程序结构
  • 2.2 高级语言与低级语言
  • 2.3 编译过程
  • 2.4 ELF文件概述
  • 2.5 ELF文件头
  • 2.6 ELF程序头
  • 2.7 ELF节头
  • 2.8 .dynamic节和动态加载
  • 2.9 线程本地存储
  • 第3章 操作系统基本原理
  • 3.1 操作系统架构概述
  • 3.2 进程内存管理
  • 第4章 Arm架构
  • 4.1 架构和配置文件
  • 4.2 Armv8-A架构
  • 4.3 AArch64执行状态
  • 4.4 AArch32执行状态
  • 第5章 数据处理指令
  • 5.1 移位和循环移位
  • 5.2 逻辑运算
  • 5.3 算术运算
  • 5.4 乘法运算
  • 5.5 除法运算
  • 5.6 移动操作
  • 第6章 内存访问指令
  • 6.1 指令概述
  • 6.2 寻址模式和偏移形式
  • 6.3 加载和存储指令
  • 第7章 条件执行
  • 7.1 条件执行概述
  • 7.2 条件码
  • 7.3 条件指令
  • Thumb中的IT指令
  • 7.4 标志设置指令
  • 7.5 条件选择指令
  • 7.6 条件比较指令
  • 第8章 控制流
  • 8.1 分支指令
  • 8.2 函数和子程序
  • 第二部分 逆向工程
  • 第9章 Arm环境
  • 9.1 Arm板
  • 9.2 使用QEMU模拟虚拟环境
  • 第10章 静态分析
  • 10.1 静态分析工具
  • 10.2 引用调用示例
  • 10.3 控制流分析
  • 10.4 算法分析
  • 第11章 动态分析
  • 11.1 命令行调试
  • 11.2 远程调试
  • 11.3 调试内存损坏
  • 11.4 使用GDB调试进程
  • 第12章 逆向arm64架构的macOS恶意软件
  • 12.1 背景
  • 12.2 寻找恶意arm64二进制文件
  • 12.3 分析arm64恶意软件
  • 12.4 总结
展开全部