命令行應用程序,將固件文件還原到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