iOS逆向 学习笔记 (一) : iOS 目录结构

2018-01-04  本文已影响0人  Zakerberg

转眼2018年了, 懵懵懂懂又过了一年,这一年似乎没有太大的改变,新的一年希望自己努力学习一些东西,不忘初心.将来的你,一定会感谢现在努力拼命的你 !  加油. 

壁纸来自数字尾巴

最近在看iOS 逆向, 看的不是很深刻,写点笔记,供自己参考, 大神勿喷啊,哈哈哈.

iOS 目录结构

/ 根目录, 以斜杠表示,其他所有的文件和目录在根目录下面展开.

/bin :  "binary"的缩写, 存放提供用户级基础功能的二进制文件,如 ls, ps 等.

/boot : 存放能使系统成功启动的所有文件,这些文件一般在内核用户程序开始执行前得到调用, 在iOS 中此目录为空 .

/dev :  "device" 的缩写, 存放BSD设备文件. 每个文件代表系统的一个设备或字符设备,一般来说, " 块设备 " 以块为单位 传输数据, 如硬盘; 而 "字符设备" 以字符为但谁传输数据, 如调制解调器. 

/sbin :   "system binaries"的缩写,存放体统系统级基础功能的二进制文件, 如 netstat, reboot等.

/etc : "et  cetera"的简写,存放系统脚本及配置文件, 如 passwd, hosts等. 在iOS 中/etc是一个符号链接,实际指向/private/etc.

/lib : 存放系统库文件,内核模块及设备驱动等. iOS 中此目录为空.

/mnt :  "mount" 的简写,存放临时的文件系统挂载点. iOS 中此目录为空.

/private : 存放两个目录.分别是.private/etc 和/private/tmp

/tmp : 临时目录,在iOS 中 /tmp 是一个符号链接,实际指向/.private/tmp.

/user : 包含了大多数用户的工具和程序, /user/bin包含那些/ bin 和 /sbin中未出现的基础功能, 如nm, killall等;  /user/include包含所有的标准的C头文件; /user/lib存放库文件.

/var : "variable"的缩写,存放一些经常改动的文件,如 日志,用户数据,临时文件等, 其中/var/mobile/Applications下存放了所有App Store App,  是要重点关注的目录之一.

以上的目录内容多用于系统底层,作为开发者,日常操作所对应的模块大多来自iOS 的独有的目录

/Applications : 存放所有的系统App和来自Cydia的App, 不包括App Store App. 越狱的过程就把/Applications变成一个链接符号,实际指向/var/stash.Applications . 重点关注的目录

/Developer : /Developer 相对没有那么重要 ,它的出现完全是因为我们在Xcode链接iOS 设备是选择了 "Use for Development " 

/Library :  用来存放系统App的数据.其中最需要关注的是/Library/MobileSubstrate目录这个目录存放了所有基于MobilSubstrate的插件 在iOS 中,MobilSubstrate 是一个提供hook的基础平台,运行在政府各平台上的插件通常被称为tweak.

/Library/MobileSubstrate 下通常下有3类文件:

dylib : 即 Dynamic Library,  也就是tweak插件.

plist : 用于配合dylib使用的filter文件, 指定注入目标.

disabled : 被SBSettings 禁用的tweak文件

/System : iOS 文件系统中最重要的目录之一,包含了大量的系统组件.

/System/Library/Frameworks 和/System/Library/PrivateFrameworks : 存放了大量的Frameworks.

/System/Library/CoreServices 里的SpringBoard.app : 也就是桌面管理器,是用户与系统交流的最重要的中介.

/System/Library/PreferenceBundles : 其中的各种bundle 提供了  "设置"中大多数的功能,也是iOS 逆向工程入门阶段练习的好目标.

/User :  用户目录,实际指向/var/mobile

/var/mobile/Media/DCIM : 照片目录

/var/mobile/Library/SMS :短信目录

/var/mobile/Library/Mail : 邮件目录

/var/wireless/Library/CallHistory  : 通话记录.这个特殊一点,在iOS 4 时代,通话记录是存放在/var/mobile/Library/CallHistory下的

还有一个非常重要的子目录就是/var/mobile/Applications, 里面存放的是通过App Store 下载的app. 

 

上一篇下一篇

猜你喜欢

热点阅读