|
|
| ### CydiaHook |
|
|
| 利用Cydia Substrate SDK 開發(fā),可以HOOK java層或NATIVE層 API接口。 |
|
|
| ### 本代碼功能 |
| 寫代碼的初衷是因為有個app,需要保存數(shù)據(jù)到SD卡上,并且app里面有判斷SD掛載的狀態(tài)。沒有SD卡,會造成程序邏輯有問題,很多功能無法正常使用,而我的手機沒有裝SD卡。 |
|
|
| 另外這種HOOK方式也有助于調(diào)試程序,不必因為修改ROM底層,而引起手機變磚,簡便好用,目前Cydia Substrate在某些手機中可能會有不穩(wěn)定的情況,我測試的機型是ZTE U969,還找不到相關(guān)ROM。 |
|
|
| - HOOK android.os.Environment.getExternalStorageState(),強制返回,已掛在狀態(tài)。 |
| - 執(zhí)行mount bind 掛載可以讀寫目錄到 SD卡的路徑,每個終端方案商的掛載點都可能不同,請根據(jù)自己的情況,修改成正確的掛載點路徑。 |
| - 可以根據(jù)自身需要,修改掛載實現(xiàn)函數(shù),可以HOOK framework中的任何API。在Main.java里,比如IMEI,GPS模擬等等。 |
|
|
| ### 準(zhǔn)備工作 |
|
|
| - ROOT過的手機一部,沒有ROOT的,請自行搜索方法。 |
| - Eclipse 上安裝 Android Substrate SDK, |
|
|
| - 手機端去Google Play 下載安裝 Cydia Substrate |
| - Eclipse 導(dǎo)入本代碼,編譯后安裝到手機。 |
| - 手機上運行Substrate,界面上點擊“Link Substrate Files”,再點擊 “Restart System(Soft)” |
| - 通過CydiaHook,查看掛載路徑和狀態(tài)。 |
|
|
|
|
|
|
| --- |
|
|
| ### cydia-android-hook |
| Cydia Substrate demo, hook getExternalStorageState, always return MOUNTED status. |