Flash

From PS3 Developer wiki
Revision as of 22:49, 26 April 2011 by Defyboy (talk | contribs) (added encrypted file header)
Jump to navigation Jump to search

Structure

  • 0x0 > 0x400 = Headers
  • 0x400 > 0x800 = File table
  • 0x800 > 0xF00000 = Region 1
    • 0x800 > 0x2F000 = asecure_loader region
      • 0x840 > 0xF110 = metldr
  • 0xF00000 > 0xFFFFFF = region 2
    • unknown format

Region 1 Format

Magic header

First 512 Bytes

Example

Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000000  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000010  00 00 00 00 0F AC E0 FF 00 00 00 00 DE AD BE EF  .....¬àÿ....Þ.¾ï
00000020  00 00 00 00 00 00 00 00 00 00 00 00 00 00 78 00  ..............x.
00000030  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000040  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000050  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000060  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000070  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000080  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000090  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000000A0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000000B0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000000C0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000000D0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000000E0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000000F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000100  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000110  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000120  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000130  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000140  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000150  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000160  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000170  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000180  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000190  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000001A0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000001B0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000001C0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000001D0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000001E0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000001F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

Unknown Header

The next block of 512 bytes only has the first 16 bytes written. Unsure exactly what this means.

Example


Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000200  49 46 49 00 00 00 00 01 00 00 00 02 00 00 00 00  IFI.............
00000210  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
00000220  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
00000230  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
00000240  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
00000250  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
00000260  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
00000270  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
00000280  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
00000290  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
000002A0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
000002B0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
000002C0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
000002D0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
000002E0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
000002F0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
00000300  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
00000310  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
00000320  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
00000330  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
00000340  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
00000350  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
00000360  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
00000370  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
00000380  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
00000390  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
000003A0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
000003B0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
000003C0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
000003D0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
000003E0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
000003F0  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ

Entry Table

The next 1024 bytes contain the file entry table:

Format

First is a header, this tells us how many files are stored here.

Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000400  00 00 00 01 00 00 00 0B 00 00 00 00 00 EF FC 00  .............ïü.

 u32 - unknown (0x01)
 u32 - Entry count (0x0B)
 u64 - Length of Region (0xEFFC00)

Then follows a 32 byte entry for each file

Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000410  00 00 00 00 00 00 04 00 00 00 00 00 00 02 E8 00  ..............è.
00000420  61 73 65 63 75 72 65 5F 6C 6F 61 64 65 72 00 00  asecure_loader..
00000430  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

 u64 - offset - Relative to 0x400 (0x400)
 u64 - size (0x2E800)
 char[32] - name (asecure_loader)

Example

Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000400  00 00 00 01 00 00 00 0B 00 00 00 00 00 EF FC 00  .............ïü.
00000410  00 00 00 00 00 00 04 00 00 00 00 00 00 02 E8 00  ..............è.
00000420  61 73 65 63 75 72 65 5F 6C 6F 61 64 65 72 00 00  asecure_loader..
00000430  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000440  00 00 00 00 00 02 EC 00 00 00 00 00 00 01 00 00  ......ì.........
00000450  65 45 49 44 00 00 00 00 00 00 00 00 00 00 00 00  eEID............
00000460  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000470  00 00 00 00 00 03 EC 00 00 00 00 00 00 00 08 00  ......ì.........
00000480  63 49 53 44 00 00 00 00 00 00 00 00 00 00 00 00  cISD............
00000490  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000004A0  00 00 00 00 00 03 F4 00 00 00 00 00 00 00 08 00  ......ô.........
000004B0  63 43 53 44 00 00 00 00 00 00 00 00 00 00 00 00  cCSD............
000004C0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000004D0  00 00 00 00 00 03 FC 00 00 00 00 00 00 02 00 00  ......ü.........
000004E0  74 72 76 6B 5F 70 72 67 30 00 00 00 00 00 00 00  trvk_prg0.......
000004F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000500  00 00 00 00 00 05 FC 00 00 00 00 00 00 02 00 00  ......ü.........
00000510  74 72 76 6B 5F 70 72 67 31 00 00 00 00 00 00 00  trvk_prg1.......
00000520  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000530  00 00 00 00 00 07 FC 00 00 00 00 00 00 02 00 00  ......ü.........
00000540  74 72 76 6B 5F 70 6B 67 30 00 00 00 00 00 00 00  trvk_pkg0.......
00000550  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000560  00 00 00 00 00 09 FC 00 00 00 00 00 00 02 00 00  ......ü.........
00000570  74 72 76 6B 5F 70 6B 67 31 00 00 00 00 00 00 00  trvk_pkg1.......
00000580  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000590  00 00 00 00 00 0B FC 00 00 00 00 00 00 70 00 00  ......ü......p..
000005A0  72 6F 73 30 00 00 00 00 00 00 00 00 00 00 00 00  ros0............
000005B0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000005C0  00 00 00 00 00 7B FC 00 00 00 00 00 00 70 00 00  .....{ü......p..
000005D0  72 6F 73 31 00 00 00 00 00 00 00 00 00 00 00 00  ros1............
000005E0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000005F0  00 00 00 00 00 EB FC 00 00 00 00 00 00 04 00 00  .....ëü.........
00000600  63 76 74 72 6D 00 00 00 00 00 00 00 00 00 00 00  cvtrm...........
00000610  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000620  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000630  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000640  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000650  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000660  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000670  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000680  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000690  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000006A0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000006B0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000006C0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000006D0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000006E0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000006F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000700  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000710  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000720  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000730  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000740  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000750  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000760  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000770  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000780  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00000790  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000007A0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000007B0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000007C0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000007D0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000007E0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
000007F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

asecure_loader region

Within asecure_loader is another file table similar to region 1

Header

Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000800  00 00 00 01 00 00 00 01 00 00 00 00 00 02 E8 00  ..............è.

 u32 - unknown (0x01)
 u32 - Entry count (0x01)
 u64 - Length of Region (0x2E800)

Entry Table

Then follows a 32 byte entry for each file

Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000810  00 00 00 00 00 00 00 40 00 00 00 00 00 00 E8 D0  .......@......èÐ
00000820  6D 65 74 6C 64 72 00 00 00 00 00 00 00 00 00 00  metldr..........
00000830  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

 u64 - offset - Relative to region start (0x40)
 u64 - size (0xE8D0)
 char[32] - name (metldr)

Example

Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00000800  00 00 00 01 00 00 00 01 00 00 00 00 00 02 E8 00  ..............è.
00000810  00 00 00 00 00 00 00 40 00 00 00 00 00 00 E8 D0  .......@......èÐ
00000820  6D 65 74 6C 64 72 00 00 00 00 00 00 00 00 00 00  metldr..........
00000830  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

Encrypted Files on Flash

Encrypted files on flash appear to have some sort of header, Here are two different samples from metldr and bootldr

From metldr

00000840  00 00 0E 8E 99 87 3B C7 15 F2 80 80 9C 30 22 25  ...Ž™‡;Ç.ò€€œ0"%
00000850  00 00 0E 8E 78 A5 61 E0 17 72 6E F7 A7 1B 41 AB  ...Žx¥aà.rn÷§.A«
00000840  00 00 0E 8E 99 87 3B C7 15 F2 80 80 9C 30 22 25  ...Ž™‡;Ç.ò€€œ0"%
00000850  00 00 0E 8E 81 2E 00 A9 59 75 01 CC C1 72 D5 50  ...Ž...©Yu.ÌÁrÕP

From bootldr

00FC0000  00 00 2F 4B 53 92 1C E7 F7 33 41 76 9B 7A 1E D6  ../KS’.ç÷3Av›z.Ö
00FC0010  00 00 2F 4B 78 A5 61 E0 17 72 6E F7 A7 1B 41 AB  ../Kx¥aà.rn÷§.A«
00FC0000  00 00 2F 4B CB 9E 15 24 28 B4 4F D2 F9 3F BC 43  ../KËž.$(´OÒù?¼C
00FC0010  00 00 2F 4B 81 2E 00 A9 59 75 01 CC C1 72 D5 50  ../K...©Yu.ÌÁrÕP

Region 2 Format

This region appears to directly follow the other region (at 0xF0000 = region size + header)

Not much is known about this at this stage.

Header

Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F

00F00000  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00010  00 00 00 00 0F AC E0 FF 00 00 00 00 DE AD FA CE  .....¬àÿ....Þ.úÎ
00F00020  00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 02  ................
00F00030  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00040  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00050  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00060  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00070  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00080  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00090  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F000A0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F000B0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F000C0  00 00 00 00 00 00 79 00 00 00 00 00 00 00 01 00  ......y.........
00F000D0  10 70 00 00 01 00 00 01 00 00 00 00 00 00 00 03  .p..............
00F000E0  10 70 00 00 02 00 00 01 00 00 00 00 00 00 00 03  .p..............
00F000F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00100  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00110  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00120  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00130  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00140  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00150  00 00 00 00 00 00 7A 00 00 00 00 00 00 00 04 00  ......z.........
00F00160  10 70 00 00 01 00 00 01 00 00 00 00 00 00 00 03  .p..............
00F00170  10 70 00 00 02 00 00 01 00 00 00 00 00 00 00 03  .p..............
00F00180  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00190  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F001A0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F001B0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F001C0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F001D0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F001E0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F001F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00200  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00210  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00220  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00230  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00240  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00250  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00260  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00270  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00280  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00290  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F002A0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F002B0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F002C0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F002D0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F002E0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F002F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00300  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00310  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00320  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00330  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00340  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00350  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00360  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00370  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00380  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00390  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F003A0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F003B0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F003C0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F003D0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F003E0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F003F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00400  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00410  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00420  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00430  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00440  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00450  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00460  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00470  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00480  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00490  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F004A0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F004B0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F004C0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F004D0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F004E0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F004F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00500  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00510  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00520  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00530  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00540  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00550  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00560  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00570  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00580  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00590  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F005A0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F005B0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F005C0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F005D0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F005E0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F005F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00600  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00610  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00620  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00630  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00640  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00650  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00660  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00670  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00680  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00690  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F006A0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F006B0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F006C0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F006D0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F006E0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F006F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00700  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00710  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00720  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00730  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00740  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00750  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00760  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00770  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00780  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00790  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F007A0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F007B0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F007C0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F007D0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F007E0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F007F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00800  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00810  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00820  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00830  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00840  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00850  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00860  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00870  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00880  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00890  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F008A0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F008B0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F008C0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F008D0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F008E0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F008F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00900  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00910  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00920  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00930  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00940  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00950  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00960  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00970  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00980  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00990  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F009A0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F009B0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F009C0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F009D0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F009E0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F009F0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00A00  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00A10  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00A20  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00A30  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00A40  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00A50  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00A60  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00A70  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00A80  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00A90  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00AA0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00AB0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00AC0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00AD0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00AE0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00AF0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00B00  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00B10  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00B20  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00B30  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00B40  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00B50  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00B60  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00B70  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00B80  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00B90  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00BA0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00BB0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00BC0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00BD0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00BE0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00BF0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00C00  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00C10  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00C20  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00C30  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00C40  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00C50  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00C60  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00C70  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00C80  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00C90  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00CA0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00CB0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00CC0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00CD0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00CE0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00CF0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00D00  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00D10  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00D20  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00D30  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00D40  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00D50  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00D60  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00D70  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00D80  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00D90  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00DA0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00DB0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00DC0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00DD0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00DE0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00DF0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00E00  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00E10  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00E20  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00E30  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00E40  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00E50  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00E60  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00E70  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00E80  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00E90  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00EA0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00EB0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00EC0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00ED0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00EE0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00EF0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00F00  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00F10  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00F20  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00F30  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00F40  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00F50  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00F60  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00F70  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00F80  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00F90  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00FA0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00FB0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00FC0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00FD0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00FE0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................
00F00FF0  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

Bootloader

Located at 0xFC0000 to 0xFFFFFF (The last 256kb of flash)

NOR Files

The following is a list of files stored in NOR Flash

Name Offset Size
asecure_loader 0x400 0x2E800 (190,464 bytes)
eEID 0x2EC00 0x10000 (65,636 bytes)
cISD 0x3EC00 0x800 (2,048 bytes)
cCSD 0x3F400 0x800 (2,048 bytes)
trvk_prg0 0x03FC00 0x20000 (131,072 bytes)
trvk_pkg0 0x7FC00 0x20000 (131,072 bytes)
trvk_pkg1 0x9FC00 0x20000 (131,072 bytes)
ros0 0xBFC00 0x700000 (7,340,032 bytes)
ros1 0x7BFC00 0x700000 (7,340,032 bytes)
cvtrm 0XEBFC00 0x40000 (262,144 bytes)

NOR Unpacking // NOR Unpkg

/*
  # ../norunpkg norflash.bin norflash
  unpacking asecure_loader (size: 190xxx bytes)...
  unpacking eEID (size: 65536 bytes)...
  unpacking cISD (size: 2048 bytes)...
  unpacking cCSD (size: 2048 bytes)...
  unpacking trvk_prg0 (size: 131072 bytes)...
  unpacking trvk_prg1 (size: 131072 bytes)...
  unpacking trvk_pkg0 (size: 131072 bytes)...
  unpacking trvk_pkg1 (size: 131072 bytes)...
  unpacking ros0 (size: 7340032 bytes)...
  unpacking ros1 (size: 7340032 bytes)...
  unpacking cvtrm (size: 262144 bytes)...
*/

// Copyright 2010       Sven Peter
// Licensed under the terms of the GNU GPL, version 2
// http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
// nor modifications by rms.

#include "tools.h"
#include "types.h"

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/stat.h>

#ifdef WIN32
#define MKDIR(x,y) mkdir(x)
#else
#define MKDIR(x,y) mkdir(x,y)
#endif

u8 *pkg = NULL;

static void unpack_file(u32 i)
{
        u8 *ptr;
        u8 name[33];
        u64 offset;
        u64 size;

        ptr = pkg + 0x10 + 0x30 * i;

        offset = be64(ptr + 0x00);
        size   = be64(ptr + 0x08);

        memset(name, 0, sizeof name);
        strncpy((char *)name, (char *)(ptr + 0x10), 0x20);

        printf("unpacking %s (size: %d bytes)...\n", name, size);
        memcpy_to_file((char *)name, pkg + offset, size);
}

static void unpack_pkg(void)
{
        u32 n_files;
        u64 size;
        u32 i;

        n_files = be32(pkg + 4);
        size = be64(pkg + 8);

        for (i = 0; i < n_files; i++)
                unpack_file(i);
}

int main(int argc, char *argv[])
{
        if (argc != 3)
                fail("usage: norunpkg filename.nor target");

        pkg = mmap_file(argv[1]);

        /* kludge for header, i do not do sanity checks at the moment */
        pkg += 1024;

        MKDIR(argv[2], 0777);

        if (chdir(argv[2]) != 0)
                fail("chdir");

        unpack_pkg();

        return 0;
}

Source: http://rms.dukio.com/?p=25

RMS - eEID splitter

#include <stdio.h>
#include <stdlib.h>

void
DumpEidData (FILE * pFile, int iInputSize, int iEidCount)
{
  FILE *pOutput;
  char szFileName[8];
  char *szBuf;
  int iRes, iSize;

  printf("dumping EID%s from eEID at %p, size %d (%x)..\n",
         iEidCount, pFile, iInputSize, iInputSize
		 );

  szBuf = (char *) malloc (iInputSize + 1);

  if (szBuf == NULL)
    {
      perror ("malloc");
      exit (1);
    };

  iSize = fread (szBuf, iInputSize, 1, pFile);
  sprintf (szFileName, "EID%d", iEidCount);
  pOutput = fopen (szFileName, "wb");
  iRes = fwrite (szBuf, iInputSize, 1, pOutput);

  if (iRes != iSize)
    {
      perror ("fwrite");
      exit (1);
    };

  free (szBuf);
}

int
main (int argc, char **argv)
{
  FILE *pFile;

  pFile = fopen (argv[1], "rb");
  if (pFile == NULL)
    {
	  printf ("usage: %s <eEID>\n");
	  exit (1);
    }

  fseek (pFile, 0x70, SEEK_SET);

  DumpEidData (pFile, 2144, 0);
  DumpEidData (pFile, 672, 1);
  DumpEidData (pFile, 1840, 2);
  DumpEidData (pFile, 256, 3);
  DumpEidData (pFile, 48, 4);
  DumpEidData (pFile, 2560, 5);
}

Source: http://rms.dukio.com/?p=59