我经常不得不处理非常大的二进制文件(从50到500Gb),以不同的格式,基本上包含混合数据,包括字符串。
我需要索引文件中的字符串,创建一个数据库或索引,这样我就可以做快速搜索(基本搜索或复杂的正则表达式)。搜索的输出当然应该是在二进制文件中找到的字符串的偏移量。
有没有人知道一个工具,框架或库可以帮助我完成这项任务?
您可以在其上运行'strings -t d' (Linux/OS X)以拔出具有相应偏移量的字符串,然后将其放入Solr或Elastic中。如果您想要的不仅仅是ASCII,它会变得更复杂。
Autopsy有自己的字符串提取代码(用于UTF-8和UTF-16),并将其放入Solr中(如果支持文件格式,则使用Tika),但它不记录二进制文件的偏移量,因此可能不满足您的需求。