命令行应用程序,将固件文件还原到iOS设备。
IDEVICERESTORE应用程序是对所有固件在设备还原过程中执行的所有颗粒步骤的完整重新实现。
通常,可以进行升级和降级,但是要依据Apple的SHSH BLOB可用来签署固件文件。
一些关键功能是:
警告:此工具可以轻松地不可逆地破坏您的用户数据。
谨慎使用,并确保在尝试还原之前备份数据。
无论如何,用法自担任您的风险。
您需要有一个可用的编译器(GCC/CLANG)和开发环境。该项目使用自动工具进行构建过程,从而可以在不同平台上具有通用的构建步骤。只有先决条件有所不同,在本节中进行了描述。
sudo apt-get install
build-essential
pkg-config
checkinstall
git
autoconf
automake
libtool-bin
libreadline-dev
libusb-1.0-0-dev
libplist-dev
libimobiledevice-dev
libimobiledevice-glue-dev
libtatsu-dev
libcurl4-openssl-dev
libssl-dev
libzip-dev
zlib1g-devlibtatsu-dev )是一个新的库,最近才发布,您必须从源头构建它。另外,其他*-dev软件包可能无法用于您的发行版,因此您也必须自己构建这些软件包。 确保安装了Xcode命令行工具。
选项1 :MacOS构建和安装idevicerestore的最简单方法是使用以下构建脚本,该脚本将为您完成工作,它将构建和安装所有必需的依赖项:
mkdir -p limd-build
cd limd-build
curl -o ./limd-build-macos.sh -L https://is.gd/limdmacos
bash ./limd-build-macos.sh按照脚本的提示,您应该有一个可用的idevicerestore 。
选项2 :使用MacPorts或Homebrew安装automake , autoconf和libtool 。
使用MacPorts:
sudo port install libtool autoconf automake使用自制:
brew install libtool autoconf automake idevicerestore有一些来自Libimobiledevice项目的依赖性。您将必须构建和安装以下内容:
检查他们的README.md以进行建筑和安装说明。
使用MSYS2是在Windows上编译该项目的官方方法。下载MSYS2安装程序,然后按照安装步骤进行操作。
建议使用MSYS2 MINGW 64位外壳。运行它并确保已安装所需的依赖项:
pacman -S base-devel
git
mingw-w64-x86_64-gcc
make
libtool
autoconf
automake-wrapper
pkg-config
libcurl-devel
mingw-w64-x86_64-libzip注意:您可以根据需要使用其他外壳和不同的编译器。相应地调整上述命令。
idevicerestore有一些来自Libimobiledevice项目的依赖性。您将必须构建和安装以下内容:
检查他们的README.md以进行建筑和安装说明。
您可以从GIT结帐中构建源代码,也可以从.tar.bz2从版本中释放Tarball。在我们构建它之前,必须将源树配置为建造。这些步骤取决于您从哪里获得的。
来自git
如果您尚未完成,请克隆实际的项目存储库并更改为目录。
git clone https://github.com/libimobiledevice/idevicerestore.git
cd idevicerestore配置用于构建的源树:
./autogen.sh从释放tarball(.tar.bz2)
当使用官方释放TARBALL( idevicerestore-xyztar.bz2 )时,该过程略有不同。
提取tarball:
tar xjf idevicerestore-x.y.z.tar.bz2
cd idevicerestore-x.y.z配置用于构建的源树:
./configure ./configure和./autogen.sh (生成和configure )都接受一些选项,例如, --prefix允许为其他目标文件夹构建。您可以像这样简单地传递它们:
./autogen.sh --prefix=/usr/local或者
./configure --prefix=/usr/local命令成功后,输出的最后几行将看起来像这样:
[...]
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
Configuration for idevicerestore 1.1.0:
-------------------------------------------
Install prefix: .........: /usr/local
Now type 'make' to build idevicerestore 1.1.0,
and then 'make install' for installation.
重要的
Idevicerestore需要适当安装的USBMUXD来还原过程。请确保在正常和/或还原模式下检测到设备后,它正在运行或配置为自动启动。如果正确安装,则将由UDEV/SystemD处理。
主要情况是将新固件还原到设备。首先,将设备连接到机器上。
然后简单地运行:
idevicerestore --latest这将打印出当前正在签名的固件版本,并可以还原到附件的设备。然后,它将尝试下载和还原所选的固件。
默认情况下,执行了更新还原,以保留用户数据。
请注意,如果固件文件不包含“客户升级安装”变体,则将执行擦除还原。
您可以通过使用以下方式擦除所有数据并基本上重置设备,从而强制恢复。
idevicerestore --erase --latest请咨询使用信息或手动页面以获取可用命令行选项的完整文档:
idevicerestore --help
man idevicerestore我们欢迎任何人的捐款,并感谢每个拉的请求!
如果您想做出贡献,请分配master分支,更改,提交并发送拉动请求进行审查。批准后,它可以合并到主代码库中。
如果您打算贡献更大的变化或重大重构,请先创建一张票,以预先讨论这个想法,以确保每个人的精力减少。
请确保您的贡献遵循:
该项目是根据GNU较少的通用公共许可证v3.0许可的,该项目也包含在COPYING文件中的存储库中。
苹果,iPhone,iPad,iPod,iPod Touch,Apple TV,Apple Watch,Mac,iOS,iPados,TVOS,WatchOS和MacOS是Apple Inc.的商标。
该项目是一个独立的软件应用程序,尚未获得Apple Inc.的授权,赞助或以其他方式批准。
README更新:2024-10-22