如何在非越獄下查看別人的App UI結(jié)構(gòu)

如何非越獄下 查看App UI結(jié)構(gòu)

網(wǎng)上還是有很多各種個樣的方法解決這個問題。
其中我介紹一種高級的。
首先,感謝AloneMonkey的MonkeyDev。它是什么呢?這是一款Xcode 新建 Hook 的工程模板。

模版.png

iOSOpenDev

說到MonkeyDev 必須提一下iOSOpenDev。
iOSOpenDev網(wǎng)站:http://www.iosopendev.com/
iOSOpenDev主要因為年久失修。所以AloneMonkey大神基于iOSOpenDev的底層重構(gòu)了它。

MonkeyDev

原有iOSOpenDev的升級,非越獄插件開發(fā)集成神器!

*可以使用Xcode開發(fā)CaptainHook Tweak、Logos Tweak 和 Command-line Tool。

*只需拖入一個砸殼應用,自動集成class-dump、restore-symbol、Reveal、Cycript和注入的動態(tài)庫并重簽名安裝到非越獄機器。

*支持調(diào)試自己編寫的動態(tài)庫和第三方App

*支持通過CocoaPods第三方應用集成SDK以及非越獄插件,簡單來說就是通過CocoaPods搭建了一個非越獄插件商店。

安裝前MonkeyDev環(huán)境要求

安裝ldid,Dpkg

在越獄開發(fā)中,iOS文件的簽名是使用ldid工具來完成的,也就是說ldid取代了Xcode自帶的Codesign
Dpkg是Debian(Linux)軟件包管理器的基礎。

brew install dpkg ldid

上述使用homebrew安裝,如果沒homebrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

安裝 theos

Theos是一個越獄開發(fā)工具包

sudo git clone --recursive https://github.com/theos/theos.git /opt/theos

路徑是/opt/theos

/opt/theos的權(quán)限改為自己所擁有的

sudo chown $(id -u):$(id -g) /opt/theos

打開~/.bash_profile

vim ~/.bash_profile

把下面的兩行代碼加入

export THEOS=/opt/theos
export PATH=/opt/theos/bin/:$PATH

更新bash_profile

source ~/.bash_profile

MonkeyDev

MonkeyDev 安裝很簡單
如果你有多個XCode請注意,選擇指定的XCode。

sudo xcode-select -s /Applications/Xcode.app 

默認安裝的Xcode

xcode-select -p

終于要安裝MonkeyDev了

sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/AloneMonkey/MonkeyDev/master/bin/md-install)"

至此,大功告成!
重啟XCode就有了MoneyDev了,可以愉快的玩耍了。

使用

安裝完成之后,打開Xcode,點擊File - New - Project...,選擇iOS滑動到最下方可以看到MonkeyDev提供的模塊:

選擇MonkeyApp

MonkeyApp.png

填寫Product Name,Team

Target App 是在越獄下使用 這里不涉及,略過。


9A93EAFC-3154-4DF7-A73D-DAF2A1250D08.png

然后進入XCode工作頁面


37D685FA-6238-4915-AA71-D1180D2F39FF.png

先看Target App
上面有提示:put ipa or app here
也就是把我們的目標的app的ipa或者可執(zhí)行文件放進去。
這里的App需要砸殼后的ipa。一般我建議大家從PP助手或者其他第三方獲取。但是不能保證全部都是砸了殼的。樓主第一次用的1.8M的小型app竟然沒有砸殼,以至于之前一直build失敗。

HookJDAppDylib是將被注入到目標app的動態(tài)函數(shù)庫,標記重要。以后我們自己寫的hook代碼可以放在里面寫。AloneMonkey大神寫了Demo,感謝。 fishhook是C函數(shù)。

創(chuàng)建的項目已經(jīng)自動集成了RevealServer.framework和libcycript.dylib,如果選擇Release編譯的話是不會集成的。

填坑:從網(wǎng)上下載了Reveal破解版,與AloneMonkey大神的reveal的最新版不匹配。怪我沒看仔細,哭。
原文如下:

集成的RevealServer.framework是最新版本的,所以你可能需要最新的Reveal,
否則使用自己的RevealServer.framework替換掉
/opt/MonkeyDev/frameworks下面的RevealServer.framework。

必須是真機

然后就是Build了。

來個效果圖:


C55C327D-291A-4BA0-B167-7083907182D9.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容