[Android Apps and Games] jawz101:
[edit 5.13.2011] I removed my upload as the developer contacted me and ... just kidding. Actually, the game is changing to be a little more fun, the game now adds usernames & I don't know if they'll ever change the format of the dat file enough where this would screw up what you've already done, & nofear0705 says something about saves in game not saving with the dat I uploaded (though I don't know what he's talking about). Regardless, I'm going to write it up as a tutorial instead since it'd likely be educational for other games.

If you play Drag Racing and enjoy it I probably wouldn't use this. I love the game but was getting frustrated; and rightly so. Even after getting all the cash and respect points needed it took 30 minutes or so to make all the purchases :/

Anyways, I took the save.dat file and opened it in a hex editor to see where the $ and respect points were stored and then upped my points.

SPOILER ALERT- this will make the game a lot less fun.

requirements:

the Android adb shell from the Android SDK (look around on the forums for how to connect to your device via command line with adb shell

a hex editor. I used XVI32because it was a free Windows app

some hex to decimal / decimal to hex converter. I was using this website

Instructions:

connect your device with a usb cable

go to the folder where you have the adb shell command and type this to pull your current save.dat from the Drag Racing folder:

adb pull /data/data/com.creativemobile.DragRacing/files/save.dat c:\

once it's on your computer copy it so you have a backup

open the original save.dat you pulled in your hex editor

run the Drag Racing game on your phone & see how much money or respect points you currently have. let's say I have $50000

go to your decimal to hex converter and enter your amt of money in to convert it to its hexadecimal value. in our example 50000 in hex is C350. All we have to do is find this location and change it to a new value. Say the hex address where the money value is stored is the 12th hex address in the file (it's around there if I remember) and we want to change this to $999999.

go to your decimal to hexadecimal to convert your 999999 to hex which is F423F. just change those values in the file to your new values and save.

note: the hex editor will show the values in blocks of 2 characters. If you see the current value you want to change in the 11th and 12th hex blocks change it and the 10th blocks if the value you want to change is more characters than your current value. So, since I'm changing my value from C350 and they use the 11th and 12th blocks to F423F I'd need to use the 10th 11th and 12th blocks. You don't want to use too many blocks than what the game developer likely set as an assumed max dollar amount or you'll likely write into blocks where the developer stores other data (eg. cars purchased, upgrades, etc).

once you're done making your changes save the file and do an adb push of your save.dat back to the device

adb push c:\save.dat /data/data/com.creativemobile.DragRacing/files/

you can alway put your original back on if you messed up on the changes.

to change respect points you'd just do the same thing for the hex locations of your current respect points.

Sometimes it helped me to pull the file, race a round and pull another copy and open 2 instances of my hex editor with the first save.dat and one that had a new dollar amount open to easily see which hex addresses changed