15 使用 iNalyzer 分析应用程序
好想用 doxygen
画 iOS app 的 class
继承关系。
有没有比 class-dump-z 更直观的分析工具?
利器 iNalyzer
隆重登场~
iNalyzer 的安装
在 iPhone 端:
1)进入 cydia
添加源 http://appsec-labs.com/cydia/
2)搜索 iNalyzer
并安装
Doxygen 和 Graphviz 的安装
在 Mac 端:
brew install oxygen graphviz
解密支付宝 App
查看可解密的 App
1
2
3
4
5
| cd /Applications/iNalyzer5.app
./iNalyzer5
usage: ./iNalyzer5 [application name] [...]
Applications available: Portal Tenpay
|
解密支付宝 App
1
2
3
4
5
6
7
8
9
10
11
12
13
| ./iNalyzer5 Portal
got params /var/mobile/Applications/4763A8A5-2E1D-4DC2-8376-6CB7A8B98728/Portal.app/ Portal.app 800 iNalyzer is iNalyzing Portal...
iNalyzer:crack_binary got /var/mobile/Applications/4763A8A5-2E1D-4DC2-8376-6CB7A8B98728/Portal.app/Portal /tmp/iNalyzer5_3f0d8773/Payload/Portal.app/Portal Dumping binary...helloooo polis?
helloooo polis?
iNalyzer:Creating SnapShot into ClientFiles
iNalyzer:SnapShot Done
iNalyzer:Population Done
iNalyzer:Dumping Headers
iNalyzer:Patching Headers
/bin/sh: /bin/ls: Argument list too long
ls: cannot access *_fixed: No such file or directory
/var/root/Documents/iNalyzer/支付宝钱包-v8.0.0.ipa
|
将解密后的 ipa 拷贝到本地
修改 doxMe.sh 脚本
解压 ipa, cd 到 /支付宝钱包-v8.0.0/Payload/Doxygen
下找到 doxMe.sh
1
2
3
| #!/bin/sh
/Applications/Doxygen.app/Contents/Resources/doxygen dox.template && open ./html/index.html
|
我们是通过 brew
安装的 doxygen
,所以修改脚本为:
1
2
3
| #!/bin/sh
doxygen dox.template && open ./html/index.html
|
执行 doxMe.sh 脚本
./doxMe.sh
完成后浏览器会自动 open 生成的html
文件
查看信息
通过 index.html 我们可以直观的查看到 Strings analysis
, ViewControllers
,Classes
等几大类的信息。
在 Classes->Class Hierarchy 可以查看到类继承图示。
支付宝 app class Hierarchy
结果冰山一角: