Difference between revisions of "Diags (iBoot command)"

From The iPhone Wiki
Jump to: navigation, search
(This is a wiki, right?)
Line 5: Line 5:
   
 
==Exploit==
 
==Exploit==
This is a very easy-to-use exploit. In earlier iBoots, if a parameter was given to the 'diags' command, then it would jump to whatever address argv[1] specified, but not before disabling the GPIO devices. You can run unsigned code on the S5L using this, but the GPIOs need to be restored if you intend to use any I/O again (such as the screen, serial, or USB).
+
This is a very easy-to-use exploit. In earlier iBoots, if a parameter was given to the 'diags' command, then it would jump to whatever address argv[1] specified, but not before disabling the GPIO devices. You can run unsigned code on the [[S5L8900]] using this, but the GPIOs need to be restored if you intend to use any I/O again (such as the screen, serial, or USB).
   
In 2.0 iBoots, they have a flag check on this command (checks bit 4 of the iBoot flags), and that flag will not be present on a retail device, just an engineering one with a 'whitelisted' CHIPID, so this exploit doesn't work. However, the 1.1.4 iBSS can still be used on the iPhone, iPhone 3G, or iPod touch 1G, and can be used to boot a modified 2.0+ iBoot. Therefore, it is still an open exploit for the iPhone until Apple releases a new model with IMG3 encryption starting at the bootrom.
+
In 2.0 iBoots, they have a flag check on this command (checks bit 4 of the iBoot flags), and that flag will not be present on a retail device, just an engineering one with a 'whitelisted' CHIPID, so this exploit doesn't work. However, the 1.1.4 iBSS can still be used on the [[m68ap|iPhone]], [[n82ap|iPhone 3G]], or [[n45ap|iPod touch 1G]], and can be used to boot a modified 2.0+ [[iBoot]]. Therefore, it is still an open exploit for the iPhone until Apple releases a new model with [[IMG3_File_Format|IMG3]] encryption starting at the [[VROM_(S5L8900)|bootrom]].
   
 
[[Category:Exploits]]
 
[[Category:Exploits]]

Revision as of 13:20, 7 April 2009

This was an exploit that allowed the running of unsigned code at iBoot level, present in pre-2.0 versions of iBoot.

Credit

The dev team

Exploit

This is a very easy-to-use exploit. In earlier iBoots, if a parameter was given to the 'diags' command, then it would jump to whatever address argv[1] specified, but not before disabling the GPIO devices. You can run unsigned code on the S5L8900 using this, but the GPIOs need to be restored if you intend to use any I/O again (such as the screen, serial, or USB).

In 2.0 iBoots, they have a flag check on this command (checks bit 4 of the iBoot flags), and that flag will not be present on a retail device, just an engineering one with a 'whitelisted' CHIPID, so this exploit doesn't work. However, the 1.1.4 iBSS can still be used on the iPhone, iPhone 3G, or iPod touch 1G, and can be used to boot a modified 2.0+ iBoot. Therefore, it is still an open exploit for the iPhone until Apple releases a new model with IMG3 encryption starting at the bootrom.