Приложение командной строки для восстановления файлов прошивки на устройства iOS.
Приложение Idevicerestore представляет собой полную переопределение всех гранулированных шагов, которые выполняются во время восстановления прошивки на устройство.
В целом, возможны обновления и понижения, однако при условии наличия SHSH Blobs из Apple для подписания файлов прошивки.
Некоторые ключевые функции:
ПРЕДУПРЕЖДЕНИЕ: Этот инструмент может легко разрушить ваши пользовательские данные необратимо.
Используйте с осторожностью и обязательно выполните резервную копию ваших данных, прежде чем пытаться восстановить.
В любом случае, использование на вашем собственном риске.
Вы должны иметь работающий компилятор (GCC/Clang) и среда разработки. Этот проект использует AutoTools для процесса сборки, позволяя иметь общие шаги сборки на разных платформах. Только предпосылки различаются, и они описаны в этом разделе.
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 : Самый простой способ создать и установить idevicerestore для MacOS - это использование следующего сценария сборки, который выполнит работу для вас, он будет создавать и установить все необходимые зависимости:
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Использование Homebrew:
brew install libtool autoconf automake idevicerestore имеет несколько зависимостей от проекта LibimobileDevice. Вам придется построить и установить следующее:
Проверьте их README.md для строительства и инструкций по установке.
Использование MSYS2 является официальным способом составления этого проекта в Windows. Загрузите установщик MSYS2 и выполните шаги установки.
Рекомендуется использовать 64-битную оболочку MSYS2 Mingw Mingw . Запустите его и убедитесь, что необходимые зависимости установлены:
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 или из выпуска Tarball .tar.bz2 из выпусков. Прежде чем мы сможем его построить, дерево источника должно быть настроено для построения. Шаги зависят от того, откуда вы получили источник.
От git
Если вы еще не сделали, клонируйте фактический репозиторий проекта и измените в каталог.
git clone https://github.com/libimobiledevice/idevicerestore.git
cd idevicerestoreНастройте исходное дерево для строительства:
./autogen.shИз выпуска Tarball (.tar.bz2)
При использовании официального выпуска Tarball ( idevicerestore-xyztar.bz2 ) процедура немного отличается.
Извлеките тарбол:
tar xjf idevicerestore-x.y.z.tar.bz2
cd idevicerestore-x.y.zНастройте исходное дерево для строительства:
./configure configure ./configure , --prefix и ./autogen.sh Вы можете просто передавать их так:
./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 Lesser General Public Public License v3.0, также включенного в хранилище в файле COPYING .
Apple, iPhone, iPad, iPod, iPod Touch, Apple TV, Apple Watch, Mac, iOS, iPados, TVOS, WatchOS и MacOS являются товарными знаками Apple Inc.
Этот проект является независимым программным приложением и не был авторизован, спонсируется или не одобрен Apple Inc.
Readme обновлена: 2024-10-22