[HTC One S] ascot17:
Background:

The HTC Sensation has a sim unlock code on /dev/block/mmcblk0p6.

This was found and exploited months ago by Sensation users.

For the One S, HTC have decided to get a bit sneaky. The code still exists on the same block but they have encrypted the actual SIM unlock code by adding a key generated from the phone’s IMEI number.

This method uses the IMEI number to calculate the key which can then be subtracted to give a working SIM unlock code.

Thanks to contributions from various users, we now have 3 different methods of obtaining your SIM unlock code.

All are tested and confirmed to work on all versions of the HTC One S.

Method 1 (details below) requires no downloads and takes about 5 minutes.

Method 2 uses the first step of method 1 and then a small executable program on a Windows PC to do the calculation.

Method 3 requires the download of a Bash Script but fully automates the procedure.

Note 1: All methods require Root and only work at present for the S4 version.

Note 2: It is possible that the 'strings' command referred to in the text will only work if you have Busybox installed. If you are already using a custom ROM, you will probably have this. If you are on a rooted Stock ROM and cannot execute the strings command, try installing Busybox first.

Any feedback on this issue would be welcomed in the thread.

Note 3: CM10 based ROMS will normally return the correct values for UN_Lock_code, but fail to unlock when a new SIM card is inserted. If you have this problem, revert to a Sense-based ROM (e.g Trickdroid, Venom) for the unlock process. You may return to a CM10 base after the phone is unlocked.

Methods 2 and 3 can be found in Post 2.

METHOD 1

To find your SIM UNLOCK CODE you need:

1) Root

2) Android Terminal Emulator (free from the market)

3) Your IMEI number (dial *#06# on your dialler)

There are 4 steps to the process:

1) Obtain your UN_lock_code from your phone

2) Calculate the key from your IMEI number

3) Subtract (2) from (1)

4) Unlock your phone

Step 1

Obtain your UN_lock_code from your phone as follows:

Open the Terminal Emulator app and type:

su	[enter]

strings -n 8 /dev/block/mmcblk0p6	[enter]

It will output several lines of data (including your IMEI number)

One of the lines will be [eg] UN_Lock_code=063312345

Make a note of this number (This is NOT your SIM unlock code)!

Step 2

Make a key from your IMEI number:

a) Write down the last 7 digits of your IMEI number in this format: 1234 567

b) Reverse the 2 blocks: 567 1234

c) Add a 4th digit X: 567 X 1234 where:

X = the sum of the first 3 digits (If the sum is 2 digits, write only the 2nd digit)

[5 + 6 + 7 = 18 in the example above so X = 8]

[if the sum is 3, X = 3]

[if the sum is 17, X = 7]

[if the sum is 25, X = 5] etc.

Using the above IMEI number we get:

567 8 1234 (= the key)

Step 3

Perform a simple sum.

UN_Lock_code [step 1] – key [step 2] = SIM UNLOCK CODE

e.g. 063312345 - 56781234 = 6 531 111

This needs to be an 8-digit number, so add a zero at the beginning if necessary

YOUR SIM UNLOCK CODE IS: 0653 1111

Step 4

Unlock your phone

a) Remove your SIM card (no need to turn off the phone)

b) Insert alternate SIM card

c) When prompted, enter SIM UNLOCK CODE obtained from step 3

d) Reboot when instructed