转眼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.