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.
To find your SIM UNLOCK CODE you need:
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
Obtain your UN_lock_code from your phone as follows:
Open the Terminal Emulator app and type:
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)!
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)
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
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