Skip to content


Subversion checkout URL

You can clone with
Download ZIP
A program used to communicate with iBoot / iBSS using the libusb-1.0 api.
Branch: master
Pull request Compare This branch is 34 commits ahead, 7 commits behind westbaer:master.


== What is iRecovery? ==

iRecovery is a libusb-based commandline utility for Mac OS X and Linux (perhaps windows too but I'm not developing/testing under windows). It is able to talk to the iBoot/iBSS in Apple's iPhone/iPod touch via USB.

It's completely open-source, the source-code is released under the terms of the GNU General Public License version 3.
The full license text can be found in the LICENSE file.

It currently connects to 0x1281 (iPhone, iPhone 3G, iPod touch, iPod touch 2G: Recovery Mode/iBSS), 0x1227 (iPhone, iPhone 3G, iPod touch: WTF Mode; iPod touch 2G: DFU Mode).

== Usage ==

	./iRecovery -a			enables auto-boot and reboots the device (exit recovery loop).
	./iRecovery -s 			starts a shell.
	./iRecovery -r 			usb reset.
	./iRecovery -u <file>		uploads a file.
	./iRecovery -c "command"	send a single command.
	./iRecovery -b <file>		runs batch commands from a file(one per line).
	./iRecovery -x <file>		uploads a file then resets the usb connection.
	./iRecovery -e <file>		upload a file then run usb exploit.
	./iRecovery -x21 <command>	send a raw command to 0x21.
	./iRecovery -x40 <command>	send a raw command to 0x41.
	./iRecovery -xA1 <command>	send a raw command to 0xA1.

== Console / Batch Commands ==

	/auto-boot			enables auto-boot and reboots the device (exit recovery loop).
	/exit				exit the recovery console.
	/upload	<file>			upload a file to the device.
	/exploit <file>			upload a file then execute a usb exploit.
	/batch	<file>			execute commands from a batch file.
Something went wrong with that request. Please try again.