License-Free Cellphone Games: Some Assembly Required

Through most cellphone providers, you can download full mobile games from their servers at the cost of $5 per game. Some providers, such as Telus, offer 30 day, 2 day, or 2-run trials, or even games that require you to renew a license every 30 days to keep playing. I noticed that when a trial/lisenced game checks to see if it’s allowed to run (if it’s still within the alloted trial timeframe) it doesn’t make an outside connection from the phone. What’s this mean? It means that the phone checks something in it’s own filesystem to see if the game is allowed to run. Bad call on the designers’ part!

After mulling it over for a while, I spent some time yesterday poking around on the filesystem of my LG VX-4600 mobile phone with BitPim and a USB data cable designed for my phone (you can usually find these on eBay, but watch out for fakes!).

I already knew that in order for a game to run on my phone, it needs to have two files: a “jar” and a “jad” file. I’ll give you a little background on these files, and how my phone, and several others operate.

Many mobile phones (and other devices) these days use a mini version of Java named J2ME, or Java 2 Micro Edition, to run their applications, games, and other utilities. Essentially every game and application on your phone is a mini java applet, or a “midlet” (find more midlets at midlet.org).

Now, in order for any game to run on my phone, it needs those two files (jar and jad) I mentioned earlier. The “jar” file (short for Java ARchive) is the executable file for the game (essentially it IS the game), while the “jad” (JAva Descriptor) contains any attributes that the jar file (or the game, in this case) needs to operate. The “jar” file is binary, while the “jad” file is plain-text, and this is where the money is. As I had mentioned earlier, the game you’re trying to play doesn’t check an outside resource (license verification server) to see if you’re allowed to run it, it checks something in the phone’s filesystem. It turns out that the “jad” file is the only one checked, so this is the key to getting a license-free game.

In a “Jad” file you’ll find an assortment of plain-text metadata about the game. You can change any of these fields, but I highly recoomend leaving them alone unless you feel comfortable with what you’re doing, you may render the game completely useless if you change something you’re not supposed to. In this case, the line we’re concerned with is “Odm-Timestamp:.” This is followed by a 10-digit number, what I assume to be a timestamp (for obvious reasons) of how long you may run this game. After a little experimentation, I’ve found that if you change this 10-digit number to “9999999999,” any timed-license, or limited-number-of-runs licensed game will run forever (or a very long time, at least).

For specific information on hwo to edit this on the LG VX-4600 (and other LG phones), see below. Your milage may vary!

LG4600 (and other similar LG Phones):

Every application is given a specific number in the filesystem. For instance, the golf game I have was the first game I’d ever downloaded, so it’s sitting with two files in the “asm” directory on my phone named 00.jar and 00.jad. The second game i downloaded was given the name 01.jar and 01.jad, and I’m sure you can figure out the rest fom here. The “contentInfo” file in the asm directory will tell you which game corrisponds with which number.

Follow these steps:

1. Open the phone’s filesystem directory tree in BitPim.
2. Open the “asm” folder.
3. Save and open the file “contentInfo.” Edit the file a bit by placing your cursor just before each !C you find, and hitting enter.
4. Check to see which file number the game you want to edit exists as on you phone (the number that follows !C is the file number) .
5. Save the corrisponding .jad file (”01.jad” for example) to your harddrive, and open it in your favorite text editor.
6. Find the line which starts with “Odm-Timestamp:.”
7. Change whatever number is listed after “Odm-Timestamp:” to “999999999.”
8. Save the edited jad file and overwrite the existing XX.jad on the phone with the new one from your harddrive.
9. You’re done! That wasn’t too hard, was it?

The following steps should work for most LG phones, and, to a lesser extent, any other phone out there, the only thing to keep in mind is that the filesystem would be different on different styles of phones.

Disclaimer: Of course this is just a proof of concept and I do not recommend or condone editing these files so that you can have license-free games. Pay for what you play!

One Comment

License-Free Cellphone Games: Some Assembly Required

Click through for game info on specific LG phones….

Got something to say?

Blah blah blah...




You can use these tags in your comments:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Browse at your leisure...

Check out the archives for your reading pleasure.

There's also a section if you're interested about me. You may also contact me, if you're so inclined.

You may also want to take a gander at the blogs I read if you tire of my ramblings.

Asides

View More Asides...

Colophon

Powered by WordPress
fullduplex.org (c) 2001-2006.
All rights reserved.
Proper XHTML & CSS.
RSS Feed. 30 queries. 0.188 sec.