逆向APP的思路
1.界面分析
Cycript、Reveal
2.代码分析
对Mach-O文件的静态分析
MachOView、class-dump、Hopper Disassembler、ida等
3.动态调试
对运行中的APP进行代码调试
debugserver、LLDB
4.代码编写
注入代码到APP中
必要时还可能需要重新签名、打包ipa
PS: Reveal->识别 UIView 的层级结构
-
1. 去下载Reveal4.0以上版本(支持USB调试),并破解(网上有教程)
-
2. 调试环境配置
-
2.1 软件源:http://apt.so/codermjlee
-
2.2 安装完Reveal Loader后,打开手机【设置】,找到Reveal->Enabled Applications->选择需要调试的APP
-
2.3 找到Mac的Reveal中的RevealServer文件,并覆盖iPhone中的/Library/RHRevealLoader/RevealServer文件
-
2.3.1 Reveal导航栏中Help -> Show Reveal Library in Finder -> iOS Library
-
2.3.2 重启手机:reboot
-
3.0 这下打开手机&Reveal就可以实时看到APP的结构
PS:Cycript->识别 控制器 的层级结构
推荐Mj的一个开源库mjcript
- ting是应用的进程名
~ root# cycript -p ting
- 进入cy环境(cmd+r清屏==clear,)
cy# @import mjcript
{}
cy# MJChildVcs(MJRootVc())
{}