Skip to Main Content
December 05, 2010

Messing with Droid X

Written by David Kennedy
Penetration Testing Security Testing & Analysis
I just got a Droid X last week, before getting it I made sure efuse (https://secure.wikimedia.org/wikipedia/en/wiki/EFUSE) was bypassed or it wouldn't be fun having a stock Android. I'll outline the steps I've taken so far to customize my themes, root my droid, fix the market, overclock, and more. I'm going to simplify most of these for apps that are already out in the market now, I decided to do mine from scratch but makes posting a lot easier. First things first, lets get root on the Droid X. The easiest way I found was using adb shell. Before diving down, read up on adb, its really easy... It's a direct interface with your Droid and you can download the SDK packages from Google. Great tutorial on rooting the Droid X: http://www.simplehelp.net/2010/10/11/how-to-root-your-droid-x-using-os-x/ Simplistic terms, put your Droid X into debugging mode under settings and applications, fire up the shell script through ADB and your running as root. Now that your rooted, next is getting bootstrap and clockwork recovery on. You'll need to download the bootstrap recovery app from Koush and Rom Manager from Koush in the app market. 1. Open up Droid X BootStrapper - Click "Bootstrap Recovery" - You should get a root access allow, then a "Success" 2. Open up Rom Manager, flash cClockWorkMod Recovery - You should get a root access allow, then a "Success" Bootstrap is a way of bypassing the efuse restrictions, it's what you use to get into clockwork recovery and flash your own ROMS or add different things if you want. From here, you could simply use Rom Manager to download a rom, open BootStrapper back up, then hit "Reboot into Recovery" and install the ROM that way. Overclocking: I've done mine manually through setscaler, but here's the easy way: Go to the market, find the DroidX Overclock app by JRUMMY - Awesome overclocker and super simple. Open that application up and set your clock rate. I've found that Low Voltage - 1.25 has been very stable with no FC's and long battery life. Next we need to deodex our filesystem. Deodex allows you to modify the filesystem and expand everything for editing. In order to do any custom editing or themes/modifications, your ROM has to be deodexed. When you get the sock Android filesystem, it comes as odexed. Here is how to deodex your system: http://androidforums.com/droid-x-all-things-root/158274-how-manually-deodex-your-phone.html 1. Unzip xUltimate v2.2, and launch "Main.exe" 2. If everything goes well you xUlt should recognize the phone and make a connection. You now should see a list of options. 3. Run option 1. After option 1 is done, run option 2. 4. Now these well take a while. Run option 3. 5. IMPORTANT: After you have run option 3, you MUST navigate to the xUltimate folder and find "origi_frame" folder, and delete "guava.odex". It's a bad file, and interferes with deodexing process. 6. Now run option 4, and wait. 7. Exit xUltimate, and put the phone in USB mass storage. 8. Go back into the xUltimate folder and copy "done_frame", and "done_app", and move them to the root of the sdcard. 9. Open a command prompt, and do the following: adb shell su stop mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system cp /sdcard/done_app/* /system/app/ cp /sdcard/done_frame/* /system/framework/ rm /system/app/*.odex rm /system/framework/*.odex mount -o ro,remount -t ext3 /dev/block/mmcblk1p21 /system reboot Your now deodexed. Tweaking your system to your liking (for me it was a black notification bar): http://www.droidforums.net/forum/thebowers/27622-text-color-change-complete-how-do.html Fixing the market: Your build.prop signature may change when you do all of this, if that's the case you'll notice some things missing from the app market. Simply pull the build.prop file edit it for the right signature and push it back: ./adb shell # mount -o remount,rw -t yaffs2 /dev/block/mtdblock4 /system # cp /system/build.prop /sdcard/download Exit out: ./adb pull /system/build.prop build.prop Edit build.prop and replace the ro.build.fingerprint with this new one: ro.build.fingerprint=verizon/voles/sholes/sholes:2.2/FRG01B/45394:user/release-keys Then: ./adb push build.prop /system/ (I ran into issues here so I did it the long way) ./adb push build.prop /sdcard/download ./adb shell # mount -o remount,rw -t yaffs2 /dev/block/mtdblock4 /system # cp /sdcard/download/build.prop /system/ # chmod 644 /system/build.prop # mount -o remount,ro -t yaffs2 /dev/block/mtdblock4 /system # sync # reboot Market should now be fixed.