Dune:Firmware: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
== Dune Firmware == | == Dune Firmware == | ||
The dune firmware has an unknown header of | The dune firmware has an unknown header of 0x100 bytes, consisting of string identifier and several large integers. Most likely file-size, offsets and checksums. | ||
00000000 44 55 4e 45 20 46 49 52 4d 57 41 52 45 20 46 49 |DUNE FIRMWARE FI| | 00000000 44 55 4e 45 20 46 49 52 4d 57 41 52 45 20 46 49 |DUNE FIRMWARE FI| |
Revision as of 00:30, 27 February 2009
Dune Firmware
The dune firmware has an unknown header of 0x100 bytes, consisting of string identifier and several large integers. Most likely file-size, offsets and checksums.
00000000 44 55 4e 45 20 46 49 52 4d 57 41 52 45 20 46 49 |DUNE FIRMWARE FI| 00000010 4c 45 20 5b 62 64 70 72 69 6d 65 5f 73 6f 6e 79 |LE [bdprime_sony| 00000020 5d 00 66 6f 72 6d 61 74 31 00 30 38 31 32 32 36 |].format1.081226| 00000030 5f 31 32 31 36 00 33 33 35 35 34 39 34 34 00 32 |_1216.33554944.2| 00000040 33 37 37 31 32 35 37 33 00 37 31 33 38 33 30 35 |37712573.7138305| 00000050 34 00 34 38 36 38 37 36 37 37 00 36 39 38 35 39 |4.48687677.69859| 00000060 35 37 38 00 35 39 37 33 32 35 31 00 31 32 34 34 |578.5973251.1244| 00000070 31 34 37 38 00 37 36 36 31 34 31 38 30 00 32 30 |1478.76614180.20| 00000080 35 31 37 35 39 37 00 35 35 36 34 36 30 39 38 00 |517597.55646098.| 00000090 34 30 34 38 34 33 37 39 00 37 37 30 37 36 38 34 |40484379.7707684| 000000a0 32 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |2...............| 000000b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
In side the large file we have several parts. In no particular order, vmlinux.gz, which has the rootfs cpio attached, the main cramfs file-system as well as the usual romfs for SMP ucodes.
-rw-r--r-- 1 lundman lundman 44943512 2009-01-20 17:24 cramfs.bin -rw-r--r-- 1 lundman lundman 7669760 2009-01-20 16:35 kernelfs.cpio -rw-r--r-- 1 lundman lundman 18073752 2009-01-20 19:32 rom1fs3.bin -rw-r--r-- 1 lundman lundman 49522546 2009-01-23 16:02 vmlinux.gz
The file-sizes are not correct, I just dd from the right point until the end.
TODO: Check for uh.. checksum and algorithm.
TODO: Look at the .dsf (Dune service file) which can arbitrarily execute files. Here is a .dsf header:
00000000 44 55 4e 45 20 53 45 52 56 49 43 45 20 46 49 4c |DUNE SERVICE FIL| 00000010 45 00 38 36 36 37 33 36 38 37 00 35 34 31 33 39 |E.86673687.54139| 00000020 32 36 32 00 35 33 31 35 31 34 38 37 00 35 30 38 |262.53151487.508| 00000030 35 32 35 33 38 00 33 38 31 35 35 33 31 30 00 39 |52538.38155310.9| 00000040 30 34 37 34 36 38 00 34 36 39 33 35 31 30 34 00 |047468.46935104.| 00000050 36 34 36 35 38 34 36 31 00 36 34 30 30 37 32 30 |64658461.6400720| 00000060 38 00 39 33 35 35 36 37 33 37 00 38 38 34 37 38 |8.93556737.88478| 00000070 35 35 36 00 36 31 39 35 39 31 35 00 36 37 37 38 |556.6195915.6778| 00000080 38 33 00 39 38 35 31 30 37 31 00 38 32 35 38 39 |83.9851071.82589| 00000090 38 38 34 00 38 31 39 35 33 32 34 35 00 00 00 00 |884.81953245....| 000000a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................| * 00000100 1d 25 7a e4 27 ff e9 8c 58 0a 8b 18 70 bb f2 87 |.%z.'...X...p...|