使用libimobiledevice&ifuse提取iOS沙盒文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用libimobiledevice&ifuse提取iOS沙盒文件相关的知识,希望对你有一定的参考价值。

参考技术A libimobiledevice 又称 libiphone ,是一个开源包,可以让 Linux 支持连接 iPhone/iPod Touch 等 ios 设备。由于苹果官方并不支持 Linux 系统,但是 Linux 上的高手绝对不能忍受因为要连接 iOS 设备就换用操作系统这个事儿。因此就有人逆向出 iOS 设备与 Windows/Mac Host 接口的通讯协议,最终成就了横跨三大桌面平台的非官方版本 USB 接口 library 。经常用 Linux 系统的人一定对 libimobiledevice 不陌生,但是许多 Windows 和 Mac 用户也许就不知道了。事实上,它同 iTools 一样,都是可以替代 iTunes ,进行 iOS 设备管理的工具。因为源码是开放的,可以自行编译,所以对很多开发者而言可以说更为实用。

github 官方地址: https://github.com/libimobiledevice/libimobiledevice

仅演示 mac 下的安装方法,其它平台请自行 google 。在 MacOS 下安装可以使用 brew ,具体过程如下:

ifuse 是一个依赖 libimobiledevice 库的工具,所以必须首先安装 libimobiledevice 。 安装方式:

安装好后使用 ifuse -h 会打印详细使用说明

注意,此处的挂载点必须要真实存在,需要预先创建好目录,否则挂载失败

卸载挂载点

挂载某个应用的 documents 目录

挂载某应用的整个沙盒目录

Mac用Homebrew安装libimobiledevice

注意

我的环境是macOS Catalina Version 10.15.2。请注意时效性。

第一步,安装Command Line Tools

https://developer.apple.com/download/more/?=for%20Xcode 安装最新版的Command Line Tools。即使你装了最新版的Xcode,后续仍可能报错。

第二步,给pkg-config加权限

# 注意路径里有版本号,可能你的不一样了
chmod +x /usr/local/Cellar/pkg-config/0.29.2/bin/pkg-config 
export PKG_CONFIG=$PKG_CONFIG:/usr/local/lib/pkgconfig/

第三步,重新安装最新版的libplist和libusbmuxd

brew update
brew uninstall --ignore-dependencies libplist
brew install --HEAD libplist
brew uninstall --ignore-dependencies usbmuxd
brew install --HEAD usbmuxd
brew unlink usbmuxd
brew link usbmuxd

第四步,安装最新版libimobiledevice

# 如果之前装了旧版,请先卸载掉
brew install --HEAD libimobiledevice

参考资料:

  • https://developer.apple.com/download/more/?=for%20Xcode
  • https://blog.csdn.net/ZuoWeiXiaoDuZuoZuo/article/details/83413074
  • https://www.jianshu.com/p/0374621810e4

以上是关于使用libimobiledevice&ifuse提取iOS沙盒文件的主要内容,如果未能解决你的问题,请参考以下文章

编译安装libimobiledevice

Install libimobiledevice on Mac OSX

在 ubuntu 14.04 中安装 libimobiledevice 时出错

libimobiledevice提取iOS沙盒文件

libimobiledevice 1.2.1编译安装

xubuntu 17.04 和 iphone 6互传文件方法——使用libimobiledevice就可以像u盘一样操作文件了