<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.theiphonewiki.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=JackR1</id>
	<title>The iPhone Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.theiphonewiki.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=JackR1"/>
	<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/wiki/Special:Contributions/JackR1"/>
	<updated>2026-05-14T09:23:37Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.14</generator>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=BBUpdaterExtreme&amp;diff=25432</id>
		<title>BBUpdaterExtreme</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=BBUpdaterExtreme&amp;diff=25432"/>
		<updated>2012-04-13T07:59:23Z</updated>

		<summary type="html">&lt;p&gt;JackR1: /* Commands */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the tool used by Apple to updateflash the Baseband of XGOLD basebands.&lt;br /&gt;
It also allow to do some more things like changing the IMEI SV or just powercycling damaged baseband.&lt;br /&gt;
&lt;br /&gt;
The tool seems to make a connection to the device to flash the firmware, the eeprom and the bootloader.&lt;br /&gt;
The Device is the Emergency Bootloader of the iPhone which also is the only gate to flash the baseband.&lt;br /&gt;
&lt;br /&gt;
There have been some tries to make custom fls / eep files ( which are needed to flash the baseband of the device ).&lt;br /&gt;
This method could bring back 06.15.00 devices back which are now damaged. &lt;br /&gt;
&lt;br /&gt;
With this tool it is not possible to downgrade any baseband version.&lt;br /&gt;
&lt;br /&gt;
==Commands==&lt;br /&gt;
*BBUpdaterExtreme help [unknown option] [?]&lt;br /&gt;
*BBUpdaterExtreme queryversion | prints the current status of baseband firmware&lt;br /&gt;
*BBUpdaterExtreme update -f ICE2_xx.xx.xx.fls -e ICE2_xx.xx.xx.eep | UPDATES ( not downgrades!!! ) Firmware version&lt;br /&gt;
*BBUpdaterExtreme imeisv [option] | changes the imeisv value&lt;br /&gt;
*BBUpdaterExtreme automatic -S -F [or -L for BL] | for automatic update (while firmware restores)&lt;br /&gt;
*BBUpdaterExtreme audioparameters [?]&lt;br /&gt;
*BBUpdaterExtreme ice3dump [?]&lt;br /&gt;
*BBUpdaterExtreme staticeep [?]&lt;br /&gt;
&lt;br /&gt;
==Undocumented Commands==&lt;br /&gt;
&lt;br /&gt;
Source: [http://forum.gsmhosting.com/vbb/8058886-post191.html]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;update // performs manual update of Baseband&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;BBUpdaterExtreme update -f /mnt1/gecko/bin/ICE2_05.16.05.fls&lt;br /&gt;
^^&amp;lt;i&amp;gt;attempts an upgrade of single .FLS (flash) file only&amp;lt;/i&amp;gt;&lt;br /&gt;
BBUpdaterExtreme update -e /usr/local/standalone/firmware/ICE2_05.16.05.fls&lt;br /&gt;
^^&amp;lt;i&amp;gt;attempts an upgrade of single .EEP '(eeprom) file only&amp;lt;/i&amp;gt;&lt;br /&gt;
BBUpdaterExtreme update -l bl.fls&lt;br /&gt;
^^&amp;lt;i&amp;gt;attempts an upgrade of single .FLS bootloader file only&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;automatic // performs automatic update of Baseband&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
BBUpdaterExtreme automatic -S -L /mnt1/bin -x&lt;br /&gt;
^^ this will update bootloader (if newer versions is available)&lt;br /&gt;
BBUpdaterExtreme automatic -S -F /mnt1/bin -x&lt;br /&gt;
^^ this will update both fls and EEP in specified folder (if newer version is available)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;imeisv // Sets the IMEI software version bits&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
BBUpdaterExtreme imeisv -v 018&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;queryversion // prints current Baseband status (AT+XGENDATA)&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
BBUpdaterExtreme queryversion&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;audioparameters // sets baseband EEP audio parameters&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
BBUpdaterExtreme audioparameters -p /mnt1/bin/BasebandAudioParameters.c&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;powercycle // powercycles the modem&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
BBUpdaterExtreme powercycle -o 5 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;staticeepcheck // Checks the backup of a static eep&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
BBUpdaterExtreme staticeepcheck -F /mnt1/tmp&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;nukegnvram // Clears specific data from non volatile RAM&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
BBUpdaterExtreme nukegnvram&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;memtest // Performs a Memory test&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
BBUpdaterExtreme memtest&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;staticeep // Backs up static eep?&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
BBUpdaterExtreme staticeep -d backup.bin -f ICE2_05.16.05.eep -S &amp;amp;lt; ??? change&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;help&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
supposed to show help, does nothing in recent versions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;List of switches with args&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;-a&amp;lt;/b&amp;gt; ??&lt;br /&gt;
example: BBUpdaterExtreme update -e ICE2_05.16.05.eep -a 10&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;-b&amp;lt;/b&amp;gt; sets a specific boot code&lt;br /&gt;
example: BBUpdaterExtreme update -e ICE2_05.15.04.eep -S -b 4154 &amp;amp;lt;X-GOLD&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;-i&amp;lt;/b&amp;gt; Version ID; customize flashing per device&lt;br /&gt;
example:&lt;br /&gt;
BBUpdaterExtreme queryversion -i K48 &amp;amp;lt; iPad 1 (X-GOLD)&lt;br /&gt;
BBUpdaterExtreme queryversion -i 1 &amp;amp;lt;iPhone 3G? (S-GOLD)&lt;br /&gt;
BBUpdaterExtreme queryversion -i 2 &amp;amp;lt;iPhone 3GS? (X-GOLD)&lt;br /&gt;
BBUpdaterExtreme queryversion -i 3 &amp;amp;lt;iPhone 4? (XMM)&lt;br /&gt;
&lt;br /&gt;
on 3GS :&lt;br /&gt;
choosing 1 will give you &amp;amp;quot;Opening device for pinging failed, did you forget to stop CommCenter?&amp;amp;quot;&lt;br /&gt;
Choosing 2 will successfully boot and flash&lt;br /&gt;
Choosing 3 will hang on sending Boot code&lt;br /&gt;
Choosing K48 will successfully boot and flash&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;-f&amp;lt;/b&amp;gt; file / flash file / firmware&lt;br /&gt;
example: BBUpdaterExtreme update -f /mnt1/bin/ICE2_05.16.05.fls&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;-F&amp;lt;/b&amp;gt; Folder&lt;br /&gt;
example: BBUpdaterExtreme automatic -S -F /mnt1/bin -x&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;-v&amp;lt;/b&amp;gt; Version&lt;br /&gt;
example: BBUpdaterExtreme imeisv -v 018&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;-t &amp;lt;/b&amp;gt;test count? (iterations)&lt;br /&gt;
example: memtest -t 5&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;-L&amp;lt;/b&amp;gt; points to a folder for bootloader upgrade in automatic mode&lt;br /&gt;
example: BBUpdaterExtreme automatic -S -L /mnt1/bin&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;-p&amp;lt;/b&amp;gt; path? / parameters?&lt;br /&gt;
example: BBUpdaterExtreme audioparameters -p /mnt1/bin/params.c &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&amp;lt;b&amp;gt;Switches with no args&amp;lt;/b&amp;gt;&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;-!&amp;lt;/b&amp;gt; uses &amp;amp;quot;old style&amp;amp;quot; AT upgrade sequence (boot pattern 0x41, 0x54)&lt;br /&gt;
example: BBUpdaterExtreme update -f ICE2_05.16.05.fls -!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;-#&amp;lt;/b&amp;gt; ??&lt;br /&gt;
example: BBUpdaterExtreme update -f ICE2_05.16.05.fls -#&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;-D&amp;lt;/b&amp;gt; Disable sleep (useful when flashing from userland)&lt;br /&gt;
example: BBUpdater queryversion -D&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;-P &amp;lt;/b&amp;gt;disables the initial AT+ XGENDATA ping/check sequence (baseband info will shown as 'unknown')&lt;br /&gt;
example: BBUpdaterExtreme queryversion -P&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;-S&amp;lt;/b&amp;gt; run without disabling sleep (useful in ramdisk)&lt;br /&gt;
example: BBUpdater queryversion -S&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;-l &amp;lt;/b&amp;gt;load/ bootloader&lt;/div&gt;</summary>
		<author><name>JackR1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=BBUpdaterExtreme&amp;diff=25431</id>
		<title>BBUpdaterExtreme</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=BBUpdaterExtreme&amp;diff=25431"/>
		<updated>2012-04-13T07:58:18Z</updated>

		<summary type="html">&lt;p&gt;JackR1: /* Compatible Chipsets */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the tool used by Apple to updateflash the Baseband of XGOLD basebands.&lt;br /&gt;
It also allow to do some more things like changing the IMEI SV or just powercycling damaged baseband.&lt;br /&gt;
&lt;br /&gt;
The tool seems to make a connection to the device to flash the firmware, the eeprom and the bootloader.&lt;br /&gt;
The Device is the Emergency Bootloader of the iPhone which also is the only gate to flash the baseband.&lt;br /&gt;
&lt;br /&gt;
There have been some tries to make custom fls / eep files ( which are needed to flash the baseband of the device ).&lt;br /&gt;
This method could bring back 06.15.00 devices back which are now damaged. &lt;br /&gt;
&lt;br /&gt;
With this tool it is not possible to downgrade any baseband version.&lt;br /&gt;
&lt;br /&gt;
==Commands==&lt;br /&gt;
*BBUpdaterExtreme help [unknown option] [?]&lt;br /&gt;
*BBUpdaterExtreme queryversion | prints the current status of baseband firmware&lt;br /&gt;
*BBUpdaterExtreme update -f ICE2_xx.xx.xx.fls -e ICE2_xx.xx.xx.eep | UPDATES ( not downgrades!!! ) Firmware version&lt;br /&gt;
*BBUpdaterExtreme imeisv [option] | changes the imeisv value&lt;br /&gt;
*BBUpdaterExtreme automatic -S -F [or -L for BL] | for automatic update (while firmware restores)&lt;br /&gt;
*BBUpdaterExtreme audioparameters [?]&lt;br /&gt;
*BBUpdaterExtreme ice3dump [?]&lt;br /&gt;
*BBUpdaterExtreme staticeep [?]&lt;br /&gt;
&lt;br /&gt;
Source: [http://forum.gsmhosting.com/vbb/8058886-post191.html]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;update // performs manual update of Baseband&amp;lt;/u&amp;gt;&lt;br /&gt;
&amp;lt;/b&amp;gt;BBUpdaterExtreme update -f /mnt1/gecko/bin/ICE2_05.16.05.fls&lt;br /&gt;
^^&amp;lt;i&amp;gt;attempts an upgrade of single .FLS (flash) file only&amp;lt;/i&amp;gt;&lt;br /&gt;
BBUpdaterExtreme update -e /usr/local/standalone/firmware/ICE2_05.16.05.fls&lt;br /&gt;
^^&amp;lt;i&amp;gt;attempts an upgrade of single .EEP '(eeprom) file only&amp;lt;/i&amp;gt;&lt;br /&gt;
BBUpdaterExtreme update -l bl.fls&lt;br /&gt;
^^&amp;lt;i&amp;gt;attempts an upgrade of single .FLS bootloader file only&amp;lt;/i&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;automatic // performs automatic update of Baseband&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
BBUpdaterExtreme automatic -S -L /mnt1/bin -x&lt;br /&gt;
^^ this will update bootloader (if newer versions is available)&lt;br /&gt;
BBUpdaterExtreme automatic -S -F /mnt1/bin -x&lt;br /&gt;
^^ this will update both fls and EEP in specified folder (if newer version is available)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;imeisv // Sets the IMEI software version bits&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
BBUpdaterExtreme imeisv -v 018&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;queryversion // prints current Baseband status (AT+XGENDATA)&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
BBUpdaterExtreme queryversion&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;audioparameters // sets baseband EEP audio parameters&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
BBUpdaterExtreme audioparameters -p /mnt1/bin/BasebandAudioParameters.c&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;powercycle // powercycles the modem&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
BBUpdaterExtreme powercycle -o 5 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;staticeepcheck // Checks the backup of a static eep&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
BBUpdaterExtreme staticeepcheck -F /mnt1/tmp&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;nukegnvram // Clears specific data from non volatile RAM&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
BBUpdaterExtreme nukegnvram&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;memtest // Performs a Memory test&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
BBUpdaterExtreme memtest&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;staticeep // Backs up static eep?&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
BBUpdaterExtreme staticeep -d backup.bin -f ICE2_05.16.05.eep -S &amp;amp;lt; ??? change&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;help&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
supposed to show help, does nothing in recent versions&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;&amp;lt;u&amp;gt;List of switches with args&amp;lt;/u&amp;gt;&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;-a&amp;lt;/b&amp;gt; ??&lt;br /&gt;
example: BBUpdaterExtreme update -e ICE2_05.16.05.eep -a 10&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;-b&amp;lt;/b&amp;gt; sets a specific boot code&lt;br /&gt;
example: BBUpdaterExtreme update -e ICE2_05.15.04.eep -S -b 4154 &amp;amp;lt;X-GOLD&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;-i&amp;lt;/b&amp;gt; Version ID; customize flashing per device&lt;br /&gt;
example:&lt;br /&gt;
BBUpdaterExtreme queryversion -i K48 &amp;amp;lt; iPad 1 (X-GOLD)&lt;br /&gt;
BBUpdaterExtreme queryversion -i 1 &amp;amp;lt;iPhone 3G? (S-GOLD)&lt;br /&gt;
BBUpdaterExtreme queryversion -i 2 &amp;amp;lt;iPhone 3GS? (X-GOLD)&lt;br /&gt;
BBUpdaterExtreme queryversion -i 3 &amp;amp;lt;iPhone 4? (XMM)&lt;br /&gt;
&lt;br /&gt;
on 3GS :&lt;br /&gt;
choosing 1 will give you &amp;amp;quot;Opening device for pinging failed, did you forget to stop CommCenter?&amp;amp;quot;&lt;br /&gt;
Choosing 2 will successfully boot and flash&lt;br /&gt;
Choosing 3 will hang on sending Boot code&lt;br /&gt;
Choosing K48 will successfully boot and flash&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;-f&amp;lt;/b&amp;gt; file / flash file / firmware&lt;br /&gt;
example: BBUpdaterExtreme update -f /mnt1/bin/ICE2_05.16.05.fls&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;-F&amp;lt;/b&amp;gt; Folder&lt;br /&gt;
example: BBUpdaterExtreme automatic -S -F /mnt1/bin -x&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;-v&amp;lt;/b&amp;gt; Version&lt;br /&gt;
example: BBUpdaterExtreme imeisv -v 018&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;-t &amp;lt;/b&amp;gt;test count? (iterations)&lt;br /&gt;
example: memtest -t 5&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;-L&amp;lt;/b&amp;gt; points to a folder for bootloader upgrade in automatic mode&lt;br /&gt;
example: BBUpdaterExtreme automatic -S -L /mnt1/bin&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;-p&amp;lt;/b&amp;gt; path? / parameters?&lt;br /&gt;
example: BBUpdaterExtreme audioparameters -p /mnt1/bin/params.c &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;&amp;lt;b&amp;gt;Switches with no args&amp;lt;/b&amp;gt;&amp;lt;/u&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;-!&amp;lt;/b&amp;gt; uses &amp;amp;quot;old style&amp;amp;quot; AT upgrade sequence (boot pattern 0x41, 0x54)&lt;br /&gt;
example: BBUpdaterExtreme update -f ICE2_05.16.05.fls -!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;-#&amp;lt;/b&amp;gt; ??&lt;br /&gt;
example: BBUpdaterExtreme update -f ICE2_05.16.05.fls -#&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;-D&amp;lt;/b&amp;gt; Disable sleep (useful when flashing from userland)&lt;br /&gt;
example: BBUpdater queryversion -D&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;-P &amp;lt;/b&amp;gt;disables the initial AT+ XGENDATA ping/check sequence (baseband info will shown as 'unknown')&lt;br /&gt;
example: BBUpdaterExtreme queryversion -P&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;-S&amp;lt;/b&amp;gt; run without disabling sleep (useful in ramdisk)&lt;br /&gt;
example: BBUpdater queryversion -S&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;-l &amp;lt;/b&amp;gt;load/ bootloader&lt;/div&gt;</summary>
		<author><name>JackR1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=IDA_Pro_Setup&amp;diff=24535</id>
		<title>IDA Pro Setup</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=IDA_Pro_Setup&amp;diff=24535"/>
		<updated>2012-02-10T09:18:33Z</updated>

		<summary type="html">&lt;p&gt;JackR1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==How to set up IDA pro to reverse the 3G baseband==&lt;br /&gt;
&lt;br /&gt;
The [[X-Gold 608]] has a memory map, as seen in it's page.&lt;br /&gt;
&lt;br /&gt;
The [[Secpack 2.0]] takes up the first 0xCF8 of the .fls file.&lt;br /&gt;
&lt;br /&gt;
So to load the 3G .fls file into IDA pro, the file offset is 0xCF8(for the secpack), and the CODE starts at the ROM start address of 0x20040000(since it's the main firmware)&lt;br /&gt;
&lt;br /&gt;
For real noobs:&lt;br /&gt;
 1. Drag the fls file into IDA&lt;br /&gt;
 2. Select ARM&lt;br /&gt;
 3. Change ROM start address to 0x20040000&lt;br /&gt;
 4. Change Loading address to 0x20040000&lt;br /&gt;
 5. Change File offset to 0xCF8&lt;br /&gt;
 6. Copy Loading size into ROM size&lt;br /&gt;
 7. Press OK&lt;br /&gt;
 8. The entry point is the address at 0x20040408&lt;br /&gt;
 9. Go to 20100004 and Press &amp;quot;C&amp;quot; to start. ~Deco&lt;br /&gt;
 10. Read the instructions so you can find other places where you can press &amp;quot;C&amp;quot; to get more code. ~Deco&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are some key combinations to use:&lt;br /&gt;
* c = turn the 'gibberish' into code&lt;br /&gt;
* d = turn the 'gibberish' into data&lt;br /&gt;
* a = turn the 'gibberish' into a string&lt;br /&gt;
* u = undefine what you just may have done, i usually use this since there is no real edit+undo in IDA so this is the next best thing&lt;br /&gt;
* Alt+G = toggle the Register T from 0 / 1 to toggle arm and thumb mode when needed&lt;br /&gt;
&lt;br /&gt;
== some hints for getting the mnemonics from n00b for noobs (read: master noob for noobs ;-) )==&lt;br /&gt;
&lt;br /&gt;
The autoanalysis didn't work very well. There were a lot of silly mnemonics, simply interleaving thumb and arm mode or other nasty stuff. I then tried to identify strings, pressing 'A'. Boring... What pushed it up a little bit is this:&lt;br /&gt;
&lt;br /&gt;
Most code is 'embraced' by 'embracing' code:&lt;br /&gt;
- push / pop for thumb mod&lt;br /&gt;
- STMFD / LDMFD for arm mode&lt;br /&gt;
&lt;br /&gt;
Even better, all versions of above codes have similar instruction sets. So you can find all occurences of STMFD by hex searching '2D E9', going two bytes back (did I say code is aligned? 4bytes in arm starting at 00 04 08 0c, 2bytes in thumb mode!) and pressing 'C'. If you see scrambled code, then (probably) the wrong mode (thumb) is enabled. Just press Alt-G, change the value for T to zero. See?!&lt;br /&gt;
The same goes for thumb mode. Push instructions are 'B5' preceeded by 02 0B 4E 72 30 10 F0 70 F3 7C 55 1F 30 3E 0E 1C 08 7F ... So just look for e.g. '10 B5' at two-byte boarders (Alt-B to set, Ctrl-B to search again) and you will easily find all occurences. Again, if it is scrambled, switch back to thumb mode (Alt-G, T=1).&lt;br /&gt;
After all, you can hex browse a little bit and press 'C' for missing code or 'A' for text.&lt;br /&gt;
&lt;br /&gt;
Above is a very simple 'algorithm', maybe there is an appropiate IDA plugin. Or you could write one :-) !&lt;br /&gt;
&lt;br /&gt;
[http://code.assembla.com/ks360/subversion/nodes/utils/Analyze.py Script] with [http://d-dome.net/idapython/ IDAPython]&lt;br /&gt;
&lt;br /&gt;
== IDA Pro Signature Files ==&lt;br /&gt;
&lt;br /&gt;
Link to download signature files that can be used in reversing the iPhone baseband.&lt;br /&gt;
&lt;br /&gt;
They are mostly Real View runtime library sigs:&lt;br /&gt;
&lt;br /&gt;
    RVCT RTL 2.2&lt;br /&gt;
    RVCT RTL 3.1&lt;br /&gt;
    RVCT RTL 4.4&lt;br /&gt;
&lt;br /&gt;
    ThreadX sig for iPhone 4 - however this only picks up a couple of functions, not sure how Apple compiled threadx, with which compiler, optimizations. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On an iPhone 4 firmware can pickup upto 800 functions when all the sigs applied.&lt;br /&gt;
&lt;br /&gt;
[http://www.mediafire.com/?kz4dlcnzfwixkkv  Sigs]&lt;br /&gt;
&lt;br /&gt;
==Addresses of known functions / code locations==&lt;br /&gt;
===Baseband 02.28.00===&lt;br /&gt;
* 0x201497B0 - maybe AT Command handler? (uses strings such as &amp;quot;OK&amp;quot;, &amp;quot;ERROR&amp;quot;, &amp;quot;UNKNOWN COMMAND&amp;quot;)&lt;br /&gt;
* 0x203C51BC - probably prints text&lt;br /&gt;
* 0x201420AC - malloc (according to Darkmen)&lt;br /&gt;
* 0x203C58A0 - bytecpy (according to Darkmen)&lt;br /&gt;
* 0x203FB540 - NU_Create_Task (according to Darkmen)&lt;br /&gt;
* 0x2046DD00 - sprintf (according to Darkmen)&lt;br /&gt;
* 0x20165998 - NU_Receive_From_Mailbox (according to Darkmen)&lt;br /&gt;
* 0x203ED568 - NU_Send_To_Mailbox (according to Darkmen)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Baseband 5.12.01    3.1.3 (Build 7E18)===&lt;br /&gt;
* 0x203C2714 - IMEI routine&lt;br /&gt;
* 0x2062CF28 - default IMEI (0A 40 99 09  01 46 00 00)&lt;/div&gt;</summary>
		<author><name>JackR1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=List_of_baseband_commands&amp;diff=22396</id>
		<title>List of baseband commands</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=List_of_baseband_commands&amp;diff=22396"/>
		<updated>2011-11-13T10:03:41Z</updated>

		<summary type="html">&lt;p&gt;JackR1: /* AT+X... */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;For instructions how to use these commands, please see [[Baseband Commands]].&lt;br /&gt;
&lt;br /&gt;
List compiled by [[User:keps|keps]].&lt;br /&gt;
&lt;br /&gt;
==Other==&lt;br /&gt;
*ASSIGN (Present in [[2.10.04]])&lt;br /&gt;
* AT&lt;br /&gt;
* AT@ (Present in [[2.10.04]])&lt;br /&gt;
* ATD &lt;br /&gt;
* AT&amp;amp;H (Show more baseband commands)&lt;br /&gt;
* AT&amp;amp;V (Display the profiles in the baseband)&lt;br /&gt;
* ATE (Present in [[2.10.04]])&lt;br /&gt;
* ATH (Present in [[2.10.04]])&lt;br /&gt;
* ATZ (Present in [[2.10.04]])&lt;br /&gt;
&lt;br /&gt;
==AT+A... (present in [[2.10.04]])==&lt;br /&gt;
* AT+ATA&lt;br /&gt;
* AT+ATAC&lt;br /&gt;
* AT+ATAD &lt;br /&gt;
* AT+ATAE &lt;br /&gt;
* AT+ATAF &lt;br /&gt;
* AT+ATAH &lt;br /&gt;
* AT+ATAK  &lt;br /&gt;
* AT+ATAS &lt;br /&gt;
* AT+ATAV &lt;br /&gt;
* AT+ATAW  &lt;br /&gt;
* AT+ATAY &lt;br /&gt;
* AT+ATBQ &lt;br /&gt;
* AT+ATD  &lt;br /&gt;
* AT+ATDL &lt;br /&gt;
* AT+ATDPBK &lt;br /&gt;
* AT+ATE  &lt;br /&gt;
* AT+ATH &lt;br /&gt;
* AT+ATI  &lt;br /&gt;
* AT+ATL &lt;br /&gt;
* AT+ATM &lt;br /&gt;
* AT+ATO &lt;br /&gt;
* AT+ATON &lt;br /&gt;
* AT+ATP  &lt;br /&gt;
* AT+ATQ  &lt;br /&gt;
* AT+ATSN  &lt;br /&gt;
* AT+ATT &lt;br /&gt;
* AT+ATV  &lt;br /&gt;
* AT+ATX &lt;br /&gt;
* AT+ATZ  &lt;br /&gt;
&lt;br /&gt;
==AT+B...==&lt;br /&gt;
* AT+BINP&lt;br /&gt;
* AT+BLDN&lt;br /&gt;
* AT+BRSF&lt;br /&gt;
* AT+BVRA&lt;br /&gt;
&lt;br /&gt;
==AT+C...==&lt;br /&gt;
* AT+CACM&lt;br /&gt;
* AT+CAEMLPP&lt;br /&gt;
* AT+CALA&lt;br /&gt;
* AT+CALD&lt;br /&gt;
* AT+CALM&lt;br /&gt;
* AT+CAMM (present in [[2.10.04]])&lt;br /&gt;
* AT+CAOC&lt;br /&gt;
* AT+CBC&lt;br /&gt;
* AT+CBST&lt;br /&gt;
* AT+CCFC&lt;br /&gt;
* AT+CCID&lt;br /&gt;
* AT+CCLK&lt;br /&gt;
* AT+CCUG&lt;br /&gt;
* AT+CCWA&lt;br /&gt;
* AT+CCWE&lt;br /&gt;
* AT+CDIS (present in [[2.10.04]])&lt;br /&gt;
* AT+CEER&lt;br /&gt;
* AT+CFUN&lt;br /&gt;
* AT+CGACT&lt;br /&gt;
* AT+CGANS&lt;br /&gt;
* AT+CGATT&lt;br /&gt;
* AT+CGAUTO&lt;br /&gt;
* AT+CGCLASS&lt;br /&gt;
* AT+CGCMOD&lt;br /&gt;
* AT+CGDATA&lt;br /&gt;
* AT+CGDCONT&lt;br /&gt;
* AT+CGDSCONT&lt;br /&gt;
* AT+CGED&lt;br /&gt;
* AT+CGEQMIN&lt;br /&gt;
* AT+CGEQNEG&lt;br /&gt;
* AT+CGEQREQ&lt;br /&gt;
* AT+CGEREP&lt;br /&gt;
* AT+CGMI&lt;br /&gt;
* AT+CGMM&lt;br /&gt;
* AT+CGMR&lt;br /&gt;
* AT+CGPADDR&lt;br /&gt;
* AT+CGQMIN&lt;br /&gt;
* AT+CGQREQ&lt;br /&gt;
* AT+CGREG&lt;br /&gt;
* AT+CGSMS&lt;br /&gt;
* AT+CGSN&lt;br /&gt;
* AT+CGTFT&lt;br /&gt;
* AT+CHLD&lt;br /&gt;
* AT+CHUP&lt;br /&gt;
* AT+CIMI&lt;br /&gt;
* AT+CIND&lt;br /&gt;
* AT+CKPD (Present in [[2.10.04]])&lt;br /&gt;
* AT+CLAC (Show some baseband commands.)&lt;br /&gt;
* AT+CLAN (Present in [[5.12.01]])&lt;br /&gt;
* AT+CLCC&lt;br /&gt;
* AT+CLCK (Traditional unlock method.)&lt;br /&gt;
* AT+CLIP&lt;br /&gt;
* AT+CLIR&lt;br /&gt;
* AT+CLVL&lt;br /&gt;
* AT+CMDR (Present in [[2.10.04]])&lt;br /&gt;
* AT+CMDW (Present in [[2.10.04]])&lt;br /&gt;
* AT+CMEC&lt;br /&gt;
* AT+CMEE&lt;br /&gt;
* AT+CMER&lt;br /&gt;
* AT+CMGC&lt;br /&gt;
* AT+CMGD&lt;br /&gt;
* AT+CMGF (SMS operating mode.)&lt;br /&gt;
* AT+CMGL&lt;br /&gt;
* AT+CMGR&lt;br /&gt;
* AT+CMGS (Sends SMS message.)&lt;br /&gt;
* AT+CMGW&lt;br /&gt;
* AT+CMMS&lt;br /&gt;
* AT+CMOD&lt;br /&gt;
* AT+CMSS&lt;br /&gt;
* AT+CMUT&lt;br /&gt;
* AT+CMUX&lt;br /&gt;
* AT+CNAP&lt;br /&gt;
* AT+CNMA&lt;br /&gt;
* AT+CNMI&lt;br /&gt;
* AT+CNUM&lt;br /&gt;
* AT+COLP&lt;br /&gt;
* AT+COLR&lt;br /&gt;
* AT+COPN&lt;br /&gt;
* AT+COPS&lt;br /&gt;
* AT+CPAS&lt;br /&gt;
* AT+CPBF&lt;br /&gt;
* AT+CPBR&lt;br /&gt;
* AT+CPBS&lt;br /&gt;
* AT+CPBW&lt;br /&gt;
* AT+CPGR (Present in [[2.10.04]])&lt;br /&gt;
* AT+CPIN&lt;br /&gt;
* AT+CPLS&lt;br /&gt;
* AT+CPMS (Present in [[2.10.04]])&lt;br /&gt;
* AT+CPOL&lt;br /&gt;
* AT+CPUC&lt;br /&gt;
* AT+CPWAC (Present in [[2.10.04]])&lt;br /&gt;
* AT+CPWD&lt;br /&gt;
* AT+CPWROFF&lt;br /&gt;
* AT+CR&lt;br /&gt;
* AT+CRC&lt;br /&gt;
* AT+CREG&lt;br /&gt;
* AT+CRES&lt;br /&gt;
* AT+CRLP&lt;br /&gt;
* AT+CRSL&lt;br /&gt;
* AT+CRSM&lt;br /&gt;
* AT+CSAS&lt;br /&gt;
* AT+CSCA&lt;br /&gt;
* AT+CSCB&lt;br /&gt;
* AT+CSCC (Present in [[2.10.04]])&lt;br /&gt;
* AT+CSCS&lt;br /&gt;
* AT+CSDH&lt;br /&gt;
* AT+CSGT&lt;br /&gt;
* AT+CSIM&lt;br /&gt;
* AT+CSMP&lt;br /&gt;
* AT+CSMS&lt;br /&gt;
* AT+CSQ&lt;br /&gt;
* AT+CSSN&lt;br /&gt;
* AT+CSTA&lt;br /&gt;
* AT+CSVM&lt;br /&gt;
* AT+CTFR&lt;br /&gt;
* AT+CTZR&lt;br /&gt;
* AT+CTZU&lt;br /&gt;
* AT+CUSD&lt;br /&gt;
* AT+CUUS1 (Present in [[5.12.01]])&lt;br /&gt;
* AT+CXAR (Present in [[2.10.04]])&lt;br /&gt;
* AT+CXDR (Present in [[2.10.04]])&lt;br /&gt;
* AT+CXDW (Present in [[2.10.04]])&lt;br /&gt;
* AT+CXRR (Present in [[2.10.04]])&lt;br /&gt;
&lt;br /&gt;
==AT+D... (Present in [[2.10.04]])==&lt;br /&gt;
* AT+DDLD &lt;br /&gt;
* AT+DDLE &lt;br /&gt;
* AT+DDLI&lt;br /&gt;
* AT+DDLL &lt;br /&gt;
* AT+DDLR &lt;br /&gt;
* AT+DDLS &lt;br /&gt;
* AT+DDLU&lt;br /&gt;
* AT+DDLW  &lt;br /&gt;
* AT+DS &lt;br /&gt;
&lt;br /&gt;
==AT+E... (Present in [[2.10.04]])==&lt;br /&gt;
* AT+ETBM&lt;br /&gt;
&lt;br /&gt;
==AT+F...==&lt;br /&gt;
* AT+FAA&lt;br /&gt;
* AT+FAP&lt;br /&gt;
* AT+FBO&lt;br /&gt;
* AT+FBS&lt;br /&gt;
* AT+FBU&lt;br /&gt;
* AT+FCC&lt;br /&gt;
* AT+FCLASS&lt;br /&gt;
* AT+FCQ&lt;br /&gt;
* AT+FCR&lt;br /&gt;
* AT+FCS&lt;br /&gt;
* AT+FCT&lt;br /&gt;
* AT+FDR&lt;br /&gt;
* AT+FDT&lt;br /&gt;
* AT+FEA&lt;br /&gt;
* AT+FFC&lt;br /&gt;
* AT+FFD&lt;br /&gt;
* AT+FHS&lt;br /&gt;
* AT+FIE&lt;br /&gt;
* AT+FIP&lt;br /&gt;
* AT+FIS&lt;br /&gt;
* AT+FIT&lt;br /&gt;
* AT+FKS&lt;br /&gt;
* AT+FLI&lt;br /&gt;
* AT+FLO&lt;br /&gt;
* AT+FLP&lt;br /&gt;
* AT+FMR (Present in [[5.12.01]])&lt;br /&gt;
* AT+FMS&lt;br /&gt;
* AT+FND&lt;br /&gt;
* AT+FNR&lt;br /&gt;
* [[AT+FNS]]&lt;br /&gt;
** (exploitable crash in [[4.26.08]])&lt;br /&gt;
* AT+FPA&lt;br /&gt;
* AT+FPI&lt;br /&gt;
* AT+FPP&lt;br /&gt;
* AT+FPS&lt;br /&gt;
* AT+FPW&lt;br /&gt;
* AT+FRQ&lt;br /&gt;
* AT+FRY&lt;br /&gt;
* AT+FSA&lt;br /&gt;
* AT+FSP&lt;br /&gt;
&lt;br /&gt;
==AT+G...==&lt;br /&gt;
* AT+GCAP&lt;br /&gt;
* AT+GMI&lt;br /&gt;
* AT+GMM&lt;br /&gt;
* AT+GMR&lt;br /&gt;
* AT+GSN&lt;br /&gt;
&lt;br /&gt;
==AT+I...==&lt;br /&gt;
* AT+ICF&lt;br /&gt;
* AT+IFC&lt;br /&gt;
* AT+IPR&lt;br /&gt;
&lt;br /&gt;
==AT+L... (Present in [[2.10.04]])==&lt;br /&gt;
* AT+LAST_CMD&lt;br /&gt;
* AT+LEGACY&lt;br /&gt;
&lt;br /&gt;
==AT+N...==&lt;br /&gt;
* AT+NREC&lt;br /&gt;
&lt;br /&gt;
==AT+P... (Present in [[2.10.04]])==&lt;br /&gt;
* AT+PDU_INFO&lt;br /&gt;
&lt;br /&gt;
==AT+S...==&lt;br /&gt;
* AT+SBEG (Present in [[2.10.04]])&lt;br /&gt;
* AT+SMSSRESUL (Present in [[5.12.01]])&lt;br /&gt;
* AT+STKENV&lt;br /&gt;
* AT+STKLBR&lt;br /&gt;
* AT+STKPRO&lt;br /&gt;
* [[AT+stkprof|AT+STKPROF]]&lt;br /&gt;
** (exploitable crash in [[2.28.00]])&lt;br /&gt;
* AT+STKTR&lt;br /&gt;
&lt;br /&gt;
==AT+T...==&lt;br /&gt;
* AT+TRACE&lt;br /&gt;
&lt;br /&gt;
==AT+U... (Present in [[2.10.04]])==&lt;br /&gt;
* AT+UNKNOWN &lt;br /&gt;
&lt;br /&gt;
==AT+V...==&lt;br /&gt;
* AT+VGM&lt;br /&gt;
* AT+VGR (Present in [[5.12.01]])&lt;br /&gt;
* AT+VGS&lt;br /&gt;
* AT+VGT (Present in [[5.12.01]])&lt;br /&gt;
* AT+VTD&lt;br /&gt;
* AT+VTS&lt;br /&gt;
&lt;br /&gt;
==AT+W... (Present in [[5.12.01]])==&lt;br /&gt;
* AT+WS46&lt;br /&gt;
&lt;br /&gt;
==AT+X...==&lt;br /&gt;
* AT+XADDTRACE&lt;br /&gt;
* AT+XALS&lt;br /&gt;
* AT+XALSBLOCK&lt;br /&gt;
* AT+XAPOXI&lt;br /&gt;
* [[AT+XAPP Vulnerability|AT+XAPP]]&lt;br /&gt;
** (exploitable crash in [[5.13.04]] with command &amp;quot;AT+XAPP=&amp;quot;kepskepskepskepskepskepskepskeps&amp;quot;)&lt;br /&gt;
* AT+XBANDSEL&lt;br /&gt;
* AT+XCALLREFUSE&lt;br /&gt;
* AT+XCALLSTAT&lt;br /&gt;
* AT+XCAOC&lt;br /&gt;
* AT+XCBS&lt;br /&gt;
* AT+XAT+CCBS&lt;br /&gt;
* AT+XCEER&lt;br /&gt;
* AT+XCELLINFO&lt;br /&gt;
* AT+XCFC&lt;br /&gt;
* AT+XCGCLASS&lt;br /&gt;
* AT+XCGEDPAGE (Present in [[5.12.01]])&lt;br /&gt;
* AT+XCHNSIM&lt;br /&gt;
* AT+XCIND&lt;br /&gt;
* AT+XCIPH&lt;br /&gt;
* AT+XCONFIG&lt;br /&gt;
* AT+XCOPS&lt;br /&gt;
* AT+XCRSM&lt;br /&gt;
* AT+XCSIM&lt;br /&gt;
* AT+XCSP&lt;br /&gt;
* AT+XCSPAGING&lt;br /&gt;
* AT+XCSSMS&lt;br /&gt;
* AT+XCTMDR&lt;br /&gt;
* AT+XCTMS&lt;br /&gt;
* AT+XDATACHANNEL (Present in [[5.12.01]])&lt;br /&gt;
* AT+XDEV&lt;br /&gt;
* AT+XDEVICE&lt;br /&gt;
* AT+XDIAG&lt;br /&gt;
* AT+XDNOABORT&lt;br /&gt;
* AT+XDNS&lt;br /&gt;
* AT+XDRV&lt;br /&gt;
* AT+XDTMF&lt;br /&gt;
* AT+XEMC (Present in [[5.12.01]])&lt;br /&gt;
* [[AT+XEMN Heap Overflow|AT+XEMN]] (Present in [[5.11.07]])&lt;br /&gt;
** (exploitable crash in [[5.11.07]] with lots of zeroes)&lt;br /&gt;
* AT+XEONS&lt;br /&gt;
* AT+XETFT&lt;br /&gt;
* AT+XFDOR (Present in [[5.12.01]])&lt;br /&gt;
* AT+XFDORT (Present in [[5.12.01]])&lt;br /&gt;
* AT+XGAUTH&lt;br /&gt;
* AT+XGCNTRD&lt;br /&gt;
* AT+XGCNTSET&lt;br /&gt;
* AT+XGENDATA (Displays some information about the baseband.)&lt;br /&gt;
* AT+XGENDATE (Present in [[02.10.04]])&lt;br /&gt;
* AT+XGPRSERRMAP (Present in [[5.12.01]])&lt;br /&gt;
* AT+XHANDSFREE&lt;br /&gt;
* AT+XHOMEZR&lt;br /&gt;
* AT+XHSDUPA (Present in [[5.12.01]])&lt;br /&gt;
* AT+XIA (Present in [[5.12.01]])&lt;br /&gt;
* AT+XIMS&lt;br /&gt;
* AT+XL1SET&lt;br /&gt;
* AT+XLCAPS&lt;br /&gt;
* AT+XLCK&lt;br /&gt;
* AT+XLGASSIST (Present in [[5.12.01]])&lt;br /&gt;
* AT+XLGCPL (Present in [[5.12.01]])&lt;br /&gt;
* AT+XLGEMSRS (Present in [[04.10.01]])&lt;br /&gt;
* AT+XLGINFO (Present in [[5.12.01]])&lt;br /&gt;
* AT+XLGLOGLEV (Present in [[5.12.01]])&lt;br /&gt;
* AT+XLGMODE (Present in [[5.12.01]])&lt;br /&gt;
* AT+XLGMOTIONTYPE (Present in [[5.12.01]])&lt;br /&gt;
* AT+XLGNAV (Present in [[5.12.01]])&lt;br /&gt;
* AT+XLGNMEA (Present in [[5.12.01]])&lt;br /&gt;
* AT+XLGNVRAM (Present in [[5.12.01]])&lt;br /&gt;
* AT+XLGPOS (Present in [[5.12.01]])&lt;br /&gt;
* AT+XLGSENSORDATA (Present in [[5.12.01]])&lt;br /&gt;
* AT+XLGTEST (Present in [[5.12.01]])&lt;br /&gt;
* AT+XLGTIME (Present in [[5.12.01]])&lt;br /&gt;
* AT+XLIN&lt;br /&gt;
* AT+XLOCK (Wildcard unlock. Present in [[5.12.01]])&lt;br /&gt;
* [[AT+XLOG Vulnerability|AT+XLOG]]&lt;br /&gt;
** (exploitable crash in [[4.26.08]] with command &amp;quot;AT+XLOG=1,&amp;quot;kepskepskepskepskepskepskepskepskepskepskepskeps&amp;quot;)&lt;br /&gt;
* AT+XLOOPBACK&lt;br /&gt;
* AT+XLQOS&lt;br /&gt;
* AT+XLRMT&lt;br /&gt;
* AT+XLRSUPL (Present in [[5.12.01]])&lt;br /&gt;
* AT+XLRTA&lt;br /&gt;
* AT+XLRV&lt;br /&gt;
* AT+XLRWAP (Present in [[2.10.04]])&lt;br /&gt;
* AT+XLSR&lt;br /&gt;
* AT+XLSRSTOP (Present in [[5.12.01]])&lt;br /&gt;
* AT+XMAGETBLOCK&lt;br /&gt;
* AT+XMAGETKEY&lt;br /&gt;
* AT+XMER&lt;br /&gt;
* AT+XMSG&lt;br /&gt;
* AT+XMULTISLOT&lt;br /&gt;
* AT+XMUX&lt;br /&gt;
* AT+XNMI&lt;br /&gt;
* [[AT+XNONCE]] (Random string generated on bootup. Present in [[5.12.01]].)&lt;br /&gt;
* AT+XPIN&lt;br /&gt;
* AT+XPINCNT&lt;br /&gt;
* AT+XPOW&lt;br /&gt;
* AT+XPPP&lt;br /&gt;
* AT+XPROGRESS&lt;br /&gt;
* AT+XQNEG&lt;br /&gt;
* AT+XRAT&lt;br /&gt;
* AT+XREDIAL&lt;br /&gt;
* AT+XREG&lt;br /&gt;
* AT+XREL&lt;br /&gt;
* AT+XRFS&lt;br /&gt;
* AT+XRLCSET&lt;br /&gt;
* AT+XRRSET&lt;br /&gt;
* AT+XSCELLLOCK (Present in [[5.12.01]])&lt;br /&gt;
* AT+XSECSTATE&lt;br /&gt;
* AT+XSELFRXSTAT&lt;br /&gt;
* AT+XSERVICE&lt;br /&gt;
* AT+XSIMCHG&lt;br /&gt;
* AT+XSIMLG&lt;br /&gt;
* AT+XSIMLOOPBACK&lt;br /&gt;
* AT+XSIMSIMUL (Present in [[2.10.04]])&lt;br /&gt;
* AT+XSIMSTATE (Reports lock state.)&lt;br /&gt;
* AT+XSIMVALID&lt;br /&gt;
* AT+XSIO&lt;br /&gt;
* AT+XSLN&lt;br /&gt;
* AT+XSMS&lt;br /&gt;
* AT+XSTK&lt;br /&gt;
* AT+XSTRESSSIM&lt;br /&gt;
* AT+XSVM&lt;br /&gt;
* AT+XSYSERR (Present in [[5.12.01]])&lt;br /&gt;
* AT+XTDEV&lt;br /&gt;
* AT+XTERM (Present in [[5.12.01]])&lt;br /&gt;
* AT+XTESM&lt;br /&gt;
* AT+XTEST (Present in [[5.12.01]])&lt;br /&gt;
* AT+XTFILTER&lt;br /&gt;
* AT+XTHUMB&lt;br /&gt;
* AT+XTOS&lt;br /&gt;
* AT+XTRACECONFIG (Present in [[5.12.01]])&lt;br /&gt;
* AT+XTRACEIP&lt;br /&gt;
* AT+XTRACESYSTIME&lt;br /&gt;
* AT+XTRANSPORTMODE&lt;br /&gt;
* AT+XUBANDSEL (Present in [[5.12.01]])&lt;br /&gt;
* AT+XUICC (Present in [[5.12.01]])&lt;br /&gt;
* AT+XUSBFLASH&lt;br /&gt;
* AT+XVTS&lt;br /&gt;
&lt;br /&gt;
[[Category:Baseband]]&lt;/div&gt;</summary>
		<author><name>JackR1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=AT%2BXNONCE&amp;diff=21422</id>
		<title>AT+XNONCE</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=AT%2BXNONCE&amp;diff=21422"/>
		<updated>2011-10-08T03:49:27Z</updated>

		<summary type="html">&lt;p&gt;JackR1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The AT+NONCE command returns a random string that was generated at boot time. This string is used together with some other device specific identifiers as a base to let Apple generate a certificate, similar to [[SHSH]], to allow installation of [[Baseband Firmware|baseband firmware]]. The baseband checks the certificate and allows or denies installation of its firmware.&lt;br /&gt;
&lt;br /&gt;
This string can be obtained by using the [[MobileDevice Library]] to call for AMDeviceCopyValue on &amp;quot;BasebandNonce&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===References / More infos===&lt;br /&gt;
*&amp;lt;del&amp;gt;[http://iphwn.org/nonce.txt example command]&amp;lt;/del&amp;gt; &lt;br /&gt;
&lt;br /&gt;
at+xnonce?&lt;br /&gt;
+XNONCE: &amp;quot;10552274670825F9892C22752D9509378F2154CA&amp;quot;&lt;br /&gt;
&lt;br /&gt;
OK&lt;br /&gt;
&lt;br /&gt;
*[[Talk:XMM_6180#Downgrade|discussion]]&lt;br /&gt;
*[[User:MuscleNerd|MuscleNerd]] says [http://twitter.com/MuscleNerd/status/18667056119 &amp;quot;baseband is stricter signed&amp;quot;].&lt;br /&gt;
&lt;br /&gt;
{{stub|firmware}}&lt;/div&gt;</summary>
		<author><name>JackR1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Talk:Baseband_Commands&amp;diff=21134</id>
		<title>Talk:Baseband Commands</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Talk:Baseband_Commands&amp;diff=21134"/>
		<updated>2011-09-23T13:44:12Z</updated>

		<summary type="html">&lt;p&gt;JackR1: /* Working on the iPhone 4? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;i bought an iphone from 2weeks with baseband 02.30.03 and bootlooder 6.2 and i need to unlock it to work with vodafone sim card need you'r help plz find me a sulution to unlock or downgrade my baseband so i can use yellowsn0w {{unsigned|Na7la|15:57, April 16, 2009 (UTC)}}&lt;br /&gt;
&lt;br /&gt;
I am having trouble figuring out how to run these commands on my iPhone 4. I mean minicom does not work. I saved and all but it wont let me see what command im typing and it says &amp;quot;offline&amp;quot; in the bottom. {{unsigned|Grisolp|22:25, April 5, 2011 (UTC)}}&lt;br /&gt;
:You have to remember, minicom hasn't been updated in a while. It's probably not going to work very well with iOS 4+, and pretty much any device after the iPhone 3G... also, sign your talk page comments :) --[[User:Rdqronos|rdqronos]] 06:22, 23 July 2011 (MDT)&lt;br /&gt;
&lt;br /&gt;
== Working on the iPhone 4? ==&lt;br /&gt;
&lt;br /&gt;
Well, I tried tty.debug, dlci.baseband.blablabla... amd it didn't seem to work very well. Are there new releases of minicom? Or the source of it? --[[User:XiiiX|XiiiX]] 17:09, 14 August 2011 (MDT)&lt;br /&gt;
:Minicom is an open source project: [http://alioth.debian.org/projects/minicom/] --pjakuszew 12:45, 15 August 2011 (MDT)&lt;br /&gt;
::The days of &amp;lt;code&amp;gt;tty.baseband&amp;lt;/code&amp;gt; are gone (1.x?). &amp;lt;code&amp;gt;tty.debug&amp;lt;/code&amp;gt; does not require CommCenter to be shut down, but you have to spam AT[enter] until you get a reply and then issue your command hoping the connection doesn't fail as CommCenter is using the BB pretty much all the time making you unable to connect. Also, the OFFLINE message is normal. --[[User:Ryccardo|Ryccardo]] 05:37, 16 August 2011 (MDT)&lt;br /&gt;
:Would shutting down CommCenter help though? Like honestly, if it's that much of an issue, I'll run the command to kill it... Also, if I did kill CC, would I have to spam AT or would one typing of AT do it? --[[User:Rdqronos|rdqronos]] 17:00, 16 August 2011 (MDT)&lt;br /&gt;
::According to my experience in 3.x, shutting down CommCenter ''barely'' helps yet it's pretty much a requirement. Remember that shutting it down remover Wi-Fi until a reboot, so you have to permanently disable it (&amp;lt;code&amp;gt;launchctl unload -w /System…&amp;lt;/code&amp;gt;), reboot until you can't get signal as per the status bar + get the non-visual voicemail indicator (empty badge over Phone icon), try your luck then enable CCenter with &amp;lt;code&amp;gt;launchctl load -w /System…&amp;lt;/code&amp;gt;. --[[User:Ryccardo|Ryccardo]] 16:50, 18 August 2011 (MDT)&lt;br /&gt;
&lt;br /&gt;
One way around this is to install signal iphone app found in cydia:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;...Signal was designed for iOS 4, and contacts /dev/tty.debug in a iOS 4 compatible way, it does this to receive baseband information, one of them being, the exact measurement in dBm. This opens the port to /dev/tty.debug...&amp;quot; (http://applehack23.blogspot.com/2010/09/smscl-on-iphone-4-and-ios-4.html#comments)&lt;br /&gt;
&lt;br /&gt;
I can confirm this works.--[[User:JackR1|JackR1]] 07:44, 23 September 2011 (MDT)&lt;/div&gt;</summary>
		<author><name>JackR1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Blacksn0w&amp;diff=14956</id>
		<title>Blacksn0w</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Blacksn0w&amp;diff=14956"/>
		<updated>2011-01-14T12:35:57Z</updated>

		<summary type="html">&lt;p&gt;JackR1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[User:Geohot|Geohot]]'s runtime [[unlock]] for [[Baseband Firmware|baseband]] [[5.11.07]] (used by the [[N82ap|iPhone 3G]] &amp;amp; [[N88ap|3GS]]). blacksn0w exploits the [[AT+XEMN Heap Overflow]], and can be installed via [[blackra1n]] or its [[Cydia Application|Cydia]] repo (http://blackra1n.com/).&lt;br /&gt;
&lt;br /&gt;
== Installing ==&lt;br /&gt;
blacksn0w can be installed by adding http://blackra1n.com/ as a [[Cydia Application|Cydia]] repository.&lt;br /&gt;
&lt;br /&gt;
If the iPhone was jailbroken with [[blackra1n]], the blackra1n app can install blacksn0w. Run the blackra1n app on the [[SpringBoard]], and tap ra1n to update the app. Load blackra1n.app again and choose the 'sn0w' option to install. [[Commcenter]] will restart and you will have an unlocked iPhone 3G(S).&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://iphone-commcenter-injection.googlecode.com/svn-history/trunk/ Source code - msftguy (Reversed blacksn0w dylib, refactored to support safe mode and work on multiple OS versions.)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Unlocking Methods]]&lt;br /&gt;
[[Category:Baseband]]&lt;/div&gt;</summary>
		<author><name>JackR1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Blacksn0w&amp;diff=14955</id>
		<title>Blacksn0w</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Blacksn0w&amp;diff=14955"/>
		<updated>2011-01-14T12:32:12Z</updated>

		<summary type="html">&lt;p&gt;JackR1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[User:Geohot|Geohot]]'s runtime [[unlock]] for [[Baseband Firmware|baseband]] [[5.11.07]] (used by the [[N82ap|iPhone 3G]] &amp;amp; [[N88ap|3GS]]). blacksn0w exploits the [[AT+XEMN Heap Overflow]], and can be installed via [[blackra1n]] or its [[Cydia Application|Cydia]] repo (http://blackra1n.com/).&lt;br /&gt;
&lt;br /&gt;
== Installing ==&lt;br /&gt;
blacksn0w can be installed by adding http://blackra1n.com/ as a [[Cydia Application|Cydia]] repository.&lt;br /&gt;
&lt;br /&gt;
If the iPhone was jailbroken with [[blackra1n]], the blackra1n app can install blacksn0w. Run the blackra1n app on the [[SpringBoard]], and tap ra1n to update the app. Load blackra1n.app again and choose the 'sn0w' option to install. [[Commcenter]] will restart and you will have an unlocked iPhone 3G(S).&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* [http://iphone-commcenter-injection.googlecode.com/svn-history/trunk/ Source code - msftguy]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Unlocking Methods]]&lt;br /&gt;
[[Category:Baseband]]&lt;/div&gt;</summary>
		<author><name>JackR1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=Purplesn0w&amp;diff=14793</id>
		<title>Purplesn0w</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=Purplesn0w&amp;diff=14793"/>
		<updated>2011-01-08T05:16:06Z</updated>

		<summary type="html">&lt;p&gt;JackR1: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;purplesn0w is [[User:geohot|geohot]]'s [[unlock]] which used the [[AT+XLOG Vulnerability]]. Its implementation of the vulnerability differs from [[ultrasn0w]]'s, and requires a legitimately [[Activation|activated]] [[iPhone]]. &lt;br /&gt;
&lt;br /&gt;
==How it works==&lt;br /&gt;
purplesn0w copies the page that needs patching to an unused region of memory. It gets patched in RAM. Using the MMU, the flash page is mapped out and the patched memory page is remapped in its place. No new iPhones are really [[unlock]]ed; [[activation]] creates a [[WildcardTicket|ticket]] allowing the baseband to be used with that SIM. The lockstate of the phone really lies on Apple's servers. Being unlocked means all SIMs are authorized, and being locked means only certain carriers' SIMs are authorized (for instance, AT&amp;amp;T). Fortunately, this ticket system provides an easy way to deliver the payload and re-execute the patched code all in one. And since the ticket is already delivered on baseband resets, there's no need to write another daemon to use the battery. Instead the daemon already designed for this, [[lockdownd]], is used. A patch to CommCenter gets it to run the payload on ticket delivery. And a patch to your activation record contains the payload.&lt;br /&gt;
&lt;br /&gt;
==Installation notes==&lt;br /&gt;
* Be sure to have a legitimately activated iPhone.&lt;br /&gt;
* Disable 3G if you don't have it (like T-Mobile in the US).&lt;br /&gt;
* Watch for success output in Cydia (actually do this step)&lt;br /&gt;
* Wait for signal, and enjoy your unlocked iPhone (no reboot required)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==purplesn0w RC2 payload with comments==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ROM:00000000                 LDR     R4, =0x201436C8 ; /* copy the page*/&lt;br /&gt;
ROM:00000004                 MOV     R0, #0x40000000&lt;br /&gt;
ROM:00000008                 LDR     R1, =0x203C1000&lt;br /&gt;
ROM:0000000C                 MOV     R2, #0x1000&lt;br /&gt;
ROM:00000010                 BLX     R4&lt;br /&gt;
ROM:00000014                 LDR     R5, =0x4000082C ; /*at 4000083C or 203C183C&lt;br /&gt;
ROM:00000014                                         ; put the code to branch to 0x404F0980*/&lt;br /&gt;
ROM:00000018                 ADD     R0, R5, #0x10&lt;br /&gt;
ROM:0000001C                 ADR     R1, loc_D4&lt;br /&gt;
ROM:00000020                 MOV     R2, #0xC&lt;br /&gt;
ROM:00000024                 BLX     R4&lt;br /&gt;
ROM:00000028                 MOV     R7, #0          ; /* interrupt disable */&lt;br /&gt;
ROM:0000002C                 MRS     R0, CPSR&lt;br /&gt;
ROM:00000030                 ORR     R0, R0, #0xC0&lt;br /&gt;
ROM:00000034                 MSR     CPSR_c, R0&lt;br /&gt;
ROM:00000038                 MRC     p15, 0, R6,c1,c0 ; /* MMU disable */&lt;br /&gt;
ROM:0000003C                 BIC     R0, R6, #0xFF&lt;br /&gt;
ROM:00000040                 MCR     p15, 0, R0,c1,c0&lt;br /&gt;
ROM:00000044                 NOP&lt;br /&gt;
ROM:00000048                 NOP&lt;br /&gt;
ROM:0000004C                 LDR     R0, =0x2030055E&lt;br /&gt;
ROM:00000050                 LDR     R1, =0x40001000&lt;br /&gt;
ROM:00000054                 ADD     R2, R1, #0x400&lt;br /&gt;
ROM:00000058&lt;br /&gt;
ROM:00000058 loop                                    ; CODE XREF: ROM:00000064�j&lt;br /&gt;
ROM:00000058                 STR     R0, [R1],#4     ; build a page table in memory&lt;br /&gt;
ROM:00000058                                         ; increments of 0x1000&lt;br /&gt;
ROM:00000058                                         ; from 0x2030055E to 0x2040055E&lt;br /&gt;
ROM:00000058                                         ;&lt;br /&gt;
ROM:00000058                                         ; put 0x2030055E in [0x40001000]&lt;br /&gt;
ROM:00000058                                         ; 0x40001000 + 0x4&lt;br /&gt;
ROM:00000058                                         ; 0x2030055E + 0x1000&lt;br /&gt;
ROM:00000058                                         ; cmp 0x40001004 to 0x40001400&lt;br /&gt;
ROM:00000058                                         ; ...&lt;br /&gt;
ROM:00000058                                         ;&lt;br /&gt;
ROM:00000058                                         ;&lt;br /&gt;
ROM:0000005C                 ADD     R0, R0, #0x1000&lt;br /&gt;
ROM:00000060                 CMP     R1, R2&lt;br /&gt;
ROM:00000064                 BNE     loop&lt;br /&gt;
ROM:00000068                 LDR     R1, =0x4000055E ; put 0x4000055E in [0x40001400 - 0xFC]&lt;br /&gt;
ROM:00000068                                         ; where 203C155E put 4000055E&lt;br /&gt;
ROM:00000068                                         ; i.e point 0x203C1000 pagetable entry to ram 0x40000000&lt;br /&gt;
ROM:0000006C                 STR     R1, [R2,#-0xFC]&lt;br /&gt;
ROM:00000070                 LDR     R0, =0x40001011 ; this section points the 0x203 mmu mapping to built page table&lt;br /&gt;
ROM:00000070                                         ; at 0x40001000.&lt;br /&gt;
ROM:00000070                                         ;&lt;br /&gt;
ROM:00000070                                         ; when this code runs again it returns the mapping the way it&lt;br /&gt;
ROM:00000070                                         ; was that i.e no trace left behind.&lt;br /&gt;
ROM:00000070                                         ;&lt;br /&gt;
ROM:00000070                                         ; put [0x800 + 0x8] + 0x100000 at [0x800 + 0xC]&lt;br /&gt;
ROM:00000070                                         ; if what was at [0x800 + 0xC] = 0x40001011 then break&lt;br /&gt;
ROM:00000070                                         ; else put 0x40001011 at [0x800 + 0xC]&lt;br /&gt;
ROM:00000074                 MOV     R1, #0x800&lt;br /&gt;
ROM:00000078                 LDR     R2, [R1,#0xC]&lt;br /&gt;
ROM:0000007C                 LDR     R3, [R1,#8]&lt;br /&gt;
ROM:00000080                 ADD     R3, R3, #0x100000&lt;br /&gt;
ROM:00000084                 STR     R3, [R1,#0xC]&lt;br /&gt;
ROM:00000088                 CMP     R2, R0&lt;br /&gt;
ROM:0000008C                 BEQ     break&lt;br /&gt;
ROM:00000090                 STR     R0, [R1,#0xC]&lt;br /&gt;
ROM:00000094&lt;br /&gt;
ROM:00000094 break                                   ; CODE XREF: ROM:0000008C�j&lt;br /&gt;
ROM:00000094                 MCR     p15, 0, R7,c8,c7 ; /* invalidate TLB */&lt;br /&gt;
ROM:00000098                 MCR     p15, 0, R6,c1,c0 ; /* MMU enable */&lt;br /&gt;
ROM:0000009C                 MCR     p15, 0, R7,c7,c5 ; /* flush ICache */&lt;br /&gt;
ROM:000000A0                 NOP&lt;br /&gt;
ROM:000000A4                 NOP&lt;br /&gt;
ROM:000000A8                 NOP&lt;br /&gt;
ROM:000000AC                 MRS     R0, CPSR        ; /* interrupt enable */&lt;br /&gt;
ROM:000000B0                 BIC     R0, R0, #0xC0&lt;br /&gt;
ROM:000000B4                 MSR     CPSR_c, R0&lt;br /&gt;
ROM:000000B8                 LDR     R4, =0x20525359 ; /* go home */&lt;br /&gt;
ROM:000000BC                 LDR     R1, =0x203C1830&lt;br /&gt;
ROM:000000C0                 ADR     R0, dword_D0&lt;br /&gt;
ROM:000000C4                 STR     R1, [R0]&lt;br /&gt;
ROM:000000C8                 MOV     R0, #0&lt;br /&gt;
ROM:000000CC                 BX      R4&lt;br /&gt;
ROM:000000CC ; ---------------------------------------------------------------------------&lt;br /&gt;
ROM:000000D0 dword_D0        DCD 0x20525359          ; DATA XREF: ROM:000000B8�r&lt;br /&gt;
ROM:000000D0                                         ; ROM:000000C0�o&lt;br /&gt;
ROM:000000D4 ; ---------------------------------------------------------------------------&lt;br /&gt;
ROM:000000D4&lt;br /&gt;
ROM:000000D4 loc_D4                                  ; DATA XREF: ROM:0000001C�o&lt;br /&gt;
ROM:000000D4                 LDR     R4, =0x404F0980&lt;br /&gt;
ROM:000000D8                 BX      R4&lt;br /&gt;
ROM:000000D8 ; ---------------------------------------------------------------------------&lt;br /&gt;
ROM:000000DC dword_DC        DCD 0x404F0980          ; DATA XREF: ROM:loc_D4�r&lt;br /&gt;
ROM:000000E0 dword_E0        DCD 0x201436C8          ; DATA XREF: ROM:00000000�r&lt;br /&gt;
ROM:000000E4 dword_E4        DCD 0x203C1000          ; DATA XREF: ROM:00000008�r&lt;br /&gt;
ROM:000000E8 dword_E8        DCD 0x4000082C          ; DATA XREF: ROM:00000014�r&lt;br /&gt;
ROM:000000EC dword_EC        DCD 0x2030055E          ; DATA XREF: ROM:0000004C�r&lt;br /&gt;
ROM:000000F0 dword_F0        DCD 0x40001000          ; DATA XREF: ROM:00000050�r&lt;br /&gt;
ROM:000000F4 dword_F4        DCD 0x4000055E          ; DATA XREF: ROM:00000068�r&lt;br /&gt;
ROM:000000F8 dword_F8        DCD 0x40001011          ; DATA XREF: ROM:00000070�r&lt;br /&gt;
ROM:000000FC dword_FC        DCD 0x203C1830          ; DATA XREF: ROM:000000BC�r&lt;br /&gt;
ROM:000000FC ; ROM           ends&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Links==&lt;br /&gt;
* Cydia repo (http://apt.geohot.com/)&lt;br /&gt;
* [http://apt.geohot.com/purplesn0w_source.zip Source code]&lt;br /&gt;
&lt;br /&gt;
[[Category:Unlocking Methods]]&lt;br /&gt;
[[Category:Baseband]]&lt;/div&gt;</summary>
		<author><name>JackR1</name></author>
		
	</entry>
	<entry>
		<id>https://www.theiphonewiki.com/w/index.php?title=IDA_Pro_Setup&amp;diff=14691</id>
		<title>IDA Pro Setup</title>
		<link rel="alternate" type="text/html" href="https://www.theiphonewiki.com/w/index.php?title=IDA_Pro_Setup&amp;diff=14691"/>
		<updated>2011-01-03T10:05:42Z</updated>

		<summary type="html">&lt;p&gt;JackR1: /* Baseband 02.28.00 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==How to set up IDA pro to reverse the 3G baseband==&lt;br /&gt;
&lt;br /&gt;
The [[X-Gold 608]] has a memory map, as seen in it's page.&lt;br /&gt;
&lt;br /&gt;
The [[Secpack 2.0]] takes up the first 0xCF8 of the .fls file.&lt;br /&gt;
&lt;br /&gt;
So to load the 3G .fls file into IDA pro, the file offset is 0xCF8(for the secpack), and the CODE starts at the ROM start address of 0x20040000(since it's the main firmware)&lt;br /&gt;
&lt;br /&gt;
For real noobs:&lt;br /&gt;
 1. Drag the fls file into IDA&lt;br /&gt;
 2. Select ARM&lt;br /&gt;
 3. Change ROM start address to 0x20040000&lt;br /&gt;
 4. Change Loading address to 0x20040000&lt;br /&gt;
 5. Change File offset to 0xCF8&lt;br /&gt;
 6. Copy Loading size into ROM size&lt;br /&gt;
 7. Press OK&lt;br /&gt;
 8. The entry point is the address at 0x20040408&lt;br /&gt;
 9. Go to 20100004 and Press &amp;quot;C&amp;quot; to start. ~Deco&lt;br /&gt;
 10. Read the instructions so you can find other places where you can press &amp;quot;C&amp;quot; to get more code. ~Deco&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here are some key combinations to use:&lt;br /&gt;
* c = turn the 'gibberish' into code&lt;br /&gt;
* d = turn the 'gibberish' into data&lt;br /&gt;
* a = turn the 'gibberish' into a string&lt;br /&gt;
* u = undefine what you just may have done, i usually use this since there is no real edit+undo in IDA so this is the next best thing&lt;br /&gt;
* Alt+G = toggle the Register T from 0 / 1 to toggle arm and thumb mode when needed&lt;br /&gt;
&lt;br /&gt;
== some hints for getting the mnemonics from n00b for noobs (read: master noob for noobs ;-) )==&lt;br /&gt;
&lt;br /&gt;
The autoanalysis didn't work very well. There were a lot of silly mnemonics, simply interleaving thumb and arm mode or other nasty stuff. I then tried to identify strings, pressing 'A'. Boring... What pushed it up a little bit is this:&lt;br /&gt;
&lt;br /&gt;
Most code is 'embraced' by 'embracing' code:&lt;br /&gt;
- push / pop for thumb mod&lt;br /&gt;
- STMFD / LDMFD for arm mode&lt;br /&gt;
&lt;br /&gt;
Even better, all versions of above codes have similar instruction sets. So you can find all occurences of STMFD by hex searching '2D E9', going two bytes back (did I say code is aligned? 4bytes in arm starting at 00 04 08 0c, 2bytes in thumb mode!) and pressing 'C'. If you see scrambled code, then (probably) the wrong mode (thumb) is enabled. Just press Alt-G, change the value for T to zero. See?!&lt;br /&gt;
The same goes for thumb mode. Push instructions are 'B5' preceeded by 02 0B 4E 72 30 10 F0 70 F3 7C 55 1F 30 3E 0E 1C 08 7F ... So just look for e.g. '10 B5' at two-byte boarders (Alt-B to set, Ctrl-B to search again) and you will easily find all occurences. Again, if it is scrambled, switch back to thumb mode (Alt-G, T=1).&lt;br /&gt;
After all, you can hex browse a little bit and press 'C' for missing code or 'A' for text.&lt;br /&gt;
&lt;br /&gt;
Above is a very simple 'algorithm', maybe there is an appropiate IDA plugin. Or you could write one :-) !&lt;br /&gt;
&lt;br /&gt;
[http://code.assembla.com/ks360/subversion/nodes/utils/Analyze.py Script] with [http://d-dome.net/idapython/ IDAPython]&lt;br /&gt;
&lt;br /&gt;
==Addresses of known functions / code locations==&lt;br /&gt;
===Baseband 02.28.00===&lt;br /&gt;
* 0x201497B0 - maybe AT Command handler? (uses strings such as &amp;quot;OK&amp;quot;, &amp;quot;ERROR&amp;quot;, &amp;quot;UNKNOWN COMMAND&amp;quot;)&lt;br /&gt;
* 0x203C51BC - probably prints text&lt;br /&gt;
* 0x201420AC - malloc (according to Darkmen)&lt;br /&gt;
* 0x203C58A0 - bytecpy (according to Darkmen)&lt;br /&gt;
* 0x203FB540 - NU_Create_Task (according to Darkmen)&lt;br /&gt;
* 0x2046DD00 - sprintf (according to Darkmen)&lt;br /&gt;
* 0x20165998 - NU_Receive_From_Mailbox (according to Darkmen)&lt;br /&gt;
* 0x203ED568 - NU_Send_To_Mailbox (according to Darkmen)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Baseband 5.12.01    3.1.3 (Build 7E18)===&lt;br /&gt;
* 0x203C2714 - IMEI routine&lt;br /&gt;
* 0x2062CF28 - default IMEI (0A 40 99 09  01 46 00 00)&lt;/div&gt;</summary>
		<author><name>JackR1</name></author>
		
	</entry>
</feed>