corna / me_cleaner

Tool for partial deblobbing of Intel ME/TXE firmware images
GNU General Public License v3.0
4.46k stars 277 forks source link

Fujitsu / Phoenix BIOS file format (.omf) unrecognized #232

Closed trilean closed 5 years ago

trilean commented 5 years ago

Hi,

I'm trying to run me_cleaner on a Core 2 based Fujitsu Esprimo P7935. Both the backup dump and the BIOS from Fujitsu's Website are just zip files with a .bup extension. Inside backup.bup there is

    716 BupInfo.xml
   1313 C2812_A2.omf
4194417 D2812_A2.omf

(the download has more files, I'm guessing microcode updates) I can't find anything about .omf, and me_cleaner doesn't recognize it ("Unknown image").

$ hexdump C2812_A2.omf | head -n 2
0000000 21d1 0005 3200 2d30 7041 2d72 3831 3220
0000010 3a33 3430 301a 3231 3030 3034 0030 0000
$ hexdump C2812_A2.omf | head -n 2
0000000 71b3 4000 0000 0000 0000 0000 0000 0000
0000010 0000 0000 3000 3231 3030 3134 0031 0000

file just returns "data". Any ideas?

I also tried in vain to read the BIOS using flashrom from an OS booted on that machine. Maybe I should try some force-read flags?

Thank you!

trilean commented 5 years ago

The BIOS is contained in D2812_A1.OCF. It can be extracted with a tool called snipac by Veit Kannegieser. Grep for 'SNIPAC' on http://kannegieser.net/veit/programm/index_e.htm.

The resulting file still has a proprietary header and one extra byte at the end. I used

$ dd if=D2812_A1.ROM of=D2812_A1_CUT.ROM bs=1 skip=112 count=$((4194417-113))

to cut the file to the proper size. The resulting file has exactly 4MiB.

Unfortunately now I hit #255 :(