[Galaxy S III Q&A, Help & Troubleshooting] oxterc:
I managed to get it working after the Voodoo Galaxy S III app failed to unlock all the locks. Basically the byte value for Network Subset Lock was still 01. There is a guide by txlibre for manually doing what the Voodoo GS3 App should achieve, but I struggled to understand his written english, so I have made an alternative that focuses on using ADB.

How to manually unlock the Galaxy S III

First try the Voodoo Galaxy S III app. If any locks refuse to be turned off, you can proceed with this guide.

(You still need the phone to be rooted!)

.

1: Copy nv_data.bin and nv_data.bin.md5 from the folder "/efs/" on the phone, and put it on your sdcard.

You can use plain ADB or a root file manager like Ghost Commander File Manager.

Connect your phone to your computer, and make sure USB Debugging is activated.

ADB steps:

> adb shell

> su

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

> cat /efs/nv_data.bin.md5 >> /mnt/sdcard/nv_data.bin.md5

> exit

> exit

Pull out and reinsert your phone's USB-cable to see the new files on your phone's sdcard.

Copy the two files from your sdcard to any place on your computer.

I recommend that you make a folder called something like "original" and one called "edited".

Copy the two files to both folders.

2: Download any hex editor, I use HxD.

Open the nv_data.bin from your "edited" folder in HxD, then go to line 00181460,

change any of the 4 byte blocks to 00 if they have the value 01 (See image below). Save and exit HxD.

3: Copy the modified nv_data.bin from your edited folder to the root of your sdcard

4: Now we must delete the old nv_data.bin from the phone, and replace it with the edited one.

ADB steps:

> adb shell

> su

> rm /efs/nv_data.bin

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

> chmod 755 /efs/nv_data.bin

> chown 1001.radio /efs/nv_data.bin

> reboot

The phone will reboot.

When the phone is rebooted, dial *#7465625#, the lock(s) should still be "ON".

5: Copy nv.log from /efs/ to your sdcard, then copy it to your computer.

ADB steps:

> adb shell

> su

> cat /efs/nv.log >> /mnt/sdcard/nv.log

> exit

> exit

Pull out and reinsert your phones USB-cable to see the new files on your phones sdcard.

Copy the nv.log to your edited folder.

6: Open up nv.log on your computer.

At the bottom of the log you will have some lines like this:

"MD5 fail.

original md5 '7bb138e5a72f076005f43d41a47465c4'

computed md5 '6f8373c7a9e11c3767054c2ed0984251' (rild)

Thu Jun 21 17:06:50 2012: backup NV restored"

7: Open up nv_data.bin.md5 from your edited folder.

You should see the exact same value as from

"original md5"

, in my case '7bb138e5a72f076005f43d41a47465c4', replace all the text with the md5 from

"computed md5"

, in this case '6f8373c7a9e11c3767054c2ed0984251'.

Save the file.

Note: In my case the original "nv_data.bin.md5" value was actually different from "original md5", but it should still work.

8: Copy both nv_data.bin and nv_data.bin.md5 from your edited folder to the sdcard.

9: Copy the files from your sdcard to the /efs/ folder.

ADB steps:

> adb shell

> su

> rm /efs/nv_data.bin

> rm /efs/nv_data.bin.md5

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

> cat /mnt/sdcard/nv_data.bin.md5 >> /efs/nv_data.bin.md5

> chmod 755 /efs/nv_data.bin

> chmod 755 /efs/nv_data.bin.md5

> chown 1001.radio /efs/nv_data.bin

> chown 1001.radio /efs/nv_data.bin.md5

> reboot

When the phone is rebooted, dial *#7465625#, the lock(s) should now be "OFF".

Congratulation, have fun with your unlocked Galaxy S III!