原文地址:http://blog.csdn.net/yiyaaixuexi/article/details/18968125
好想用 doxygen 画iOS app的class继承关系。
有没有比 class-dump-z 更直观的分析工具?
利器 iNalyzer 隆重登场~
一、iNalyzer的安装
在iPhone端:
1)进入cydia添加源 http://appsec-labs.com/cydia/
2)搜索 iNalyzer 并安装
二、Doxygen和Graphviz的安装
在Mac端:
brew install doxygen graphviz
三、解密支付宝app
1)查看可解密的app
- cd /Applications/iNalyzer5.app
- ./iNalyzer5
- usage: ./iNalyzer5 [application name] [...]
- Applications available: Portal Tenpay
2)解密支付宝app
- ./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
- #!/bin/sh
- /Applications/Doxygen.app/Contents/Resources/doxygen dox.template && open ./html/index.html
我们是通过brew安装的 doxygen,所以修改脚本为:
- #!/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 结果冰山一角: