Preventing Baseband Update

From The iPhone Wiki
Revision as of 06:31, 7 December 2010 by Http (talk | contribs) (looks like at least it '''should''' work)
Jump to: navigation, search
  1. Unpack Original/Custom IPSW
  2. Decrypt Restore Ramdisk using xpwntool and mount it
  3. Navigate to /usr/local/share/restore
  4. Edit options.plist on the restore ramdisk
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CreateFilesystemPartitions</key>
	<true/>
	<key>SystemPartitionSize</key>
	<integer>1024</integer>
	<key>UpdateBaseband</key>
	<false/>
   	<key>SystemImage</key>
   	<true/>
</dict>
</plist>
  1. Reencrypt the restore ramdisk
  2. Repack the IPSW
  3. Restore IPSW to iTunes after preparing device for custom firmware.

This method works on iOS 4.2.1

PwnageTool bundle patch

  1. go to my github repo full nor flash firmware bundles
  2. if you dont trust me run bsdiff <options.plist from the restore ramdisk> <options.plist from above> /options.patch note: the SystemPartitionSize field must not be changed or your device will fail with error 46
  3. download the one for your device and put it inside PwnageTool or the sn0wbreeze source code's
  4. run PwnageTool or sn0wbreeze and make the custom ipsw
  5. restore your device in dfu mode

swap ramdisk's

as confirmed by a resent tweet [1] the restore ramdisk has had an extra check implemented

  1. Unpack Original IPSW
  2. Decrypt update Ramdisk using xpwntool and mount it
  3. Navigate to /usr/local/share/restore
  4. Edit options.plist on the update ramdisk
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>UpdateBaseband</key>
	<false/>
</dict>
</plist>
  1. Reencrypt the update ramdisk
  2. Repack the IPSW
  3. Restore IPSW to iTunes after preparing device for custom firmware.

This method works on iOS 4.2.1