WaxfordSqueers
June 14th, 2009, 23:56
I'm still working on deciphering an older, no longer supported, AMI Flash-ROM module. The ROM is broken into segments called 'devices' and the following data is an actual segment from the ROM:
I inserted breaks for clarity.
If you look at the last 8 bytes they are ASCII bytes that spell D845E10A, the name of my mobo and ROM. Preceding the ASCII name is a 0x14 byte header that precedes each ROM device in the ROM. They break down as follows:
0800 0000 = size of file
5396 E535 = CRC...apparently including the header with CRC bytes set to 0.
1400 AAD3 = offset to next segment
0800 = file size again, if over FFFF, it is apparently left as such
0C = device number
80 = indicates a non-compressed file, a 00 here would be a compressed file.
0000 0000 = EOF markers and padding.
How the heck do you get a CRC = 35E59653 out of that? I ran the file through a CRC 32 bit check and a CRC-32 check with no luck. I have tried the CRC checks on the ASCII name itself and on the combined name and header, with the CRC value set to zeros.
Code:
08000000 5396E535 1400 AAD3 0800 0C 80 00000000 4438343545313041
I inserted breaks for clarity.
If you look at the last 8 bytes they are ASCII bytes that spell D845E10A, the name of my mobo and ROM. Preceding the ASCII name is a 0x14 byte header that precedes each ROM device in the ROM. They break down as follows:
0800 0000 = size of file
5396 E535 = CRC...apparently including the header with CRC bytes set to 0.
1400 AAD3 = offset to next segment
0800 = file size again, if over FFFF, it is apparently left as such
0C = device number
80 = indicates a non-compressed file, a 00 here would be a compressed file.
0000 0000 = EOF markers and padding.
How the heck do you get a CRC = 35E59653 out of that? I ran the file through a CRC 32 bit check and a CRC-32 check with no luck. I have tried the CRC checks on the ASCII name itself and on the combined name and header, with the CRC value set to zeros.