SQLite DBRecovery 提供了对开源嵌入式数据库SQLite的数据库损毁数据恢复功能,能够快速恢复SQLite 数据库意外操作、系统故障、文件损坏以及误删除记录等原因导致的数据记录的丢失。主要根据SQLite数据库对于删除的记录并没有真正的物理删除,只是打上了删除标记的逻辑删除。因此如果及时的恢复,可以把损失降到最低。基于 SQLite DBRecovery 恢复引擎,我们做了一个小工具可以实现苹果和安卓手机的微信、短信及QQ聊天记录的数据恢复。以便验证SQLite DBRecovery 恢复引擎实际恢复效果。最后欢迎大家来试用这个小工具,具体的使用方法可以下面的网页连接。
手机中未删除的数据,通过查看相应数据库文件可直接看到,但删除的手机数据,却无法看到。在SQLite3数据库物理结构中,当一个事务从数据库中删除了数据并提交后,若删除数据所在的页还存在其他数据,则删除数据的部分只是变成一片自由区,其数据并未真正清除,且数据库文件大小保持不变;若将整个页中所有的数据删除,则该页将不存在,且数据库将变小。因此,当物理结构中,页中存在的数据不被全部删除时,删除的数据依然存在于数据存储区,也是所有数据的一部分。可通过从数据库物理存储结构中找到删除的数据进行提取,首先找到欲恢复的数据,对应在数据库中的表名;然后根据SQLite3数据库存储结构,分析物理层的数据流记录,获取SQLite3数据库各表的根页,然后对相应的十六进制文件进行结构分析,提取各表存储数据的结点;最后对目标叶子结点中特定区域存储的数据进行恢复和提取。
SQLite是一款轻型的嵌入式SQL数据库引擎,是遵守ACID关系型嵌入式数据库,它是D.RichardHipp建立的公有领域项目。它包含在一个相对小的C库中,占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。其具有的占用资源低、易移植、易操作等特点,使之成为手机这种内存受限设备的数据库选择之一,iPhone和Android手机即采用此数据库作为数据的存储方式。
SQLite 网站:http://www.sqlite.org