Compression algorithm identification
Hi all,
I'm trying to figure out the compression used to compress some parts of Intel Manageability Engine's firmware. I've identified the compressed blocks, and from another firmware which happened to use no compression I found what looks like corresponding uncompressed blocks. Here's what I have so far:
Code:
uncompressed:
0000000000: E1 C5 E1 C6 F1 C0 08 76 | 32 08 20 00 28 75 C9 70 ???????v2? (u?p
0000000010: A2 08 20 00 A9 71 D1 C0 | C1 C6 E0 7F C1 C5 E0 78 ?? ?q?????|???x
0000000020: 03 D0 04 D1 04 D2 B9 01 | EF FF 22 7A xx xx xx xx |?|?|?O??"z
compressed 1:
0000000000: 5B 29 4F AB C6 48 F3 42 | 50 2C 78 0A 27 67 AE F2 [)O??H?BP,x◙'g??
0000000010: 1B F4 7D 10 34 5B 2F 5A | CB 93 B4 3D D7 8F 3D 21 ←?}►4[/Z??=?=!
0000000020: BE F1 97 AD BE A5 EE 86 | E2 D9 7E 58 62 2A FF 4B ?????????~Xb*?K
compressed 2:
0000000000: 5B 29 4F AB C6 48 F3 42 │ 50 2C 78 0A 27 4F AE F2 [)O??H?BP,x◙'O??
0000000010: 1B F4 7D 10 34 5B 2F 5A │ CB 93 B4 3D D7 8F 3D 21 ←?}►4[/Z??=?=!
0000000020: BE F1 97 AD BE A5 EE 86 │ E2 D9 6C AC DA 72 2B 67 ?????????l??r+g
compressed 3 (maybe):
0000000000: 62 42 39 51 67 CF D3 DC │ 18 29 4A 9E EB EF 45 E9 bB9Qg???↑)J???E?
0000000010: 60 4D 4C 02 F3 2F 86 8B │ BB 7F A5 F1 51 90 68 05 `ML☻?/???⌂??Q?h♣
0000000020: CB 96 9C BF FB B4 A9 65 │ E6 5F 8B F4 DD FB 3F 4D ??????e?_?????M
Any idea what this could be? There are some strings in the firmware tools that hint it could be related to Huffman, however I was not able to match any of algorithms I found to the bitstream. Firmware also used LZMA, although that one seems to be implemented in software only.
P.S. I'm interested mainly in decompression.