iOS 越獄(Jailbreak)是獲取 iOS 設備的 Root 權限的一個技術。 通過一些越獄工具可以完成越獄前不可能進行的動作,例如安裝 App Store 以外未經過簽名的 Apps、修改 SpringBoard 安裝主題、運行 Tweak 或 Shell 程式。對於開發者來說,越獄後的設備就能夠 hook 進 iOS 系統中所有的 class,來更改或控制一些 iDevice 的內建功能。而越獄社群中也有類似 App Store 的生態,開發者們透過 theos 開發工具開發 tweak 並上架到 Cydia Store 中提供給使用者安裝使用,這些 Tweak 都依賴一個叫 Cydia Substrate 的動態連結函式庫,它的主要功能是提供方法 hook 某個 App,修改程式碼或替換其中的 method 實作。 在本次的主題中,將會簡單介紹如何開發一個簡易的 iOS Tweak,並將這個 Tweak 部署到 iOS 設備上: - 工具,環境介紹 - Method Swizzling - 一個簡單的 Tweak - Tweak 部署 - Tweak 可以做什麼? iOS 逆向工程及越獄開發 - iPlayground 2018Read less