iOS-Security[13]-总结

iOS 逆向分析方法总结。

iOS 逆向分析的方法分为两种类型,一种是静态分析(Static Analyze),一种是动态分析(Dynamic Analyze),可以构建起一个自顶向下的工具体系。

静态分析

静态分析是指在非运行时对 App 进行分析,包含分析其文件结构,通过反汇编工具分析 App 的二进制源码等。

动态分析

动态分析是指在运行时对 App 进行分析,包含通过调试工具进行动态调试,分析其数据库操作,网络请求,进行内存修改,方法替换等。

自顶向下

逆向分析工具的自顶向下体系:

iOS-Security[1]-远程登录:远程登录使用的协议 SSH 以及类文件夹处理工具 Cyberduck;

iOS-Security[2]-界面解析:界面解析和调试工具 Reveal;

iOS-Security[3]-破解:对 App Store 下载的 IPA 进行破解的工具 Clutch;

iOS-Security[4]-调试:利用 DebugServer 以及 LLDB 进行远程调试。;

iOS-Security[5]-修改:Cycript 是一款支持 OC 和 JS 混合语法,可用于动态修改 App 行为的工具。Snoop-it 是一款可以动态分析以及黑盒安全测试的工具;

iOS-Security[6]-头文件:Class-dump 是一款可以从可执行文件(Mach-O)中导出 OC 头文件的工具;

iOS-Security[7]-反汇编:Hopper Disassembler 和 IDA 是两款可以将执行文件(Mach-O)反汇编的工具;

iOS-Security[8]-插件开发:Theos 是一款越狱开发工具包;

iOS-Security[9]-综合工具:Introspy 是一款可用于分析 App 行为的开源黑盒工具。

iOS-Security[10]-数据存储:数据存储常用的方式有 NSUserDefaults, KeyChain 以及 CoreData 等,在特定条件下,这些方式都不安全。

iOS-Security[11]-网络请求:通过对网络流量进行分析,可以帮助我们分析 App 的网络行为。Wireshark, TcpDump, Burpsuite, SSL Kill switch 都是常用的分析工具。

iOS-Security[12]-防护:安全防护包含检测是否越狱,检测调试器依附,本地数据存储安全,网络通信安全等。