上篇文章介紹了: Reveal UI 分析工具簡單使用
這里介紹如何使用 Reveal UI 分析工具來進行手機 App UI 界面的分析。
前提準備:
(1)已安裝 Reveal 的 Mac
(2)已越獄的 iphone
(3)良好的網絡環(huán)境
原理:
回想起我們使用 Reveal 來分析 iPhone 模擬器的 App 時,我們是在 Xcode 的指定工程里引用并加載 Reveal.framework 文件,從而當 App 運行時,打開 Reveal 選中連接當前 App 就可以進行他的 UI 界面分析了。關鍵點就在于「指定工程里引用并加載 Reveal.framework 文件」。
而手機 App 是已經部署到我們手機里了,我們不可能對 App 的安裝包“動手腳”讓他能加載 Reveal 相關的文件,那我們該怎么辦呢?
這問題問得很好,然而我們在越獄的 iPhone 里,通過 iFile App 發(fā)現 iOS 存在共享動態(tài)庫的目錄「/Library/MobileSubstrate/DynamicLibraries」,存放在此目錄的.dylib 后綴文件能被 App 按需調用。那么問題又來了,怎么從 Mac 中拷貝 Reveal 相關的文件到 iPhone 的此目錄下呢?
答案就是:先在 iPhone 中通過 Cydia App 安裝「OpenSSH」;然后在 Mac 的終端中,通過命令進行 SSH 協(xié)議的文件傳輸。
PS:OpenSSH 為 WinSCP 依賴的基礎通訊服務協(xié)議:OpenSSH 是一種廣泛使用的 SSH 程序,SSH 就是 Secure Shell 的縮寫,既安全命令行,SSH 是一種可以保證用戶遠程登錄到系統(tǒng)的協(xié)議,而 iOS 實際上就是一個基于 BSD 底層的 linux 內核的定制 OS X 系統(tǒng),所以可以通過這個通訊協(xié)議來遠程(非在本機)登錄已有 SSH 協(xié)議的設備,從而達到在 PC(Mac)上遠程輸入命令來操作 iOS 設備的目的。
接下來,讓我們開始實踐吧。
步驟:
1、在 iPhone 上安裝 OpenSSH
打開 iPhone 上的 Cydia
選擇右下角的搜索,輸入 OpenSSH
在搜索到的結果中選擇 OpenSSH
點擊屏幕右上角的安裝
2、測試 Mac 是否能連接 iPhone
讓 Mac 和 iPhone 處于同一 wifi 環(huán)境中
在 Mac 終端輸入ssh root@IP(這個 IP 是 iPhone 上的 IP,比如我的 iPhone 上的 IP 為 192.168.0.101,此時輸入命令是:ssh [email protected])
等待一會后,輸入密碼(無回顯操作),默認是 alpine(默認密碼建議不要改,但為了安全考慮,可以修改。具體操作看第3步)
連接成功后,就可以管理 iPhone 上的文件了
輸入 exit 退出(我們這里只是測試一下能不能連上 iPhone)
3、修改 iPhone 的 root 和 mobile 賬戶密碼(注意:操作需非常謹慎,確保記住修改后密碼:例如我設置密碼為自己易記的撥號賬戶)(可選操作)
1 //使用 root 賬戶登錄2 ssh root@192.168.0.1013 //輸入賬戶密碼登錄成功后,再輸入以下命令,然后按需輸入舊密碼和新密碼(無回顯),進行修改 root 賬戶密碼4 passwd5 //注銷登錄6 exit
1 //使用 mobile 賬戶登錄;可以考慮在 root 賬戶已登錄的情況下,輸入「su - mobile」命令切換為 mobile 賬戶登錄2 ssh mobile@192.168.0.1013 //輸入賬戶密碼登錄成功后,再輸入以下命令,然后按需輸入舊密碼和新密碼(無回顯),進行修改 mobile 賬戶密碼4 passwd5 //注銷登錄6 exit
4、準備上傳文件
打開 Reveal,點擊菜單欄上的 Help, 選擇 Show Reveal Library in Finder
將 libReveal.dylib 拷貝到桌面,方便操作
在桌面創(chuàng)建 libReveal.plist,輸入想分析的 App 的 BundleId,可以多個。比如AppStore(其實可以不輸入, 這時能分析所有的 App,但是機器會慢到你無法想象,或者開機白蘋果啥的,建議還是指定分析 App 比較好)
1 { 2 Filter = { 3 Bundles = (4 "com.apple.AppStore"5 ); 6 }; 7 }
5、上傳文件到 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/DynamicLibraries3 scp Desktop/libReveal.plist root@192.168.0.101:/Library/MobileSubstrate/DynamicLibraries
6、重啟 iPhone(關機、開機進行重啟)
如果你成功的完成了上面的步驟,并且 iPhone 成功重啟,OK,下面就可以分析 App 了。
打開Reveal,打開 iPhone 上你指定的 App,在 Reveal 左上方選擇 App
切換頁面后,可以點擊 Reveal 右上角的刷新按鈕
新聞熱點
疑難解答