[Galaxy S I9000 Android Development] dagentooboy:
Vibrant 4G/SGS 4G manual method here

PRO App also works on Vibrant 4G/SGS 4G for anyone who doesn't feel comfortable with a hex editor

Do NOT try this or any other unlock method on the SC-02B Docomo phone. Please see thread here for progress on the SC-02B

Please note the same information used to develop the app is in the guide for free... the app just makes it easier

ALL METHODS FOR NEWER PHONES REQUIRE ROOT... PLEASE GO GET ROOT ON YOUR PHONE AND THEN COME BACK.

Oh and BTW... I cannot be held responsible for anything that happens to your phone.... EVER!

Before you start... if you don't have root you WILL need it unless you are on a really old version of android 2.1 (look in Appendix A for depreciated methods)

Step 1. - Retrieve nv_data.bin file

use "adb shell" or a terminal emulator to get a terminal prompt and run the following commands

su
cat /efs/nv_data.bin >> /sdcard/nv_data.bin

Step 2. - Edit nv_data.bin file

mount the internal SD Card on your computer

make a backup copy of the nv_data.bin file on your computer

using your favorite HEX editor open the nv_data.bin on the sdcard

jump to address 0x181468

you should see a string like this

ff 01 00 00 00 00 46 46

there are 5 different types of locks in 5 different bytes

the FF byte should be left alone

the first byte after the FF is the network lock

the next byte is the network subset lock

the next byte is the sp lock

the next byte is the cp lock

the last byte appears to be a data lock.

the 46 46 should be left alone

Change any 0x01 to 0x00 (or 0x00 to 0x01 to lock for warranty)

It should read ff 00 00 00 00 00 46 46 for unlocked

save and close file

unmount SD Card

Step 3. - Replace nv_data.bin file

I want to say it again so no one misses it MAKE SURE YOU HAVE A BACKUP OF YOUR NV_DATA.BIN FILE BEFORE YOU CONTINUE!!!!!

use "adb shell" or a terminal emulator to get a terminal prompt and run the following commands

su
rm /efs/nv_data.bin
rm /efs/nv_data.bin.md5
cat /sdcard/nv_data.bin >> /efs/nv_data.bin
chmod 755 /efs/nv_data.bin
chown radio.radio /efs/nv_data.bin || chown 1001.1001 /efs/nv_data.bin
reboot

your phone is now unlocked... enjoy :D

[OPTIONAL] Use the PRO app [OPTIONAL]

Please note that this step is ONLY here for people that are not comfortable using a Hex editor.

Search "Vibrant unlock" in the market or scan the QR code:

Install and run app

press menu

press Unlock Phone

Select phone

allow root

at this point if you get an error code make SURE you mount your internal SD card on your computer and backup the nv_data.bin.orig file that is there.

press unlock

restart and your phone is now unlocked

to lock your phone for warranty

press lock instead of unlock

restart your phone, remove root, and take your phone in for warranty

APPENDIX A (DEPRECIATED)

DOES NOT WORK ON 90% PHONES PLEASE USE THE APP

Using ADB

Make sure that Network Lock is the only thing on... go to phone and enter *#7465625#

Make sure USB debugging is enabled (Settings->Applications->Development->USB Debugging)

Using APP (Thanks ClarkeHackworth and DaGentooBoy)

ClarkHackworth's page about the app

Same thing as before if this bricks your phone sorry but we aren't responsible.

Step A.1. – Get your code

Search Samsung Galaxy S Unlock Tool in the market or scan the QR code.

Install SGS_Unlock.apk

Applications->SGS Unlock

Menu->Root Gen Codes (Root method is the most reliable method at this point)

Jump to Step A.2.

Step A.1.alternate – Get your code

For Mac Updated!!! New Script

For Windows UPDATED!!! With Un-Freeze Codes

Video Guide

Download and extract the attached Generate Unlock Windows.zip.

Run Generate_Code.bat

Look for the line Network Control Key:YourCode

Save the code

Step A.2. – Enter the code

Power down your phone

Put in a SIM card from another carrier

Power up your phone

When it boots up it will ask for the unlock code that you found above

OR

NO SIM Method (Thanks RazvanG)

(Apparently this just adds another SIM to the accepted SIM list... can someone confirm?)

remove sim card

power on phone without sim

enter *7465625*638*# and relock the phone to another network other than the one u have u'r sim card (eg 22610)

power off phone

insert sim card back

power on and enter nck code extracted from .bak file

phone unlocked

Step A.3. – Flash back (IF THE CODE DIDN'T WORK)

Flash back to an older firmware (I9000XXJF7 with 513.pit worked for me on an I9000)

Now enter the unlock code you generated in Step 2.

Guide in Spanish here

Guide in Italian here

Guide in Chinese here

LEGAL NOTES (because information should be free for all):

YOU MAY NOT, BY ANY MEANS, USE THIS SOLUTION/CODE OR PART OF IT FOR COMMERCIAL PURPOSES.

DO NOT USE THIS EXTRACTION METHOD COMMERCIALLY

PLEASE give credit (and donations if you can) to

For those of you that have donated THANKS! (You know who you are... you paid for my developer account so I could post the app)

DaGentooBoy For this AWESOME guide, the free and PRO apps, finding the other unlock bits, the original mac and windows scripts, the no root cat nv_data method, the unfreeze code portion of the mac script, and a lot of troubleshooting :D (Paypal)

dawen, Helroz, and NWolf for discovering the hex location of the lock bit in the nv_data.bin file (donate to NWolf here)

RazvanG for pointing galaxysguy in the right direction, finding the Freeze Code location in the .bak file, the code for re-locking the phone to any network, and the solution to unlock with only one sim card (Paypal)

rbnet.it and marcopon for the cool SGUX utility for windows to extract both the Unlock and Unfreeze codes (donate to marcopon and rbnet.it Here)

nbs11 for the new mac script that makes it REALLY easy (donate here)

Bowsa2511 for the command to extract the unlock code on a Mac (Paypal here)

rhcp0112345 for finding the file and giving me (and others) a place to start (Donate here)

galaxysguy for confirming that I was looking at the right code (Paypal here)

AllGamer for starting the Bounty thread and giving the XDA devs the motivation to get started.

If you want me to extract the code for you just PM me with a link to your zipped bml3.bak or nv_data.bin file and I will send you back the code. If it works please feel free to donate via Paypal