Gerhard's Pages

dumprom mit dem SIMpad....

Dieser Text bezieht sich auf das "alte" dumprom von Anfang 2003, das noch kein CE 4-Format kannte und generell weniger konnte....

Die Header-Bastelei ist mit der aktuellen Version vom 1.7.2003 nicht mehr nötig. Die kann zwar mit dem Siemens-Bootblock immer noch nichts anfangen, aber zumindest das Auspacken der Dateien funktioniert einwandfrei...

Für das/den XDA ist ja schon einiges an "Forschung" getrieben worden, um es
besser zum Funktionieren zu bringen....

unter http://www.xs4all.nl/~itsme/projects/xda/ findet man einiges, wie
das ROM aufgebaut ist, was CE intern so treibt etc., darunter auch dumpROM
(unter "how the windows ce rom is laid out") Näheres auch unter
http://xda-developers.com/.

Leider mag dumpROM anscheinend keine SIMpad-Images - oder doch?


----------Don't wrap this file! We need at least 73 chars/line----------

Ein "normales" CE-Image (In diesem Falle, von einem MoreIO pad...), das mit
dumprom lesbar ist, fängt so an:

0000: FE 03 00 EA 00 00 00 00 00 00 00 00 00 00 00 00   ................
0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0040: 45 43 45 43 00 70 0D 8C 00 00 00 00 00 00 00 00   ECEC............
0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
.....


Wichtig ist hier der erste "ECEC"-Header, alles davor kann von
Hersteller zu Hersteller (oder von Installer zu Installer) variieren...

als zweites Beispiel ein XDA-ROM:

0000: 50 57 31 30 41 31 2D 45 4E 47 2D 33 2E 31 36 2D   PW10A1-ENG-3.16-
0010: 30 30 37 2D 66 35 64 63 2D 2D 2D 2D 2D 2D 2D 2D   007-f5dc--------
0020: FE 03 00 EA 00 00 00 00 00 00 00 00 00 00 00 00   ................
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0060: 45 43 45 43 00 00 0A 8C 00 00 00 00 00 00 00 00   ECEC............
0070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
.....


--------------------------

Alternativ ein SIMPad-ROM:


0000: 41 52 4E 4F 4C 44 42 4F 4F 54 42 4C 4F 43 4B 00   ARNOLDBOOTBLOCK
0010: 00 10 08 04 01 00 00 00 14 00 08 01 03 B0 8A 01   ................
0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0040: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0060: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0090: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
00A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
00B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
00C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
00D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
00E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
00F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0100: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0110: 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 00   ................
0120: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0130: 00 00 00 00 93 74 F2 92 53 38 34 32 00 30 30 30   ....“t..S842.000
0140: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30   0000000000000000
0150: 30 30 30 30 30 30 30 30 00 00 00 00 00 00 00 00   00000000........
0160: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0170: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0180: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0190: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
01A0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
01B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
01C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
01D0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
01E0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
01F0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0200: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0210: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0220: 00 00 00 00 00 00 00 00 00 00 00 00 45 43 45 43   ............ECEC
0230: B0 68 92 81 00 00 00 00 00 00 00 00 00 00 00 00   .h..............

und so weiter....

--------------------------------------------------

Ersetzt man nun den Header des SIMpad-Images durch einen "üblichen"
nbf-Header, kann dumpROM dieses File schon mal auslesen....:

Am einfachsten passiert das mit einem Hexeditor, z.B. mit dem von
Andrew W. Phillips, indem man den Vorspann löscht und das File bis zum
ECEC passend umbaut:


0000: FE 03 00 EA 00 00 00 00 00 00 00 00 00 00 00 00   ................
0010: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0020: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0030: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
0040: 45 43 45 43 B0 6C A9 81 00 00 00 00 00 00 00 00   ECEC............
0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
.....


ok, dann mal ein erster Versuch: dumprom test.bin >ce3-020.txt

img 00000000 : hdr=819268b0 base=80080000  commandlineoffset=80080000
unable to determine loading offset for test.bin

nu ja, das ging vorher auch schon, aber jetzt geht das Auspacken:
    dumprom test.bin 0x80080000 -d files >ce3-020-files.txt


80080000 - 80080000 L00000000 rom_00 start
80080000 - 80080004 L00000004 romsection id=ea0003fe
80080004 - 80080040 L0000003c NUL
80080040 - 80080048 L00000008 'ECEC' -> 819268b0
80080048 - 80081000 L00000fb8 NUL
80081000 - 800b14b4 L000304b4 o32 region_0 rva=00001000 vsize=000304b4
    real=80081000 psize=00030600 f=60000020 for nk.exe
800b14b4 - 800b14b4 L00000000 o32 region_1 rva=00032000 vsize=0000a000
    real=800b2000 psize=00000000 f=c0000080 for nk.exe
.....
80de8c54 - 80de8c61 L0000000d filename msreader.exe
80de8c64 - 80de8c70 L0000000c filename ebookfx.dll
80de8c70 - 80de8c7d L0000000d filename ebriched.dll
....
usw...

So, weil mich eigentlich nur der MS Reader für das SIMpad interessierte,
geht's hier gleich weiter