iOS逆向工程必备的基础知识-了解iOS的根文件系统

2020-03-11  本文已影响0人  醉看红尘这场梦

可以以root身份登录到iOS之后,首先可以做的,就是浏览一下iOS的文件系统。相比在正向开发时访问的沙箱,现在,整个iOS都暴露在了我们眼前。因此,在这一节里,我们:

和文件访问相关的工具

为了可以在Mac和iOS上,方便的访问iOS文件系统,我们需要安装一些工具,先来看iOS的部分。

iOS

iOS上的工具,都是通过Cydia安装的。第一个叫做Apple File Conduit 2

image

它不是直接拿来用的,而是必须安装它,稍后我们安装在Mac上的文件浏览工具才能访问到越狱后的整个iOS文件系统。

第二个,是iFile,这也是个老牌工具了。通过它,我们可以直接在iOS上浏览文件系统,临时要查看或者修改个文件,用起来就很方便:

image

Mac

然后,是Mac的部分。这里,我们只按装一个叫做iFunbox的工具就好了。

安装完成之后,通过USB把iOS连接到Mac,就可以在iFunbox中看到这个设备了:

image

这时,在Raw File System中就可以访问到iOS的系统根目录。并且,通过工具栏上的Copy From MacCopy To Mac按钮,我们还可以方便的在iOS和mac OS之间传输文件。

当然,除了这种GUI的方式之外,我们还可以通过CLI工具在Mac以及iOS之间发送文件。在一些特定的场景里(例如:部署插件),它们可比GUI方便多了。

这里,最常用的一个工具就是scp。要把Mac上的test_file上传到iOS设备的/var/root目录,我们可以执行:

scp -P 2333 test_file root@localhost:/var/root

类似的,要从iOS设备上把刚才上传的文件下载到Mac,我们可以执行:

scp -P 2333 root@localhost:/var/root/test_file .

大家一定要熟练使用scp的这两个用法,在逆向工程中,我们会经常用到它们。

一些最常用的系统目录

安装好上面这些工具之后,就可以浏览iOS的文件系统了。我们知道,iOS也是某种类UNIX操作系统。因此,或多或少,它的文件系统,和我们熟悉的Mac或Linux是有类似之处的。大家可以在Filesystem Hierarchy Standard这里找到一份类UNIX操作系统目录划分规范,iOS当然也遵从了这个规范的约定,例如:

image image image

以上,就是iOS中和类UNIX操作系统通用的目录,它们大多和系统底层的功能相关。大家没必要完全记住它们,对这些目录的功能有个印象,看到它们不觉得陌生也就可以了。

iOS的特有目录

接下来,我们看一些iOS独有的目录,和刚才的通用目录相比,这些目录有个特点,都是用大写字母开头的。在接下来的内容里,我们更多会和这部分内容打交道。

image image image

而在/System/Library中,有三个目录是我们应该重点关注的:

image image image

了解了/System之后,我们来看最后一个目录/User,它是一个符号连接,实际指向/var/mobile

image

而在/var/mobile里,存放的都是和用户应用程序以及数据相关的内容:

image

/var/mobile有,有三个目录是我们值得关注的:

image image image
上一篇 下一篇

猜你喜欢

热点阅读