Difference between revisions of "IRecovery"

From The iPhone Wiki
Jump to: navigation, search
m
 
(51 intermediate revisions by 17 users not shown)
Line 1: Line 1:
  +
{{DISPLAYTITLE:iRecovery}}
  +
iRecovery is a libusb-based CLI utility for Mac OS X, Linux, and Windows. It is able to talk to [[iBoot (Bootloader)|iBoot]] and [[iBSS]] and [[iBEC]] via USB. It's completely open source; the source code is released under the terms of the GNU GPL v3. The full license text can be found in the LICENSE file on github.
  +
Please note that there is no official compiled version available.
   
  +
It currently connects to:
Haxed by 1337Urmom at The Pois0nhack team
 
  +
* [[DFU 0x1227|0x1227]] ([[DFU Mode]]/[[WTF]] Mode 2.0)
Haxed by 1337Urmom at The Pois0nhack team
 
  +
* [[Recovery Mode (Protocols)#Recovery_Mode_2.x_.28DevID.3D0x1281.29|Recovery Mode 0x1281]] (Recovery Mode/iBSS/iBEC)
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
==Credits==
Haxed by 1337Urmom at The Pois0nhack team
 
  +
westbaer
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
==Thanks==
Haxed by 1337Urmom at The Pois0nhack team
 
  +
[[User:Pod2g|pod2g]], [[tom3q]], [[User:Planetbeing|planetbeing]], [[User:Geohot|geohot]] and [[User:posixninja|posixninja]].
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
==Features==
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
===DFU 2.0 (0x1227)===
Haxed by 1337Urmom at The Pois0nhack team
 
  +
It can upload a file, such as an [[iBSS]], so that you can unplug and spawn a shell with 0x1281.
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
===Recovery 2.0 (0x1281)===
Haxed by 1337Urmom at The Pois0nhack team
 
  +
====File Uploading====
Haxed by 1337Urmom at The Pois0nhack team
 
  +
You can upload a file to 0x9000000 with the following syntax:
Haxed by 1337Urmom at The Pois0nhack team
 
  +
./iRecovery -f file
Haxed by 1337Urmom at The Pois0nhack team
 
  +
In newer builds that use libusb-1.0 this is now
Haxed by 1337Urmom at The Pois0nhack team
 
  +
./iRecovery -u file
   
  +
====Two-Way Shell====
Haxed by 1337Urmom at The Pois0nhack team
 
  +
You can spawn a shell to do all sorts of neat things with the syntax:
Haxed by 1337Urmom at The Pois0nhack team
 
  +
./iRecovery -s
Haxed by 1337Urmom at The Pois0nhack team
 
  +
Once it has spawned, you can type 'help' and iBoot will respond with its built-in command list.
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
====Single Command====
Haxed by 1337Urmom at The Pois0nhack team
 
  +
./iRecovery -c "command"
Haxed by 1337Urmom at The Pois0nhack team
 
  +
Sends a single command to the device *without* spawning a shell.
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
====usb_control_msg(0x21, 2) Exploit Command====
Haxed by 1337Urmom at The Pois0nhack team
 
  +
./iRecovery -k
Haxed by 1337Urmom at The Pois0nhack team
 
  +
Sends Chronic Dev's + Geohot's latest usb exploit. Implemented into blackra1n.
Haxed by 1337Urmom at The Pois0nhack team
 
  +
This was updated near {{date|2009|10|17}}. [http://github.com/posixninja/irecovery posixninja's fork]
Haxed by 1337Urmom at The Pois0nhack team
 
  +
In newer builds this is now -e
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
====Auto Boot====
Haxed by 1337Urmom at The Pois0nhack team
 
  +
You can now enable auto-boot by running:
Haxed by 1337Urmom at The Pois0nhack team
 
  +
./iRecovery -a
Haxed by 1337Urmom at The Pois0nhack team
 
  +
or by sending /auto-boot in a shell.
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
In newer builds it is now:
Haxed by 1337Urmom at The Pois0nhack team
 
  +
./iRecovery -n
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
====USB Reset====
Haxed by 1337Urmom at The Pois0nhack team
 
  +
Reset USB
Haxed by 1337Urmom at The Pois0nhack team
 
  +
./iRecovery -r
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
====Batch Scripting====
Haxed by 1337Urmom at The Pois0nhack team
 
  +
iRecovery now supports batch scripting, this allows you to send commands to iBoot from a pre written list of commands, this also supports scripting such as /auto-boot and /upload <file>
Haxed by 1337Urmom at The Pois0nhack team
 
  +
./iRecovery -b <file>
Haxed by 1337Urmom at The Pois0nhack team
 
  +
or in a shell:
Haxed by 1337Urmom at The Pois0nhack team
 
  +
/batch <file>
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
====Raw Commands====
Haxed by 1337Urmom at The Pois0nhack team
 
  +
You can now send raw commands via the -x21 -x40 or -xA1 flags
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
==Example Output==
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
iRecovery -s
Haxed by 1337Urmom at The Pois0nhack team
 
  +
======================================
Haxed by 1337Urmom at The Pois0nhack team
 
  +
::
Haxed by 1337Urmom at The Pois0nhack team
 
  +
:: iBSS for n82ap, Copyright 2009, Apple Inc.
Haxed by 1337Urmom at The Pois0nhack team
 
  +
::
Haxed by 1337Urmom at The Pois0nhack team
 
  +
:: BUILD_TAG: iBoot-596.24
  +
::
  +
:: BUILD_STYLE: RELEASE
  +
::
  +
:: USB_SERIAL_NUMBER: CPID:8900 CPRV:30 CPFM:03 SCEP:05 BDID:04 ECID:000003293C113D76 IBFL:00
  +
::
  +
=======================================
  +
  +
Entering recovery mode, starting command prompt
  +
] printenv
  +
build-style = "RELEASE"
  +
build-version = "iBoot-596.24"
  +
config_board = "n82ap"
  +
loadaddr = "0x9000000"
  +
boot-command = "fsboot"
  +
bootdelay = "0"
  +
auto-boot = "true"
  +
idle-off = "true"
  +
boot-device = "nand0"
  +
boot-partition = "0"
  +
boot-path = "/System/Library/Caches/com.apple.kernelcaches/kernelcache.s5l8900x"
  +
display-color-space = "RGB888"
  +
display-timing = "optC"
  +
framebuffer = "0xfd00000"
  +
secure-boot = "0x1"
  +
  +
== Supported Raw Commands ==
   
  +
Currently Supported by All Firmware:<br>
Haxed by 1337Urmom at The Pois0nhack team
 
  +
Reboot - Reboots Iphone
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
More IBoot Commands Information:<br>
Haxed by 1337Urmom at The Pois0nhack team
 
  +
http://code.google.com/p/chronicdev/wiki/iBootCommands
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
NOTE: 'bgcolor' appears to be no longer supported -- requires confirmation.
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
==Forks==
Haxed by 1337Urmom at The Pois0nhack team
 
  +
[http://github.com/iH8sn0w/irecovery iH8sn0w/irecovery]
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
[http://github.com/GreySyntax/irecovery GreySyntax/irecovery]
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
==Updates==
Haxed by 1337Urmom at The Pois0nhack team
 
  +
* A C++ port is also in the works dubbed iRecovery++ (by [[User:GreySyntax|GreySyntax]]) can be found at [http://github.com/NSPwn/iRecoveryplusplus GitHub/NSPwn/iRecoveryplusplus]
Haxed by 1337Urmom at The Pois0nhack team
 
  +
* [https://www.openjailbreak.org/projects/libirecovery-2-0/repository libiRecovery 2.0 in development by OpenJailBreak.org]
Haxed by 1337Urmom at The Pois0nhack team
 
  +
* A VB.NET GUI port for Windows has been made under the name [[GiRecovery|Zeratul]].
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
==Download==
Haxed by 1337Urmom at The Pois0nhack team
 
  +
*[https://github.com/Chronic-Dev/libirecovery Chronic-Dev - libiRecovery (Mac OS X | Linux | Windows)]
Haxed by 1337Urmom at The Pois0nhack team
 
  +
*[https://github.com/GreySyntax/iRecoveryplusplus GreySyntax - iRecovery++ (Mac OS X| Linux | Windows (Possibly))]
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
Note: Source only.
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
   
  +
[[Category:Hacking Software]]
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 
Haxed by 1337Urmom at The Pois0nhack team
 

Latest revision as of 14:05, 17 September 2021

iRecovery is a libusb-based CLI utility for Mac OS X, Linux, and Windows. It is able to talk to iBoot and iBSS and iBEC via USB. It's completely open source; the source code is released under the terms of the GNU GPL v3. The full license text can be found in the LICENSE file on github. Please note that there is no official compiled version available.

It currently connects to:

Credits

westbaer

Thanks

pod2g, tom3q, planetbeing, geohot and posixninja.

Features

DFU 2.0 (0x1227)

It can upload a file, such as an iBSS, so that you can unplug and spawn a shell with 0x1281.

Recovery 2.0 (0x1281)

File Uploading

You can upload a file to 0x9000000 with the following syntax:

./iRecovery -f file

In newer builds that use libusb-1.0 this is now

./iRecovery -u file

Two-Way Shell

You can spawn a shell to do all sorts of neat things with the syntax:

./iRecovery -s

Once it has spawned, you can type 'help' and iBoot will respond with its built-in command list.

Single Command

./iRecovery -c "command"

Sends a single command to the device *without* spawning a shell.

usb_control_msg(0x21, 2) Exploit Command

./iRecovery -k 

Sends Chronic Dev's + Geohot's latest usb exploit. Implemented into blackra1n. This was updated near 17 October 2009. posixninja's fork In newer builds this is now -e

Auto Boot

You can now enable auto-boot by running:

./iRecovery -a

or by sending /auto-boot in a shell.

In newer builds it is now:

./iRecovery -n

USB Reset

Reset USB

./iRecovery -r

Batch Scripting

iRecovery now supports batch scripting, this allows you to send commands to iBoot from a pre written list of commands, this also supports scripting such as /auto-boot and /upload <file>

./iRecovery -b <file>

or in a shell:

/batch <file>

Raw Commands

You can now send raw commands via the -x21 -x40 or -xA1 flags

Example Output

iRecovery -s

======================================
::
:: iBSS for n82ap, Copyright 2009, Apple Inc.
::
:: BUILD_TAG: iBoot-596.24
::
:: BUILD_STYLE: RELEASE
::
:: USB_SERIAL_NUMBER: CPID:8900 CPRV:30 CPFM:03 SCEP:05 BDID:04 ECID:000003293C113D76 IBFL:00
::
=======================================
 
Entering recovery mode, starting command prompt
] printenv
build-style = "RELEASE"
build-version = "iBoot-596.24"
config_board = "n82ap"
loadaddr = "0x9000000"
boot-command = "fsboot"
bootdelay = "0"
auto-boot = "true"
idle-off = "true"
boot-device = "nand0"
boot-partition = "0"
boot-path = "/System/Library/Caches/com.apple.kernelcaches/kernelcache.s5l8900x"
display-color-space = "RGB888"
display-timing = "optC"
framebuffer = "0xfd00000"
secure-boot = "0x1"

Supported Raw Commands

Currently Supported by All Firmware:
Reboot - Reboots Iphone

More IBoot Commands Information:
http://code.google.com/p/chronicdev/wiki/iBootCommands

NOTE: 'bgcolor' appears to be no longer supported -- requires confirmation.

Forks

iH8sn0w/irecovery

GreySyntax/irecovery

Updates

Download


Note: Source only.