Если я правильно понял ваш вопрос, вам нужно найти строки, которые могут содержать любые символы в большом двоичном файле. Содержит ли двоичный файл текст? Если да, знаете ли вы кодировку? Если это так, вы можете использовать класс StreamReader следующим образом:
using (StreamReader sr = new StreamReader("C:\test.dat", System.Text.Encoding.UTF8))
{
string s = sr.ReadLine();
}
В любом случае, я думаю, гораздо эффективнее использовать потоковый доступ к файлу, а не загружать его в память.
Вы можете загрузить его частями в память, а затем использовать какой-либо алгоритм сопоставления с образцом (например, Кнут-Морис-Пратт или Карп-Рабин)