Если вы знаете структуру двоичного потока, вы можете использовать класс BinaryReader :
using (Stream inputStream = new FileStream("test.bin", FileMode.Open, FileAccess.Read, FileShare.Read))
using (BinaryReader reader = new BinaryReader())
{
int value1 = reader.ReadInt32(); // read 32 bit integer
float value2 = reader.ReadSingle(); // read a single-precision 32-bit number
char[] value3 = reader.ReadChars(10); // read 10, 16-bit unicode characters
...
}
Если вы не знаете структуру, которую вы пытаетесь прочитать, вам понадобятся некоторые догадки.