Reverse Engineering: How do I identify an unknown compression method?
Asked Answered
S

3

7

I'm with a group of modders attempting to reverse engineer and mod a Blu-Ray player. We're stuck because the firmware code seems to be compressed, and the decompression code is nowhere to be found. Presumably, the decompression is handled by hardware.

My question is, with only the the compressed output, how do we determine what type of compression algorithm is used? We've managed to find a repeating string, which presumably encodes repeating data.

The compressed 0x00 bytes starts with 0x00 0x15 and then the repeating sequence (F8 06 FC 03 7E 01 BF 00 DF 80 6F C0 37 E0 1B F0 0D) and varies at the end.

http://hej456.com/forum/viewtopic.php?t=832

Our documentation and efforts are in the thread above. The firmware binaries are located in the thread above.

Seaboard answered 27/4, 2009 at 21:11 Comment(2)
I suspect that providing a valid answer to this question might violate the DMCA or some other such copy-protection law. Just sayin' :)Jointly
What processor does the firmware run on?Nyssa
I
1

I would recommend looking at the hardware, and seeing if that support any native encryption or compression schemes. I note encryption because such a string is possible as well; for example the Nintendo DS uses RSA encryption that I would presume is handled at a hardware level to some degree, though don't quote me on that.

In short, looking at the hardware datasheets (if available) would be your best course of action. I'm assuming that if you can get a hold of the firmware, you're also capable of viewing the hardware itself.

Inject answered 27/4, 2009 at 21:35 Comment(0)
S
1

I know this is an old post but here is a link to the DS decompression code written in C#. Maybe it can be a headlight in the dark for you if you are in fact still attempting this effort.

DS DECOMPRESS: A compressor and decompressor for the compression formats commonly used in games made for Nintendo consoles/handhelds.

Soprano answered 17/10, 2012 at 18:7 Comment(0)
K
1

I do not have much experience with it but you could do a side channel attack by trying to analyze the power consumption. A good friend of mine did this to be able to crack some AES encryption. Maybe this will lead you to your solution:

http://en.wikipedia.org/wiki/Power_analysis

Karlik answered 6/9, 2013 at 9:25 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.