一、前言
准备利用工作之余,把自己学到iOS安全知识自己做个总结,也留个记录,目录结构暂且如下,后续也有可能根据情况更改,也当是把平常工作中的点点滴滴记录下来。
第一章:工具篇
1.1 MACH-O 操作工具
1.1.1 otool
1.1.2 MachoView
1.1.3 class-dump
1.1.4 optool
1.1.6 restore-symbol
1.2 静态分析工具
1.2.1 Hopper Disassembler
1.2.2 IDA
1.3 动态调试工具
1.3.1 debugeserver
1.3.2 lldb 插件
1.3.2 cycript
1.3.3 Reveal
1.4 砸壳工具
1.4.1 dumpdecrypted
1.4.2 frida-iOS-dump
1.4.3 CrackerXI
1.5 静态 PATCH&&HOOK
1.5.1 MonkeyDev
1.6 网络抓包工具
1.6.1 charles、Fiddler
1.6.2 rvictl+<wireshark、tcpdump>
1.7 其他辅助工具
1.7.1 控制台(MacOS)
1.7.2 fsmon_iOS(文件监视工具)
1.7.3 codesign、ldid
第二章:MACH-O 文件格式
2.1 Macho 文件格式概述
2.2 Macho 文件常用操作
2.2.1 修改 ASLR(只支持 amv7)
2.2.2 去除__restrict section
2.2.3 提取 指定Segment和Section
2.2.4 插入 dylib 或者 Framework
2.2.5 增加或修改Segment和Section
第三章:iOS 系统安全机制
第四章:越狱开发环境搭
4.1 iOS 不同系统的越狱
4.2 用 MONKEYDEV 实现越狱开发
第五章:ARM 汇编初识
5.1 指令的类似学习
第六章:iOS 开发语言以及常见算法的逆向特征
6.1 C 和 OC 混编程序的特征
6.2 SWIFT 程序的逆向特征
6.3 MD5 、SHA1、AES、DES、RSA 的逆向特征
第七章:实例逆向分析(攻)
7.1 分析各种保护手段
7.1.1 常见反调试方法分析
7.1.2 常见反越狱方法分析
7.1.3 常见反篡改方法分析
7.2 应用类 APP 代码逻辑分析
7.2.1 本地功能类破解
7.2.2 网络请求协议签名破解
7.2.3 软件漏洞挖掘
7.3 实例分析游戏资源保护以及功能
7.3.1 U3D 游戏资源加解密分析
7.3.2 Cocos2d 游戏资源加解密分析
7.3.3 H5 游戏资源加解密分析
第八章:如何保护自己的 APP(守)
8.1 反调试
8.2 反篡改
8.3 字符串加密
8.4 代码逻辑混淆
8.5 符号混淆
8.6 白盒加密算法
8.6 虚拟机保护
写在最后
如果目前成为不了巨人,就去思考如何站长巨人的肩膀