iOS非入侵式非越狱下数据采集实现过程 | 您所在的位置:网站首页 › 越狱提取资料是什么 › iOS非入侵式非越狱下数据采集实现过程 |
一、实现环境: 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 实验室设备网 版权所有 |