Saturday, January 15, 2011

Hacking a MapmyIndia Roadpilot

Okay, so I got my hands onto a RoadPilot (a navigation device offered by MapmyIndia)
Before Dad could install it in his car, though, I did a little "experimentation" on it.

let's have a look at the device

It's small, but don't be deceived by it's size. I connects to 5-6 satellites in a flash and navigation is crisp and clear.
Powering it on will show you this screen.
Then you have two options. Navigation or Settings
I click navigation. (Sorry, the camera was not very stable .... couldn't contain my excitement you see)
So this is how the navigation screen looks like. (off the shelf software "Mireo GPS Black Edition 3.1, which is used on almost all navigation devices over the world).
That's all fair till now. But what grabbed my attention was a little label at the back of the device which proclaimed "powered by Windows CE 6.0". Which essentially means that underneath this navigation actually lies a windows operating system. An embedded system is like this. It runs on windows, but the manufacturer locks it onto some particular application of their choice, so that when the device is powered on, only the manufacturer's application can be run, and windows cannot be accessed.

Now I was determined to hack it. I got some vague search results from google. One particular post about hacking an ALTIS Navigator (the European counterpart of mapmyindia) did give me a head start on how to start hacking it. But essentially there is nothing much on the net about hacking GPS devices. So I set out own my own path, with all the risks that come along with it (like ending up with a bricked device and earfuls from my dad).

Well, let me make me clear, that there are lots of difficulties on the way. With freaks like me in India, MapmyIndia have taken a very safe approach. The device cannot be synced with the PC. It can only connect as "USB storage device". So that essentially prevents you from accessing the operating system of the device remotely from your PC. I'll go into the details later. First, some tools are needed to be downloaded from the net to get started with.

First download Tascal Registry Editor
Next, take an SD card, (empty would be better) an fire it up on your PC. Some files are needed to be transferred.
Extract the contents of the downloaded Tascal thingy into your SD card
Next extract the files of TRE.ARM ("arm" because this device in my hand has an ARM processor)
The files that you find inside that archive all end with .001 .002 .003 type of extensions. rename all to .exe
One of them will turn into an icon. Bingo. That's what we want. That's the executable. (It won't run on your PC. It will run on the device only)

Next is the tricky step. (Sorry, almost all my tutorials on this blog somehow end up having one "tricky step")

What we basically need now is to somehow open the explorer. Create a file inside the SD Card called "shell.ini" (without the quotes of course) This file directs the device to open the an application on startup.
Type \windows\explorer.exe into notepad and save the file as shell.ini and save it into the sd card. (not into any folder. just outside, in the root directory of the sd card.) This how we trick the device into opening windows-explorer.


What we need next is a taskmanager. Yes, the same thing that opens up when you press Ctrl-Alt-Del. In Windows Embedded it is not there natively. We need a third party software. Download it from somewhere. Same as with Tascal, extract the files and and rename the ARM files into exe.

So these are the files that should basically be there on the SD Card.
(strongARM is not Neil Armstrong's grandson or something if u started wondering that. It's just another type of processor.)


What we do next is put the card into the device. (If you are not an atheist like me, then you might consider praying to god a bit after doing this step, though my hacking experiment went well without prayers. Becasue here you set rolling an unstoppable wheel in motion. After this step there is no stopping. Now you just have to complete the hacking procedure)

Now power up the device. On the screen that comes click navigation as usual.

Nothing out of the ordinary till now??? Well the extraordinary starts happening from here. As soon as you tap on navigation, instead of navigation software, the windows taskbar (the thing with start button and all) pops up at the bottom. Well of course provided you followed my shell.ini instructions clearly then only.


Now take out a stylus from somewhere. The next few steps will need precise tappings. Not possible with your fat fingers. (What did you say??? Your fingers are not fat??? Really??? How fast do you type messages on a touchscreen mobile huh??? Very fast??? Ok then... as you wish... go forward with your finger... Don't blame me if you end up pressing wrong places)

Open programs>>explorer
That will take you to My documents folder. Explore your way into the SD Card and open that taskmanager.

Here is the taskmanager. Now close all gps related processes like gps.exe, navigator.exe etc etc

Don't dare close any other processes. I have no idea about Windows Embedded Processes, it may spoil your system. Once the processes are closed, you will find the good old desktop found on any windows device.
Isn't this just amazing??? Almost like a windows XP desktop right on your little palmtop device.
Now open tascal registry editor. (another tricky step in my guide, any mistake here and you have a dead device)
And change the launch settings as mentioned in the picture below (steps 2, 3 ,4 and 5)

Now let's explore a bit here and there.
Our little device has a "virtual onscreen keyboard" to type texts. (Where did that guy go who said his fingers were not fat??? Go and type your name on this keyboard with those thin fingers of yours if you can!!!)

Now a little exploration brings me to the folder where the actual navigation software exists. Here have a look at it. (mapmyindia_navigator.exe)
Create a shortcut of that application on your desktop.

So you have a Windows Powered PDA at your service (albeit without SIM card and phone functionalities, but nevertheless very useful) So your device that could earlier only navigate you can now be used to view photos, listen to music, play games, view word and excel documents and do much much more....
All you need is to download appropriate software into your SD card and put it into your device. Picture Viewr, Mplayer, WordVu.... the list is endless.


***A very important note
I have no idea how to get the device back to it's original state. You can try re-editing the registry to automatically launch the navigation softwares again. But whatever, I've not tried doing those things. So don;t ask me if you end up in deep shit trying those things.


anyways,
HAPPY HACKING!!!!!
-with best regards
ChampionSwimmer

6 comments:

  1. hi there i tried d same procedure wid my roadpilot and it worked..nw i hav a windows pda in my hand..thnks bro

    ReplyDelete
  2. Nice...!! Quite a good one... u shud have told me that u have a blog bout these things.. i thot u had just the poetry site... neways its really awesum..!! Guess who fat fingers.. :P

    ReplyDelete
  3. Somehow Launch70 "GPS.exe" has been deleted from registry now Navigation or Settings Screen not showing up.


    Please, tell me.. How to "HARD REST" this device? Because "SOFT RESET" is not working now.

    ReplyDelete
  4. Hello, I have MapMyIndia Lx340 and whats bothering me is that this device firmware is not programmed to go into auto-sleep mode when external power is disconnected. Have to manually press the button each time which is really annoying. Same when device needs to be powered up. Since I have hardwired GPS to car ignition, I need the device auto-awake and sleep when power is connected/disconnected. Is there a hack available to accomplish this?
    Device is running on Windows CE 6.

    ReplyDelete
  5. Awesome tutorial,
    Is there any kind of internet in this Map my India?
    I am thinking of making something out of it so want to know that is it connected to internet or not or is there some way to hook a simcard into it so internet can be used?

    Please let me know

    ReplyDelete

Total Pageviews