使用 iNalyzer 分析应用程序

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 等几大类的信息。

图片 15.1 inalyzer1

在 Classes->Class Hierarchy 可以查看到类继承图示。 支付宝 app class Hierarchy 结果冰山一角:

图片 15.2 inalyzer2

Comments