赞
踩
Blue Fox Arm Assembly Internals and Reverse Engineering读书笔记
01-Blue Fox 读书笔记-01-Introduction
02-Blue Fox 读书笔记-02-Part 1_Chapter 1_Introduction to ReverseEngineering
这本书原先打算包含对Arm指令集的概述,关于逆向工程的章节以及关于漏洞利用缓解机制和绕过技巧的章节。我和出版商很快意识到,如果要把这些主题涵盖到令人满意的程度,这本书将有大约1000页长。因此,我们决定将它分为两本书:《蓝狐》和《红狐》。
Red Fox: Vulnerability Analysis and Exploit Mitigation Internals for Mobile and IoT
Expected publication May 29, 2024
1 《蓝狐》版涵盖了分析师的视角;教授你开始逆向工程所需的一切知识。如果没有扎实的基础知识,你无法进入更高级的主题,如漏洞分析和漏洞开发。
2《红狐》版将涵盖攻击性安全的视角:理解漏洞利用的内部机制、绕过技巧和常见的漏洞模式。
事实是,你不需要知道每一个Arm指令就能逆向工程一个Arm二进制文件。许多指令有非常特定的使用场景,你在分析过程中可能会或可能不会遇到。
如果你是逆向工程的初学者,理解二进制文件的格式、其各个部分、它如何从源代码编译成机器码,以及它所依赖的环境是非常重要的。由于空间和时间的限制,这本书不能涵盖每一个文件格式和操作系统。它主要关注Linux环境和ELF文件格式。好消息是,无论哪个平台或文件格式,Arm指令就是Arm指令。即使你逆向工程一个为macOS或Windows编译的Arm二进制文件,指令本身的含义仍然保持不变。
这本书从介绍开始,解释了指令是什么以及它们从哪里来。在第二章中,您将学习关于ELF文件格式及其部分的内容,以及编译过程的基本概述。因为没有理解它们执行的上下文,二进制分析是不完整的,所以第三章提供了操作系统基础的概述
拥有这些背景知识后,你将为深入探讨第四章的Arm架构做好准备。在第五章中,你可以找到最常见的数据处理指令,其后是第六章关于内存访问指令的概述。这些指令是Arm架构的重要部分,也被称为加载/存储架构。第七章和第八章讨论条件执行和控制流,这是逆向工程的关键组件。
第九章对于逆向工程师来说开始变得特别有趣。了解不同类型的Arm环境是至关重要的,尤其是当你执行动态分析并需要在执行过程中分析二进制文件时。
根据到目前为止提供的信息,您已经为下一次的逆向工程冒险做好了充分的准备。为了帮助您开始,第十章包括了最常用的静态分析工具的概述,其后是一些您可以逐步遵循的小型实际静态分析示例。
如果没有动态分析来观察程序在执行过程中的行为,逆向工程将会很无趣。在第十一章中,你将学习关于最常用的动态分析工具,以及在分析过程中可以使用的有用命令的示例。这一章以两个实际的调试示例结束:调试一个内存损坏的漏洞和在GDB中调试一个进程。
逆向工程对于恶意软件分析师是一项宝贵的技能,但他们还需要熟悉给定的恶意软件样本所编译的环境。为了帮助您在这个领域入门,这本书包括了一个关于分析arm64 macOS恶意软件的章节(第十二章),由Patrick Wardle编写,他也是《Mac恶意软件的艺术》的作者。与前面的章节不同,这一章并不集中于Arm汇编。相反,它向你介绍了macOS恶意软件常用的反分析技巧,用于避免被分析。这一章的目的是为了提供一个与Apple Silicon(M1/M2)兼容的macOS恶意软件的介绍,这样任何对追踪和分析基于Arm的macOS恶意软件感兴趣的人都可以有一个良好的开端。
参考文献
[1]: https://leg-assembly.com/
[2]: https://www.amazon.com/Blue-Fox-Assembly-Internals-Engineering-ebook/dp/B0C2B5SLYM
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。