Frida Android SO逆向深入实践
从基础到深入,使用Frida揭示原生App的逆向、分析和破解之奥秘!

作者:陈佳林

定价:149元

印次:1-2

ISBN:9787302645597

出版日期:2023.10.01

印刷日期:2024.06.17

图书责编:王金柱

图书分类:零售

电子书
在线购买
分享
内容简介
作者简介
前言序言
资源下载
查看详情 查看详情 查看详情

《Frida Android SO逆向深入实践》主要介绍使用Frida辅助分析SO进行逆向工程项目开发。首先从基础开始介绍NDK编译套件,开发编译包含SO的应用软件并进行动静态分析调试;接着介绍如何将算法移植到SO中保护App,并使用模拟执行框架加载SO运行算法,使用GDB、HyperPwn、Objection、Frida联合调试SO中的算法;此外,还将介绍ARM/ELF的文件格式和反编译工具IDA,Frida/Jnitrace Hook/Invoke JNI,JNI与反射及简单风控案例设计分析,onCreate的Native化,分析Android源码追踪JNI的绑定流程。最后介绍哈希和对称加解密算法的核心原理与实现细节,以及使用Frida辅助逆向分析的工作流程。 《Frida Android SO逆向深入实践》按照由易到难、由浅入深的方式进行讲解,适合Native层的初、中级读者阅读。

"陈佳林,看雪论坛版主,看雪讲师,在移动安全领域经验丰富,多次主持银行、电信、政府及行业部门培训并参与安全研究项目。在看雪安全开发者峰会、GeekPwn发表主题演讲。在看雪、安全客、Freebuf发表大量技术文章,目前就职于看雪科技,负责移动应用安全研究,看雪《安卓高级研修班》负责人,著有《安卓Frida逆向与抓包实战》、《安卓Frida逆向与协议分析》"

前 言 熟悉笔者的读者都知道,2021年出版的《安卓Frida逆向与抓包实战》和2022年出版的《安卓Frida逆向与协议分析》主要介绍了Frida框架在Android平台Java层的工作和作用,包括但不限于Hook、抓包、算法还原、协议分析等领域。Frida框架独特的自动化和规模化逆向功能大大提高了安全从业者的工作效率。它可以使用Python、JavaScript等语言搭建综合性应用安全审计和隐私监控框架。据笔者所知,老牌的安全工具MobSF和Inspackage都将其主要核心动态分析监控代码由Xposed转移到了Frida,足以说明Frida已经成为事实上Java层分析的第一工具。 与此同时,安卓移动端还有很多应用使用C/C++语言进行开发,将逻辑和算法打包进应用包中。这样做带来的好处是: (1)运行效率和速度的显著提升。相比Java语言的虚拟机解释执行,C/C++语言编译生成的SO文件是直接运行在CPU上的,减少了解释执行的效率损耗,从而使运行速度得到质的提升。例如,我们常用的微信语音和视频功能都是由C/C++代码开发的,这样在较旧的手机上也能有不错的性能表现。 (2)更加安全。Java语言生成的Dex几乎没有安全性可言,一旦被反编译器反编译,其源码几乎等同于完全暴露。相比之下,C/C++语言反编译起来难度较大,即使生成的伪代码也晦涩难懂。此外,经过多年的发展,C/C++代码保护工具和技术更为成熟,例如花指令、强大的混淆、虚拟机等,将算法与逻辑实现放到C/C++代码中可以劝退大多数新手。 因此,安全工具和安全产品几乎全都是由C/C++代码开发的,先将代码编...

目录
荐语
查看详情 查看详情
目    录

第1章  基本开发环境配置 1

1.1  虚拟机环境搭建 1

1.2  逆向环境搭建 3

1.2.1  Android Studio安装NDK编译套件 3

1.2.2  ADB的配置和使用 5

1.2.3  Python版本管理 6

1.2.4  移动设备环境准备 7

1.2.5  Frida版本管理 7

1.2.6  Objection的安装和使用 8

1.3  Frida基本源码开发环境搭建 10

1.4  初识NDK 12

1.5  其他工具 16

1.6  本章小结 18

第2章  Android SO动态调试入门 19

2.1  Android SO基本动态分析调试 19

2.1.1  第一个NDK程序 19

2.1.2  动态调试NDK程序 20

2.1.3  交叉编译 24

2.2  LLDB动态调试(三方)Android SO 27

2.3  Capstone/Keystone/Unicorn(反)汇编器 30

2.4  Frida动态调试Android Native部分 32

2.5  Frida Instruction模块动态反汇编 32

2.6  本章小结 34

第3章  静态分析工具的安装和基本使用 35

3.1  使用objdump反汇编目标文件命令显示二进制文件信息 35

3.2  使用010 Editor解析SO文件显示二进制基本信息 38

3.3  Ghidra/JEB/IDA高级反汇编器 40

3.4  Binary Ninja新晋反汇编器 47

3.5  本章小结 51 ... 查看详情

"《Frida Android SO逆向深入实践》是一本针对使用Frida辅助分析SO进行逆向工程项目开发的实用指南。本书从基础开始,详细介绍了NDK编译套件的使用以及如何开发包含SO的应用软件并进行分析调试。接着,书中介绍了将算法移植到SO中保护App的方法,并展示了如何使用模拟执行框架加载SO运行算法,同时结合GDB、HyperPwn、Objection和Frida进行联合调试SO中的算法。

此外,本书还深入探讨了ARM/ELF的文件格式和反编译工具IDA,详细介绍了Frida/Jnitrace Hook/Invoke JNI,以及JNI与反射及简单风控案例设计分析。对于onCreate的Native化也进行了解析,帮助读者更好地理解Android源码追踪JNI的绑定流程。

最后,本书还全面介绍了哈希和对称加解密算法的核心原理与实现细节,并展示了使用Frida辅助逆向分析的工作流程。通过由易到难、由浅入深的讲解方式,本书适合Native层的初、中级读者阅读。无论您是对逆向工程感兴趣的初学者,还是有一定经验的开发者,本书都将为您带来全新的视角和实用的技巧,助力您在逆向工程领域取得更大的突破。
"

查看详情