我正在開發針對越獄iOS設備的應用程序。它有助於自動執行一些任務。我需要在/ private/var/mobile/Library中創建一個簡單的文本文件(實際上是一個.lua文件)。顯然,調試器會拋出拒絕訪問異常。目前該應用程序被命名爲'CreateFile'用於測試。iOS應用程序的root權限
我已經嘗試以下步驟來獲得root訪問權限:
- 構建應用程序正常運行。
- 在應用程序包中創建可執行文件的副本。
打開原始的可執行文件,並替換其內容與此腳本:
#!/bin/bash dir=$(dirname "$0") exec "${dir}"/CreateFile "[email protected]"
直接啓動iOS上的根應用失敗。因此,我們用啓動根可執行文件的腳本替換應用程序的主要可執行文件。
在終端中,導航至應用程序包。
chmod 0775
原始可執行文件和chmod 6775
複製的可執行文件。- 將應用程序包複製到/應用程序到設備。重新啓動SpringBoard,你應該很好去。如果應用程序未啓動,請在設備上重複步驟5 & 6。
使用此方法,我可以成功地將應用程序安裝到/ Applications文件夾並使其啓動,但是我期望我仍然沒有root權限,因爲只要應用程序嘗試執行寫入操作,它就會崩潰。
如果有人能對這種情況有所瞭解,我將不勝感激!
編輯:
@creker的建議做了一些額外的測試。當我嘗試在應用程序文檔等允許的目錄中創建文件時,它創建得很好,沒有問題。因此,我確信文件創建不會導致崩潰,並且它完全是不可訪問的文件夾路徑。
同樣在@creker的建議我嘗試安裝應用程序/應用程序沒有任何啓動腳本。該應用程序崩潰後打開這種方式。如果我在安裝後將應用程序可執行文件chmod設置爲775,則應用程序將打開,但在嘗試創建文件時仍會崩潰。
我從崩潰記者那看着系統日誌。這裏是死機線:
System.UnauthorizedAccessException: Access to the path "/private/var/mobile/Library/test.txt" is denied
仍然希望能夠解決這個問題,任何想法都歡迎!
你不需要根權限來在'/ var/mobile/Library'中創建一個文件。 '/ var/mobile'是'mobile'用戶的主目錄。除非您受到沙箱規則的限制,否則該目錄是完全可訪問的。 – creker
然後,我必須受到沙箱規則的限制,因爲我在嘗試寫入該目錄時遇到訪問被拒絕的違規行爲。是否有任何不同的步驟? – Kikootwo
不,你只需要在'/ Applications'目錄下。你甚至不需要啓動腳本。也許你的應用崩潰的原因不同。 – creker