Javscript would provide a navigation menu here. HOME

Grab It

Sources and binaries based on a contribution from the great buzz (see also buzzdev.net) in forum.xda-developers.com

GrabIt will dump the ROM of a WinCE/PocketPC device to a file. It will do this automatically, if you place it on a memory card in a special directory and name it AutoRun.exe.

 

AutoRun

The Pocket PC has a feature that can automatically launch an application when any new external storage is detected such as the insertion of a CompactFlash card or PCMCIA card. This feature is typically used to provide an auto-install feature for software. However, there is no reason the application launched has to be an installation program.

When the system detects that a storage card has been inserted, it looks in the root directory of that card for a directory with a specific name. If that directory exists and contains an application named autorun.exe, the application is first copied to the \windows directory, and then launched with a command line string install. When the card is removed, the copy of autorun in the \windows directory is again launched, this time with a command line of uninstall.

The directory that the Pocket PC searches for depends on the type of CPU in the device because an application must be compiled specifically for a CPU. The autorun directory names match the CPU type value returned from the GetSystemInfo function. The following list shows the values for a few of the more popular CPUs. All the CPU values are defined in winnt.h.

  • MIPS (41xx series and 3910)

4000

  • SH3

10003

  • SH4

10005

  • Motorola 821

821

  • StrongARM

2577

If the Pocket PC doesn't find the appropriate directory, the device looks for an additional directory named 0. If this directory exists, the autorun.exe application contained within it is assumed to be a Common Executable Format (CEF) file and is copied to the Windows directory and launched.

 

After you have a dumped rom file, you can use the tool dumprom from forum.xda-developers.com to get the content of the rom file. This is very usefull, as you now get access to files, that are protected on the device itself. For example, you can not get the export function list from shell32.exe on a device (ie with PEInfo), as the file is a eXecute In Place (XIP) file. Now on the Desktop PC, you can get the ROM files from dump.bin extracetd into a directory of your choice and then you can take a look at the file contents. On forum.xda-developers.com you will also find tools to re-assemble the files into a new ROM file and can then put this new ROM image onto the device.

 

Sources (cleanedUp)

GrabIt ARMv4 Binary

GrabIt ARMv4i Binary

grab_it10jan2006.7z (full eVC4 code)
grab_it.cpp

AutoRun_armv4.exe

AutoRun_armV4i.exe

The version below dumps max 256MB instead of 128MB

grab_it12jan2006.7z
grab_it_12jan2006.cpp

AutoRun_armv4_256.exe

AutoRun_armV4i_256.exe

 

Last revised 10. jan 2006

[Counter]