iOS逆向思路

/ 0评 / 1

iOS逆向流程图

界面分析

通过 Cycript 在终端对 APP 进行分析、或者通过 GUI 工具 Reveal 直观分析界面。

代码分析

iOS开发中,所有的代码最终都会经过编译生成 Mach-O 文件,所以我们需要对 Mach-O 文件进行静态分析,可以使用 class-dumpMachOViewHopper Disassemblerida 等工具。

MachOView

使用 MachOView 可视化查看 Mach-O 文件的结构。

下载地址:https://github.com/mythkiven/MachOView

class-dump

可以把 Mach-O 文件的 class 信息给 dump 出来(把类信息给导出来),生成对应的.h头文件。

下载地址:http://stevenygard.com/projects/class-dump/

下载完工具包后,将 class-dump 文件拷贝到 /usr/local/bin 目录,这样终端就能识别 class-dump 命令了。

class-dump -H Mach-O文件路径 -o 头文件存放目录

如果工程里有 Swift 代码,官方地址下载的 class-dump 可能会报错,可以网上重新找别人修改过的,比如:https://github.com/lerpo/class-dump

Hopper Disassmbler

可以把 Mach-O 文件的机器代码反编译成汇编代码、OC 伪代码或 Swift 伪代码。

常用快捷键:

Shift + Option + X  # 找出哪里引用了当前方法

动态调试

对运行中的 APP 进行代码调试,使用 LLDBdebugserver

代码编写

进行完界面分析、代码分析和动态调试之后,我们可以在特定位置注入我们写的代码,必要时可以重新签名并打包 ipa 安装包。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注