Reveal UI 分析工具分析手機 App

上篇文章介紹了: Reveal UI 分析工具簡單使用html

這裏介紹如何使用 Reveal UI 分析工具來進行手機 App UI 界面的分析。安全

 

前提準備:網絡

(1)已安裝 Reveal 的 Macapp

(2)已越獄的 iPhonessh

(3)良好的網絡環境工具

 

原理:post

回想起咱們使用 Reveal 來分析 iPhone 模擬器的 App 時,咱們是在 Xcode 的指定工程裏引用並加載 Reveal.framework 文件,從而當 App 運行時,打開 Reveal 選中鏈接當前 App 就能夠進行他的 UI 界面分析了。關鍵點就在於「指定工程裏引用並加載 Reveal.framework 文件」。測試

而手機 App 是已經部署到咱們手機裏了,咱們不可能對 App 的安裝包「動手腳」讓他能加載 Reveal 相關的文件,那咱們該怎麼辦呢?spa

 

這問題問得很好,然而咱們在越獄的 iPhone 裏,經過 iFile App 發現 iOS 存在共享動態庫的目錄「/Library/MobileSubstrate/DynamicLibraries」,存放在此目錄的.dylib 後綴文件能被 App 按需調用。那麼問題又來了,怎麼從 Mac 中拷貝 Reveal 相關的文件到 iPhone 的此目錄下呢?命令行

 

答案就是:先在 iPhone 中經過 Cydia App 安裝「OpenSSH」;而後在 Mac 的終端中,經過命令進行 SSH 協議的文件傳輸。

 

PS:OpenSSH 爲 WinSCP 依賴的基礎通信服務協議:OpenSSH 是一種普遍使用的 SSH 程序,SSH 就是 Secure Shell 的縮寫,既安全命令行,SSH 是一種能夠保證用戶遠程登陸到系統的協議,而 iOS 實際上就是一個基於 BSD 底層的 Linux 內核的定製 OS X 系統,因此能夠經過這個通信協議來遠程(非在本機)登陸已有 SSH 協議的設備,從而達到在 PC(Mac)上遠程輸入命令來操做 iOS 設備的目的。

接下來,讓咱們開始實踐吧。

 

步驟:

一、在 iPhone 上安裝 OpenSSH

  • 打開 iPhone 上的 Cydia

  • 選擇右下角的搜索,輸入 OpenSSH

  • 在搜索到的結果中選擇 OpenSSH

  • 點擊屏幕右上角的安裝

 

 

二、測試 Mac 是否能鏈接 iPhone

  • 讓 Mac 和 iPhone 處於同一 wifi 環境中

  • 在 Mac 終端輸入ssh root@IP(這個 IP 是 iPhone 上的 IP,好比個人 iPhone 上的 IP 爲 192.168.0.101,此時輸入命令是:ssh root@192.168.0.101)

  • 等待一會後,輸入密碼(無回顯操做),默認是 alpine(默認密碼建議不要改,但爲了安全考慮,能夠修改。具體操做看第3步)

  • 鏈接成功後,就能夠管理 iPhone 上的文件了

  • 輸入 exit 退出(咱們這裏只是測試一下能不能連上 iPhone)

 

三、修改 iPhone 的 root 和 mobile 帳戶密碼(注意:操做需很是謹慎,確保記住修改後密碼:例如我設置密碼爲本身易記的撥號帳戶)(可選操做)

1 //使用 root 帳戶登陸
2 ssh root@192.168.0.101
3 //輸入帳戶密碼登陸成功後,再輸入如下命令,而後按需輸入舊密碼和新密碼(無回顯),進行修改 root 帳戶密碼
4 passwd
5 //註銷登陸
6 exit
1 //使用 mobile 帳戶登陸;能夠考慮在 root 帳戶已登陸的狀況下,輸入「su - mobile」命令切換爲 mobile 帳戶登陸
2 ssh mobile@192.168.0.101
3 //輸入帳戶密碼登陸成功後,再輸入如下命令,而後按需輸入舊密碼和新密碼(無回顯),進行修改 mobile 帳戶密碼
4 passwd
5 //註銷登陸
6 exit

 

四、準備上傳文件

  • 打開 Reveal,點擊菜單欄上的 Help, 選擇 Show Reveal Library in Finder

  • 將 libReveal.dylib 拷貝到桌面,方便操做

  • 在桌面建立 libReveal.plist,輸入想分析的 App 的 BundleId,能夠多個。好比AppStore(其實能夠不輸入, 這時能分析全部的 App,可是機器會慢到你沒法想象,或者開機白蘋果啥的,建議仍是指定分析 App 比較好)

1 {      
2     Filter = {          
3         Bundles = (
4             "com.apple.AppStore"
5         );    
6     }; 
7 }

 

 

 

五、上傳文件到 iPhone(Mac 終端操做)

1 //上傳 libReveal.dylib 和 libReveal.plist 到 iPhone(192.168.0.101是 iPhone 上的 IP)
2 scp Desktop/libReveal.dylib root@192.168.0.101:/Library/MobileSubstrate/DynamicLibraries
3 scp Desktop/libReveal.plist root@192.168.0.101:/Library/MobileSubstrate/DynamicLibraries

 

六、重啓 iPhone(關機、開機進行重啓)

若是你成功的完成了上面的步驟,而且 iPhone 成功重啓,OK,下面就能夠分析 App 了。

  • 打開Reveal,打開 iPhone 上你指定的 App,在 Reveal 左上方選擇 App

  • 切換頁面後,能夠點擊 Reveal 右上角的刷新按鈕

相關文章
相關標籤/搜索