I have done something like that a few times. I would start with a small program to move a viewing window over the data, showing hex and ascii, and try to interprete the first set of bytes of the block as short/int/long/float/double, using little and big endian. And then use my brain as a pattern recognition system. Move the block 1,2,4,8,16 or N bytes at a time, to recognize block structures. If you are lucky and there is reasonable data structure in there, you might succeed.