[ROOT] HTC One X AT&T 2.20 Firmware - X-Factor root exploit

Search This thread

djrbliss

Inactive Recognized Developer
Aug 24, 2011
136
2,643
I have successfully rooted the AT&T HTC One X running build 2.20.

In the previous build (1.85), S-ON was only partially enforced, so it was possible to modify the /system partition without having unlocked the bootloader, in order to install su and Superuser.apk. This was changed in build 2.20: full S-ON is now in effect. As a result, it is no longer possible to write to /system even after remounting it as writable, since the S-ON feature has NAND-locked the storage.

In other words, it's impossible have a "permanent root" on 2.20 in the traditional sense without unlocking the bootloader.

I have prepared an exploit that gains temporary root access by leveraging two vulnerabilities and uses these newly gained root privileges to overwrite the CID ("superCID"), so that it's possible to unlock the bootloader via HTC's website. I'm sorry if you'd prefer to not unlock your bootloader this way, but there are no other options for root access available.

===========
DISCLAIMER
===========

This exploit modifies the CID of your device. Doing so likely voids your warranty, and may be in violation of your contract with AT&T (I am not a lawyer). Additionally, while this exploit has been tested and has not been observed to cause any negative side effects in practice, I am in no way responsible if it turns your device into an expensive paperweight.

=============
INSTRUCTIONS
=============

1. Download the exploit from:
http://vulnfactory.org/public/X_Factor_Windows.zip

Edit: Linux/Mac version available here. Thanks to Jesse Osiecki (@jesseosiecki) for suggesting I support this and providing me with a working version (that I ended up re-writing):
http://vulnfactory.org/public/X_Factor_Linux_OSX.zip


2. Extract the entire zip file.

3. Connect your device via USB, ensure you have the latest HTC USB drivers installed (only on Windows), and ensure USB debugging mode is enabled.

4. Double-click "run.bat", or if running Linux or OSX, open a terminal, change directories to the extracted exploit, and run "./run.sh".

5. Follow the instructions printed by the exploit. You will need to authorize two backup restorations during the exploit's execution.

6. If the exploit is successful, it will print "[+] Set CID!". If it does not print this, the exploit has failed, so please do not continue.

7. The exploit will automatically reboot into bootloader mode. Press enter after bootloader mode is finished booting, and the exploit will print your CID. If the exploit was successful, it should return "11111111" as your CID.

8. If your CID was successfully set, press enter to generate an unlock token.

9. Visit htcdev.com, navigate to the "Bootloader unlock" section, choose "All other supported models" from the drop-down menu, and provide the unlock token when asked.

10. After unlocking the bootloader, you can flash a custom recovery partition via fastboot, boot into recovery mode, and use a recovery ADB shell or install from an update.zip to install Superuser and su (I do not provide support for custom recoveries, but this is a straightforward process that other people can help with).

======
NOTES
======

I am not affiliated with any Android forum or group, including XDA - this is just where I've chosen to publish this exploit.

Portions of this exploit are similar in concept to the ADB backup/restore exploit published by Bin4ry, but the vulnerability used in this exploit is entirely distinct from Bin4ry's.

========
CREDITS
========

Thanks to Michael Coppola for pointing me at the vulnerable driver I leverage for the second phase of the exploit, and props for independently discovering the same vulnerability I used. Thanks to jcase and P3Droid for their continuing support - I owe you guys beers.

======
Paypal
======
http://goo.gl/zBGb0
 
Last edited:

speednir123

Senior Member
Oct 1, 2012
63
5
the one xl is my first android device so i got some questions
by temp root you mean when you shut off the phone we need to do it again?
and i guess there will be a perm root soon because of this exploit am i right?

also ty very much djrbliss
for achieving this :].
 

GuyIncognito721

Senior Member
Mar 1, 2011
424
226
Oswego
Temp root is being used to spoof the CID and unlock the bootloader in order to flash a custom recovery, and thus custom ROMs that are then rooted. This is a permanent root solution.
 
  • Like
Reactions: skulldreamz

qwertyaas

Senior Member
Aug 17, 2010
913
85
the one xl is my first android device so i got some questions
by temp root you mean when you shut off the phone we need to do it again?
and i guess there will be a perm root soon because of this exploit am i right?

also ty very much djrbliss
for achieving this :].

This will fully root your phone. Just follow instructions to root, Super CID, unlock BL then flash recovery.

The root itself is a different manner than 1.85 but the whole process after should be the same. This is a method to get you to unlock the BL.
 

h1m

Senior Member
Dec 25, 2011
89
19
Stupid question. Will this method work on Mac?

Sent from my HTC One X using xda app-developers app
 

billydroid

Senior Member
Jun 24, 2010
1,599
481
It's not working for me, dammit

/system/bin/sh: /data/local/tmp/pwn: cannot execute - Permission denied

Sent from my HTC One X using Tapatalk 2
 
Last edited:

speednir123

Senior Member
Oct 1, 2012
63
5
ty guys for answering
i got another question does some one got
a step by step about the flash recovery stuff cause it's really confusing
 

stew1411

Senior Member
Feb 24, 2011
553
77
Ardmore
Finally, you are the man!!! I've been following the think tank religiously every day for 2 months.

Sent from my HTC One X using Xparent Blue Tapatalk 2
 

venelar

Senior Member
Jan 27, 2007
1,884
492
Baton Rouge
Thanks for the work you put in on this, and congrats to all you 2.20 guys. Will send my donation I pledged this evening.
 

Gandalf

Inactive Recognized Developer / Retired Forum Mod
Mar 29, 2011
3,523
6,659
Philadelphia
So this will work with the new HBOOT as well then? Say if someone uses the 2.20 RUU or got an ATT HOXL with the updated bootloader that came with 2.20 ?

Example - I can flash the 2.20 RUU to get a "fresh start" for my phone ( I have the older hboot , unlocked with S-On, never took the 2.20 update), run this, re-unlock, and then put CM10 back on and everything will function as it does now ?

Sent from my One X using Tapatalk 2
 

qwertyaas

Senior Member
Aug 17, 2010
913
85
So this will work with the new HBOOT as well then? Say if someone uses the 2.20 RUU or got an ATT HOXL with the updated bootloader that came with 2.20 ?

Example - I can flash the 2.20 RUU to get a "fresh start" for my phone ( I have the older hboot , unlocked with S-On, never took the 2.20 update), run this, re-unlock, and then put CM10 back on and everything will function as it does now ?

Sent from my One X using Tapatalk 2

Why would you want to. Then you would have to flash boot.img separately which isn't that big of a deal but still annoying.
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 286
    I have successfully rooted the AT&T HTC One X running build 2.20.

    In the previous build (1.85), S-ON was only partially enforced, so it was possible to modify the /system partition without having unlocked the bootloader, in order to install su and Superuser.apk. This was changed in build 2.20: full S-ON is now in effect. As a result, it is no longer possible to write to /system even after remounting it as writable, since the S-ON feature has NAND-locked the storage.

    In other words, it's impossible have a "permanent root" on 2.20 in the traditional sense without unlocking the bootloader.

    I have prepared an exploit that gains temporary root access by leveraging two vulnerabilities and uses these newly gained root privileges to overwrite the CID ("superCID"), so that it's possible to unlock the bootloader via HTC's website. I'm sorry if you'd prefer to not unlock your bootloader this way, but there are no other options for root access available.

    ===========
    DISCLAIMER
    ===========

    This exploit modifies the CID of your device. Doing so likely voids your warranty, and may be in violation of your contract with AT&T (I am not a lawyer). Additionally, while this exploit has been tested and has not been observed to cause any negative side effects in practice, I am in no way responsible if it turns your device into an expensive paperweight.

    =============
    INSTRUCTIONS
    =============

    1. Download the exploit from:
    http://vulnfactory.org/public/X_Factor_Windows.zip

    Edit: Linux/Mac version available here. Thanks to Jesse Osiecki (@jesseosiecki) for suggesting I support this and providing me with a working version (that I ended up re-writing):
    http://vulnfactory.org/public/X_Factor_Linux_OSX.zip


    2. Extract the entire zip file.

    3. Connect your device via USB, ensure you have the latest HTC USB drivers installed (only on Windows), and ensure USB debugging mode is enabled.

    4. Double-click "run.bat", or if running Linux or OSX, open a terminal, change directories to the extracted exploit, and run "./run.sh".

    5. Follow the instructions printed by the exploit. You will need to authorize two backup restorations during the exploit's execution.

    6. If the exploit is successful, it will print "[+] Set CID!". If it does not print this, the exploit has failed, so please do not continue.

    7. The exploit will automatically reboot into bootloader mode. Press enter after bootloader mode is finished booting, and the exploit will print your CID. If the exploit was successful, it should return "11111111" as your CID.

    8. If your CID was successfully set, press enter to generate an unlock token.

    9. Visit htcdev.com, navigate to the "Bootloader unlock" section, choose "All other supported models" from the drop-down menu, and provide the unlock token when asked.

    10. After unlocking the bootloader, you can flash a custom recovery partition via fastboot, boot into recovery mode, and use a recovery ADB shell or install from an update.zip to install Superuser and su (I do not provide support for custom recoveries, but this is a straightforward process that other people can help with).

    ======
    NOTES
    ======

    I am not affiliated with any Android forum or group, including XDA - this is just where I've chosen to publish this exploit.

    Portions of this exploit are similar in concept to the ADB backup/restore exploit published by Bin4ry, but the vulnerability used in this exploit is entirely distinct from Bin4ry's.

    ========
    CREDITS
    ========

    Thanks to Michael Coppola for pointing me at the vulnerable driver I leverage for the second phase of the exploit, and props for independently discovering the same vulnerability I used. Thanks to jcase and P3Droid for their continuing support - I owe you guys beers.

    ======
    Paypal
    ======
    http://goo.gl/zBGb0
    5
    Go here for instructions on flashing custom recovery and roms:

    http://xdaforums.com/showthread.php?t=1952076
    5
    It utilizes a temp root to change the CID and therefore unlock
    The unlock is permanent, the root is temporary

    Though after you unlock, just flash a SuperUser zip and you will get permanent root ;)
    4
    Great work man! Congrats.

    And welcome to all the new ROM flashers :)
    4
    It's not working for me, dammit

    /system/bin/sh: /data/local/tmp/pwn: cannot execute - Permission denied

    Sent from my HTC One X using Tapatalk 2


    Sorry, made a small mistake. I've uploaded a new version to the same URL, please re-download and try again.