IOS文件结构

文件结构

目录结构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
/
|
---Developer/
|
---Applications/
|
---Library/
|
---System/
|
---bin/
|
---sbin/
|
---boot/
|
---cores/
|
---dev/
|
---usr/
|
---lib/
|
---mnt/
|
---tmp -> private/var/tmp/
|
---etc -> private/etc/
|
---User -> /var/mobile/
|
---var -> private/var/
|
---private/

根目录

1. /Developer

开发者相关库、工具

2. /Applications

系统APP

3. /Library

1
用户缓存数据

越狱相关文件会存放该目录下

3.1 /Library/dpkg cydia dpkg目录

安装插件使用的文件路径、插件卸载脚本、插件签名
/var/lib/dpkg/info

info
|
--- re.frida.server.list 所使用的文件
|
--- re.frida.server.md5sums 签名
|
--- re.frida.server.prerm 卸载脚本

3.2 /Library/LaunchDaemons 越狱后添加后台运行程序,以plist文件形式存放

3.3 /Library/MobileSubstrate 越狱插件相关目录

/Library/MobileSubstrate/DynamicLibraries 

越狱插件安装目录,结构如下

DynamicLibraries 
|
---inject.plist
|
---inject.dylib

plist文件中包含要hook的app或组件的信息,cydia负责将对应的dylib加载到hook的进程中

3.4 /Library/PreferenceBundles 越狱插件的界面,如FlyJB会在设置中有个设置界面,对应该目录下的资源文件,注:要想使用界面功能需要先安装P referenceLoader插件

3.5 /Library/PreferenceLoader/Preferences 越狱插件的用户偏好设置

3.6 /Library/Ringtones 系自带的来电铃声存放目录(ACC文件结构)

4. /System

1
系统缓存数据、库文件

4.1 /System/Library/LaunchDaemons

设置系统守护进程目录,plist文件设置

4.1 /System/Library/Frameworks /System/Library/PrivateFrameworks

系统动态库

5. /bin /sbin

1
命令

6. /boot

1
引导相关,该文件夹为空

7. /dev

1
设备文件

8. /usr

1
系统核心库、命令

8.1 /usr/lib/substrate 越狱核心库文件

substrate
|
--- SubstrateBootstrap.dylib
|
--- SubstrateInserter.dylib
|
--- SubstrateLoader.dylib

运行APP会加载3个dylib

9. /tmp

1
软连接到 /private/tmp/

10. /etc

1
软连接到 /private/etc/

11. /User

1
软件接到 /var/mobile/

12. /var

1
软件接到 private/var

13. /private

1
核心文件系统

13.1 /private/etc 配置文件

13.2 /private/system_data 空文件夹

13.3 /private/xarts unknow

13.4 /private/var

系统核心目录,root、mobile家目录、app安装目录、用户数据、存储.........都在该目录下

/private/var目录

1. Keychains

1
Keychains 加密后数据

1.1 /var/Keychains/keychain-2.db

存放加密后数据

1.2 /var/Keychains/TrustStore.sqlite3

导入证书数据

2. MobileDevice

1
描述文件

2.1 /var/MobileDevice/ProvisioningProfiles

安装的描述文件

3. MobileSoftwareUpdate

1
系统升级相关

4. binpack

1
checkra越狱后的checkra1n APP安装目录

5. cache

1
缓存目录,apt会缓存数据到该目录

6. containers

1
用户APP安装目录、共享数据

6.1 /var/containers/Bundle/Application

用户APP安装目录

6.2 /var/containers/Shared

    APP共享数据目录

7. db

1
系统文件,铃声,壁纸,系统设置,界面,ui

8. installd

1
安装APP,安装APP时可能会先缓存到/var/installd/Library/Caches/com.apple.mobile.installd.staging

9. keybags

1
锁屏密码相关

10. lib

1
cydia相关文件

10.1 /var/lib/apt apt相关文件

10.2 /var/lib/cydia/firmware.ver cydia版本

10.3 /var/lib/dpkg 软链接到/Library/dpkg

11. log logs

1
日志相关

12. networkd

1
网络相关

13. preferences

1
偏好设置

14. run

1
UNKNOW

15. vm

1
虚拟内存

16. wireless

1
UNKNOW

17. tmp

1
临时文件

18. root

1
root用户家目录

19. mobile

1
mobile用户家目录

19.1 Documents mobile用户文档,CrackerXI会脱壳到该目录下

19.2 Media 相册、电子书、录音等

相册照片
/var/mobile/Media/DCIM

iTunes上传的多媒体文件目录
/var/mobile/Media/iTunes_Control

照片里的图片
/var/mobile/Media/Photos

语音备忘录
/var/mobile/Media/Recordings

19.3 Library mobile用户缓存数据

APP安装后生成的安装路径、沙箱目录名称 会存储在该DB
/var/mobile/Library/FrontBoard/applicationState.db

存储通讯录
/var/mobile/Library/AddressBook

存储短信
/var/mobile/Library/SMS

存储备忘录
/var/mobile/Library//var/mobile/Library

19.4 Containers APP沙箱、共享数据等

APP沙箱目录
/var/mobile/Containers/Data/Application/xxxx

APP沙箱目录
|
--- Documents 文档目录,存储一些文件
|
--- Library 缓存数据
|   |
|   --- Caches 缓存
|   |
|   --- Preferences 用户偏好设置,一般该目录下会存在.plist
|   | 
|   --- Cookies 使用WebKit时cookie存储路径
|   |
|   --- WebKit/WebsiteData  H5本地缓存数据、IndexedDB、WebSQL等
|   |
|   --- SplashBoard/Snapshots 挂起快照,启动图缓存
|   |
|   --- .....
|
--- SystemData APP运行产生的数据一般很少使用
|
--- tmp  临时文件