iOS非入侵式非越狱下数据采集实现过程 您所在的位置:网站首页 越狱提取资料是什么 iOS非入侵式非越狱下数据采集实现过程

iOS非入侵式非越狱下数据采集实现过程

2024-07-16 03:07| 来源: 网络整理| 查看: 265

一、实现环境:

iOS10.2,arm64位。

二、实现工具:

libimobiledevice工具集中的idevicebackup2对iOS系统进行备份,ideviceunback对备份文件进行解析。

关于libimobiledevice工具集详情见IOS--非越狱下非入侵式可获取的隐私资料、python--libimobiledevice

在 iOS较为低的版本中 idevicebackup2 可以对备份文件进行解析,但是在高版本的iOS系统中,这个功能不可用了。

转而由 ideviceunback 这个第三方库来使用

git地址:https://github.com/inflex/ideviceunback、ideviceunback-master.zip

工具对比

数据提取工具对比

名称所属功能备份选项作用范围备注

idevicebackup2libimobiledevice工具集对所有的iOS版本都可对其进行备份

但只有在较为低的iOS系统中方可对备份文件解析,在高版本(>=iOS9.3.2)无法解析这个工具仅能full backup。不能像android一样有选择的backup。在idevicebackup2的使用中 不仅仅是iOS备份过程需要usb连接手机,解析过程也需要usb连接手机

因此在iOS高版本,apple限制掉了usb连接手机备份的情况。

ideviceunback独立工具仅提供对iOS备份文件解析的功能,能解析全部的iOS系统的备份文件全部这个工具的解析同android一样,不需要类似idevicebackup2,是不需要连接手机解析的,只要有备份文件则可解析。

因此 本过程 是使用的 idevicebackup2 对 iOS系统进行备份,使用 ideviceunback(自己编译,工程中已提供) 对 备份数据进行解析提取的。

三、实现过程

1、备份

fedora上 dnf install libimobiledevice-utils

fedora上 还需dnf install sqlite-devel.x86_64。否则编译ideviceunback工具会报错:ideviceunback.c:30:21: fatal error: sqlite3.h: No such file or directory

需要安装 libimobiledevice 的一系列的库文件,这个在IOS--非越狱下非入侵式可获取的隐私资料、python--libimobiledevice都有介绍,这里不再赘述。

备份命令:./idevicebackup2 backup /Users/danchen/Desktop/bak

对于经常使用的iOS系统 备份过程比较长(我的手机备份时间为40分钟,大小11G)

而且在备份过程中 不能锁屏,一旦锁屏,备份过程无法继续下去。

2、解析

./ideviceunback -v -i /Users/danchen/Desktop/bak  -o /Users/danchen/Desktop/unbak

解析出来的文件树太大 有3308 directories, 36196 files。故见tree.txt(使用chrome浏览器打开它)

解析后的文件总大小也是11G

解析用的时间很快 不到2分钟。

四、有用的资料

解析文件中有用的资料整理如下:

1、QQ信息

如QQ登录过几个账号、每个账号中的好友列表、我的二维码、支付二维码、最近联系人。

没有发现QQ、微信 聊天记录的db。

但是其他app的db如知乎、微博的都有。

2、通讯录信息

3、Documents

应用创建的临时文件:如QQ文件接收记录(文件存在)、QQ产生的临时文件(聊天图片)、应用创建的db文件(或sqlite)。没有发现QQ、微信的聊天记录的db。

4、Media

获取完整的iOS系统的相册、拍摄的视频。

5、Calender

获取完整的系统的日历信息、日历标签、日历通知。

6、短信内容

7、屏幕信息

8、手机网络设置信息

主要有 wifi登录信息 如下

ip信息

9、safari浏览记录、书签记录

10、设备蓝牙使用信息

11、通话记录

12、设备充电信息

13、系统便签信息

14、app对系统的设置

如开启定位、开启推送啊之类的设置

五、QQ与微信聊天记录

微信聊天的一种记录解析工具:https://github.com/humiaozuzu/wechat-explorer

在上面通过肉眼 根本无法知道QQ、微信 聊天记录在哪里。

我们来看一下 备份文件的结构

这个即是 设备udid命名的备份文件。点击进去,发现如下

Manifest.db即是总纲,告诉你这些备份文件是怎么回事

如下图

原来备份文件中那么多乱七八糟的文件的对应关系是这样的。通过检索这张表

select * from Files where domain like '%com.tencent.mqq%' and  relativePath like '%QQ.db%'

很容易就得到QQ的存储路径在解析文件的  /Users/danchen/Desktop/unbak/Documents/contents/69478086/QQ.db

当然 不只 QQ.db这一个数据库,还有

同理 也可找出微信的聊天在

/Users/danchen/Desktop/unbak/Documents/8057a25d70ca34a6b95d414fc7ec4fe1/DB/MM.sqlite

会话session db存储在  /Users/danchen/Desktop/unbak/Documents/8057a25d70ca34a6b95d414fc7ec4fe1/session/session.db

如上文所述,对微信的db解析 有一种python工具 wechat-exploer。

其源码的基本原理就是对 MM.sqlite 、session.db两个数据库进行数据提取。

不过可惜,这个工具是一年前的工具,对于微信最新版的聊天记录已经无法提取了。

解析关键数据列表

数据位置类型备注

通讯录/Users/danchen/Desktop/unbak/Library/AddressBook/AddressBook.sqlitedb

/Users/danchen/Desktop/unbak/Library/AddressBook/AddressBookImages.sqlitedb数据库文件均未加密

相册

/Users/danchen/Desktop/unbak/Media/DCIM

/Users/danchen/Desktop/unbak/Media/MediaAnalysis

/Users/danchen/Desktop/unbak/Media/PhotoData

/Users/danchen/Desktop/unbak/Media/Recordings图片、视频、音频文件可直接打开

日历

/Users/danchen/Desktop/unbak/Library/calendar/Calendar.sqlitedb

/Users/danchen/Desktop/unbak/Library/calendar/Extras.db

/Users/danchen/Desktop/unbak/Library/calendar/Notifications.db数据库文件均未加密

短信

/Users/danchen/Desktop/unbak/Library/SMS/sms.db

数据库文件均未加密

屏幕信息

/Users/danchen/Desktop/unbak/Library/SpringBoard

屏幕相关信息:屏幕更换过的照片、屏幕状态等plist文件均未加密

safari浏览记录、书签记录

/Users/danchen/Desktop/unbak/Library/Safari/History.db

/Users/danchen/Desktop/unbak/Library/Safari/Bookmarks.db

Users/danchen/Desktop/unbak/Library/Safari/AutoFillCorrections.db

/Users/danchen/Desktop/unbak/Library/Safari/BrowserState.db数据库文件均未加密

设备蓝牙

Users/danchen/Desktop/unbak/Library/Database/com.apple.MobileBluetooth.ledevices.other.db

/Users/danchen/Desktop/unbak/Library/Database/com.apple.MobileBluetooth.ledevices.paired.db数据库文件均未加密

设备充电信息

/Users/danchen/Desktop/unbak/Library/Battery/charge.db

数据库文件均未加密

系统便签信息

Users/danchen/Desktop/unbak/Library/Notes/notes.sqlite

数据库文件均未加密

app对系统的设置

/Users/danchen/Desktop/unbak/Library/Preferences

plist文件均未加密

QQ聊天信息/Users/danchen/Desktop/unbak/Documents/contents/69478086/QQ.db数据库文件均未加密

微信聊天信息/Users/danchen/Desktop/unbak/Documents/8057a25d70ca34a6b95d414fc7ec4fe1/DB/MM.sqlite

/Users/danchen/Desktop/unbak/Documents/8057a25d70ca34a6b95d414fc7ec4fe1/session/session.db数据库文件均未加密

六、总结

与IOS--非越狱下非入侵式可获取的隐私资料一文中 获得的数据一致。

对于深度数据采集而言,我们目前能做到的 即是把各种DB清理出来。

然而对DB的解析和展示,是否需要做,则这个工作量取决于支持的系统版本。

比如:采集系统数据 如短信、通讯录,就要支持iOS系统版本的兼容性。

采集微信、QQ的数据,就要支持微信、QQ的版本。

如果它们的版本有变,这些数据库的表的结构可能会变。

对于iOS系统而言,类似系统数据采集,微信聊天记录采集这样的工具大有存在



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有