首先下載個iFile,可以用來直觀地查看iOS系統的目錄結構。
下面記錄一些關鍵的iOS目錄結構:
/var:“variable”的簡寫,存放一些經常更改的文件,例如日志、用戶數據、臨時文件等。其中/var/mobile/Applications下存放了所有App Store App。
/Applications:存放所有的系統App和來自Cydia的App,不包括App Store App。越獄的過程把/Applications變成了一個符號鏈接,實際指向/var/stash/Applications。
/Library:用來存放系統App的數據。其中/Library/MobileSubstrate中存放了所有基於MobileSubstrate的插件。
注:MobileSubstrate(手機基礎平台)是一個提供hook(注入)功能的基礎平台,運行在該平台上的插件通常稱為tweak(扭曲,改動)。
在/Library/MobileSubstrate下通常有3類文件:
(1)dylib:即Dynamic Library,也就是tweak插件。
(2)plist:用於配合dylib使用的filter文件,指定注入目標。其格式為:
Filter = {
Bundles = (com.apple.springboard);
};
(3)disabled:被SBSettings禁用的tweak文件,事實上就是將dylib文件改了個後綴,不讓MobileSubstrate加載而已。
/System:包含了大量的系統組件。 其中/System/Library/Frameworks和/System/Library/PrivateFrameworks存放iOS中的各種framework,包括公開的和私有的等等。
/System/Library/CoreServices裡的SpringBoard.app就是桌面管理器。
/System/LIbrary/PreferenceBundles:其中的各種bundle提供了“設置”中的絕大多數功能。
/User:實際指向/var/mobile。該目錄存放了大量的用戶數據,例如:
/var/mobile/Media/DCIM:照片目錄。
/var/mobile/Library/SMS:短信目錄。
/var/mobile/Library/Mail:郵件目錄。
/var/wireless/Library/CallHistory:通話記錄。貌似在iPod上沒有這個目錄。
注:原書中還有好多目錄沒有記錄下來,這裡只是摘錄了一些個人認為比價重要的或比較感興趣的。隨著日後的深入,本文會繼續補充的。