- 1
- 0
- 约20.01万字
- 约 376页
- 2026-01-12 发布于广东
- 举报
ARM
汇编与逆向工程
目录
TOC\h\h第一部分Arm汇编内部机制
\h第1章逆向工程简介
\h第2章ELF文件格式的内部结构
\h第3章操作系统基本原理
\h第4章Arm架构
\h第5章数据处理指令
\h第6章内存访问指令
\h第7章条件执行
\h第8章控制流
\h第二部分逆向工程
\h第9章Arm环境
\h第10章静态分析
\h第11章动态分析
\h第12章逆向arm64架构的macOS恶意软件
第一部分
Arm汇编内部机制
如果你刚从书架上拿起这本书,那么你可能对学习如何对已编译的Arm二进制文件进行逆向工程处理感兴趣,因为主要的技术供应商现在正在拥抱Arm架构。也许你是一位经验丰富的x86-64逆向工程师,但想要保持领先并更多地了解正在开始占据处理器市场的架构;也许你准备进行安全分析,以查找基于Arm的软件中的漏洞或分析基于Arm的恶意软件;也许你刚开始进行逆向工程,并且已经达到需要了解更深入的细节才能实现目标的阶段。
无论你在进入基于Arm的逆向工程领域的旅程中处于什么位置,本书都是为了让你为理解Arm二进制文件的语言做好准备,告诉你如何分析它们,更重要的是,让你为使用未来的Arm架构的设备做好准备。
学习汇编语言和如何分析编译后的软件在各种应用中都很有用。就像学习每一种新的技能一样,学习语法在开始的时候也会很困难,但随着不断地学习,会越来越轻松。
在本书的第一部分中,我们将着眼于Arm主要的Cortex-A架构(特别是Armv8-A)的基础知识以及在对为该平台编译的软件进行逆向工程时会遇到的主要指令。在本书的第二部分中,我们将探讨逆向工程的一些常见工具和技术。我们还将通过实际示例(包括如何分析为苹果M1芯片编译的恶意软件)展示不同应用程序的基于Arm的逆向工程,以激发你的灵感。
第1章
逆向工程简介
1.1汇编简介
如果你正在翻阅本书,那么你可能已经听说过Arm汇编语言,并且知道理解它是分析在Arm上运行的二进制文件的关键。但这种语言是什么,为什么会有这种语言?毕竟,程序员通常使用C/C++等高级语言来编写代码,几乎没有人会直接用汇编语言来编程。因为对于程序员来说,使用高级语言编程更加方便。
不幸的是,这些高级语言对于处理器来说过于复杂,无法直接解析。程序员需要将这些高级程序编译成处理器能够运行的二进制机器码。
这种机器码并不完全等同于汇编语言。如果你直接在文本编辑器中查看它,会发现它看起来非常难理解。处理器也不会直接运行汇编语言,处理器只运行机器码,那么,为什么汇编语言在逆向工程中如此重要呢?
为了理解汇编语言的用途,让我们快速回顾一下计算机发展历史,了解一下计算机是如何达到现在的状态的,以及所有事物是如何互相联系的。
1.1.1位和字节
在计算机发展的早期,人们决定创建计算机并让它们执行简单的任务。计算机不会说我们人类的语言——毕竟,它们只是电子设备——因此我们需要一种电子通信方式。在底层,计算机是通过电信号运作的,这些信号是通过在两个电压水平之间进行切换(开和关)来形成的。
第一个问题是,我们需要一种方法来描述这些“开”和“关”,才能将它们用于通信、存储和简单的系统状态。既然有两种状态,那么使用二进制系统对这些值进行编码是非常自然的。每个二进制位可以是0或1。尽管每个位(bit)只能存储尽可能小的信息量,但将多个位串联在一起可以表示非常大的数字。例如,数字30284334537只需要35位就可以表示出来,如下所示:
这个系统已经允许对比较大的数字进行编码,但现在我们面临一个新的问题:在内存(或磁带)中,一个数字在哪里结束,下一个数字从哪里开始?对于现代读者来说,这可能是一个奇怪的问题,但在计算机刚刚被设计出来的时候,这是一个严重的问题。最简单的解决方案是创建固定大小的位分组。计算机科学家从不想错过一个好的命名双关语,他们将这组二进制位称为字节。
那么,一个字节应该有多少位?对于现代人来说,这个问题的答案似乎是显而易见的,因为我们都知道一个字节是8位。但并非一开始就是这样的。
最初,不同的系统对其字节中的位数做出了不同的选择。我们今天知道的8位字节的前身是6位二十进制交换码(BinaryCodedDecimalInterchangeCode,BCDIC)格式,用于表示早期IBM计算机(如1959年的IBM1620)的字母数字信息。在此之前,字节的长度通常为4位,更早的时候,一个字节代表大于1的任意位数。直到IBM于20世纪60年代在其大型计算机产品线System/360中引入8位扩充的二十进制交换码(E
您可能关注的文档
- AI如何重塑教育.doc
- AI写作(用AI倍速提升写作效率).doc
- Frida中文文档完整版.doc
- unidbg逆向工程(原理与实践).doc
- 2026届辽宁沈阳高三上学期一模物理试卷+答案.doc
- (大连一模)辽宁大连2025-2026学年高三上学期双基模拟考试题化学含答案.doc
- (大连一模)辽宁大连2025-2026学年高三上学期双基模拟考试题生物含答案.doc
- 江西创智协作体2026年元月高三联合调研考试化学含答案.doc
- 江西创智协作体2026年元月高三联合调研考试生物含答案.doc
- 江西创智协作体2026年元月高三联合调研考试数学含答案.doc
- 安徽省华师联盟2025-2026学年高三上学期1月质量检测生物试卷+答案.doc
- 安徽省华师联盟2025-2026学年高三上学期1月质量检测语文试卷+答案.doc
- 四川省绵阳南山中学实验学校2025-2026学年高三上学期1月月考数学含答案.doc
- 2026届辽宁省大连市高三上学期双基考试物理试卷+答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测化学含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测生物含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测英语含答案.doc
- 辽宁名校联盟2026年1月高三上期末联考质量检测政治含答案.doc
- 黑龙江省龙江教育联盟2026年1月高三上学期期末考试化学含答案.doc
- 黑龙江省龙江教育联盟2026年1月高三上学期期末考试生物含答案.doc
最近下载
- 2025届福建省厦门市思明区小学三年级上学期科学试题及答案.docx
- 2025生产安全事故伤害损失工作日判定.docx
- 金融工程深度报告:股票关联与溢出效应因子构建-中信建投证券-0页.pdf VIP
- 常州纺织服装职业技术学院单招《数学》练习题【学生专用】附答案详解.docx VIP
- 中药涂擦疗法操作规范学习培训课件.pptx VIP
- 福建教育学院 石修银【特级教师】.ppt VIP
- 古诗词诵读 《虞美人》课件 (共24张PPT)统编版高中语文必修上册.ppt.pptx VIP
- 小规模经营网约房管理规范及编制说明.pdf
- 支委候选人初步人选考察谈话记录.docx VIP
- 2025年北师大版高中数学数学建模实战试卷.docx VIP
原创力文档

文档评论(0)