内容简介
本书由两部分组成。第I部分首先概述ELF文件格式和操作系统的内部结构,然后介绍Arm架构基础知识,并深入探讨A32和A64指令集;第II部分深入探讨逆向工程,包括Arm环境、静态分析和动态分析,以及固件提取和模拟分析等关键主题。本书末尾讲解在macOS中基于Arm的M1 SoC编译的二进制文件的恶意软件分析。
通过阅读本书,读者可以深入理解Arm的指令和控制流模式,这对于针对Arm架构编译的软件的逆向工程至关重要。为帮助逆向工程师和安全研究人员更好地理解逆向工程,本书深入介绍了逆向工程的各个方面,具体包括:
?? Arm架构的AArch32和AArch64指令集状态,以及ELF文件格式内部结构;
?? Arm汇编内部机制的详细信息,可供逆向工程师分析恶意软件和审计软件安全漏洞使用,以及寻求Arm汇编语言详细知识的开发人员使用;
?? Armv8-A架构支持的A32/T32和A64指令集,以及常见的指令和控制流模式;
?? 用于静态和动态二进制分析的已知逆向工程工具;
?? 在Linux上对Arm二进制文件进行反汇编和调试的过程,以及常用的反汇编和调试工具。
AI简介
这是一本全面讲解Arm汇编语言和逆向工程的书籍。本书分为两部分,第一部分详细介绍了Arm汇编内部机制,包括逆向工程简介、ELF文件格式的内部结构、操作系统基本原理以及Arm架构等基础知识。第二部分则深入探讨了逆向工程,包括Arm环境、静态分析、动态分析以及固件提取和模拟分析等关键主题。
本书首先从汇编语言开始,详细介绍了位和字节、字符编码、机器码和汇编以及汇编语言等基础知识。接着,本书深入讲解了ELF文件格式,包括程序结构、高级语言与低级语言、编译过程以及ELF文件头等关键内容。在操作系统基本原理部分,本书介绍了操作系统架构概述、进程内存管理以及系统调用等核心概念。在Arm架构部分,本书详细讲解了架构和配置文件、Armv8-A架构以及AArch64执行状态等高级主题。
在逆向工程部分,本书首先介绍了Arm环境,包括Arm板的选择与使用,以及如何使用QEMU模拟虚拟环境。接着,本书深入讲解了静态分析,包括静态分析工具的介绍,以及如何使用这些工具进行引用调用示例、控制流分析以及算法分析。在动态分析部分,本书详细介绍了命令行调试、远程调试以及调试内存损坏等关键技术。最后,本书还讲解了如何