Question

I'm trying to determine the algorithm used to compress a series of bytes... I have no idea what algorithm it is or how it works. What I do know is what the contents of the data are, both before and after its compressed.

Is there a program I can use to determine this, is the answer obvious from these small samples, or can you redirect me to some pretty good resources to figure this out?

Input = "\x00\x00"
Output = "\x78\xda\x63\x60\x00\x00\x00\x02\x00\x01"

Input = "\x00\x01\x00\x00\x00\x3C\xEA\x00\x05\x68\x65\x6c\x6c\x6f\x03"
Output = \x78\xda\x63\x60\x64\x60\x60\xb0\x79\xc5\xc0\x9a\x91\x9a\x93\x93\xcf\x0c\x00\x13\x10\x03\x44"

Input = "\x00\x0A\x00\x02\x1a\xec\xEA\x00\x0A\x62\x61\x73\x69\x6c\x61\x64\x65\x31\x32\x02\x00\x02\xe6\x0f\xEA\x00\x0B\x31\x31\x68\x6f\x74\x70\x69\x6e\x6b\x31\x31\x02\x00\x02\xee\x84\xEA\x00\x08\x73\x78\x79\x63\x61\x69\x74\x79\x02\x00\x02\xf3\x6b\xEA\x00\x09\x52\x6f\x62\x6c\x6f\x78\x31\x30\x31\x02\x00\x03\x13\xd3\xEA\x00\x0D\x62\x6c\x75\x65\x5f\x6d\x61\x66\x69\x61\x31\x32\x33\x02\x00\x03\x4c\x94\xEA\x00\x0D\x45\x76\x65\x72\x74\x6f\x6e\x20\x42\x72\x69\x74\x6f\x02\x00\x03\xb3\x96\xEA\x00\x0D\x69\x48\x65\x61\x72\x74\x43\x6f\x6f\x6b\x69\x65\x73\x02\x00\x04\xbf\x25\xEA\x00\x0B\x6a\x61\x6b\x65\x2e\x2e\x2e\x77\x68\x61\x74\x02\x00\x05\x94\x09\xEA\x00\x07\x7e\x5a\x61\x70\x70\x79\x7e\x02\x00\x06\xa9\x97\xEA\x00\x08\x4c\x75\x63\x79\x4c\x75\x63\x79\x02"
Output = "\x78\xda\x63\xe0\x62\x60\x92\x7a\xf3\x8a\x81\x2b\x29\xb1\x38\x33\x27\x31\x25\xd5\xd0\x88\x89\x81\xe9\x19\xff\x2b\x06\x6e\x43\xc3\x8c\xfc\x92\x82\xcc\xbc\x6c\x43\x43\xa0\xd0\xbb\x96\x57\x0c\x1c\xc5\x15\x95\xc9\x89\x99\x25\x95\x40\xfe\xe7\xec\x57\x0c\x9c\x41\xf9\x49\x39\xf9\x15\x86\x06\x40\x05\xcc\xc2\x97\x5f\x31\xf0\x26\xe5\x94\xa6\xc6\xe7\x26\xa6\x65\x26\x1a\x1a\x19\x03\x05\x7d\xa6\x00\x05\x5d\xcb\x52\x8b\x4a\xf2\xf3\x14\x9c\x8a\x32\x4b\xf2\x81\x82\x9b\xa7\x01\x05\x33\x3d\x52\x13\x8b\x4a\x9c\xf3\xf3\xb3\x33\x53\x8b\x99\x18\x58\xf6\xab\x02\xad\xcc\x4a\xcc\x4e\xd5\xd3\xd3\x2b\xcf\x48\x2c\x61\x62\x60\x9d\xc2\xf9\x8a\x81\xbd\x2e\x2a\xb1\xa0\xa0\xb2\x8e\x89\x81\x6d\xe5\x74\xa0\x0b\x7c\x4a\x93\x2b\x41\x98\x09\x00\x28\x9c\x3b\x2f"
Was it helpful?

Solution

That is zlib format using the Compress method it is very common.

https://www.rfc-editor.org/rfc/rfc1950

Related Answer What does a zlib header look like?

Edit

It is possible to be something else of course but this is the best place to start to decompress it.

http://www.zlib.net

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top