我有一个以 .dat 结尾的数据库文件,这对我来说没什么意义。鉴于它每个数据库使用一个文件,我假设它必须是某种 sqlite,因此尝试使用 sqlite3 打开,但未被识别为数据库。由于许可问题,我不确定我可以分享多少有关此信息,因此我无法上传文件。我知道这不是一个加密文件,如果我 cat 文件,它看起来像这样:
<FE>^_(^@SR<89>^@^@^F^@^@^@Z^@^@^@XXX.Bin 6^RXXX.BankName s80^RXXX.CardType1 7^RXXX.CardType2 F^RXXX.Country Q^RXXX.BankPhone Q^R^T^F^D^C^C^X^@400094^R^@^@^@STAR_NETWORKS,_INCN/AN/AUNITED_STATES_OF_AMERICA^F^D^C^C^X^@400109^R^@^@^@EFUNDS_CORPORATIONN/AN/AUNITED_STATES_OF_AMERICA^F^D^C^C^X^@400110^P^@^@^@FIFTH_THIRD_BANKN/AN/AUNITED_STATES_OF_AMERICA^F^D^C^C^X^@
有没有人能帮我把这个导出到 sqlite 数据库?要是我知道这是什么类型的数据库就好了!我知道它是由 windows 程序读取的,我尽量避免编写一个脚本来逐个字符地读取它(没有返回行),所以任何提示都会很感激。
答案1
file
通过检查文件内容可以识别多种文件类型。用法:
file filename
我尝试通过以下方式根据您提供的数据重建文件的一部分:
printf '\xfe\x1F(\0SR\x89\0\0\6\0\0\0Z\0\0\0XXX.Bin 6\x12XXX.BankName s80\x12XXX.CardType1' > testfile
不幸的是,file testfile
没有给出任何(有用的)结果:
testfile: data
file
使用整个文件可能会给你带来更多运气。
程序通常有自己的数据存储格式,该格式针对其任务进行了优化。如果您找不到文件格式,请尝试使用 Google。另一个有用的信息提取工具是程序strings
,可以使用 运行strings filename
。