• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[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 :].
 

qwertyaas

Senior Member
Aug 17, 2010
910
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.
 

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:

Gandalf

Inactive Recognized Developer / Retired Forum Mod
Mar 29, 2011
3,537
6,669
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
910
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://forum.xda-developers.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.