你可能知道也可能不知道,当从 SQLite 文件中删除数据时,它仍然保留在文件中。它可以使用十六进制编辑器查看,但不会显示在 SQLite 或任何 SQLite 查看器中。
如何提取这些数据以使其仍然清晰易读?我正在考虑某种 perl 脚本,但如果 SQLite 看不到数据并且我只能在十六进制编辑器中看到它,我不知道该怎么做。
有任何想法吗?
谢谢 :)
你可以使用 Perl 的HexDump包
以下代码会将十六进制打印到屏幕上,其中FooFile是您的 sqllite 文件的路径:
use Data::HexDump;
my $f = new Data::HexDump;
$f->file("FooFile");
$f->block_size(1024);
print while $_ = $f->dump;