torymur/sqlite-repr

GitHub: torymur/sqlite-repr

一个用于可视化展示 SQLite 磁盘文件格式的工具,帮助理解其文件结构并辅助故障排查与学术研究。

Stars: 75 | Forks: 7

### SQLite3 表示 [SQLite](https://www.sqlite.org/) 是一个 C 语言库,实现了小型、快速、独立、高可靠性、功能齐全的 SQL 数据库引擎。SQLite 是世界上使用最广泛的数据库引擎,内置在所有手机和大多数计算机中,并包含在无数其他应用程序中,人们每天都在使用它。 SQLite 文件格式稳定、跨平台且向后兼容,开发者承诺在 2050 年之前保持这一特性。 所有这些都使得探究其磁盘上的 [数据库文件格式](https://www.sqlite.org/fileformat2.html) 以了解软件开发的客观性和故障排除原因,以及出于学术目的或常规自学研究 SQLite 数据库格式变得有趣。 ### 目标 该项目提供了一个在 https://torymur.github.io/sqlite-repr/ 上可用的可视化工具,用于探索 SQLite 的磁盘数据库文件格式。 它包含一些已内置的数据库示例,用于展示 SQLite 页面的主要类型,如表/索引内部/叶 B 树页面、空闲列表和溢出页面,以及 SQLite 的其他一些特性。 它还允许你加载并解析自己的数据库文件。然而,解析可能会失败,即使对于有效的数据库文件也是如此,因为解析器尚未支持所有 SQLite 特性。 如果发生这种情况,请考虑打开一个问题,并包含一个能够重现该数据库查询序列的最小示例。 ### 开发 要在本地运行 UI,请按照[这里](ui/)的说明操作。 ### 地图 🗺️ #### 解析器 - [x] 表内部 B 树页面 - [x] 表叶 B 树页面 - [x] 索引内部 B 树页面 - [x] 索引叶 B 树页面 - [x] 空闲列表页面 - [x] 溢出页面 - [x] 溢出记录值 - [ ] 溢出记录头(罕见) - [ ] ~~指针映射页面~~ - [ ] ~~锁字节页面~~ - [ ] 空闲块与碎片字节 #### 用户界面 - [x] 混合、十六进制、文本字段表示 - [x] 预加载示例数据库,详情 - [x] 页面视图 - [x] 树视图 - [ ] 保留空间 - [x] 添加你自己的 - [ ] 控制台
标签:B树, B+树, DNS解析, SQLite, SQLite3, UI工具, Web可视化, 二进制格式, 云安全监控, 代码解析, 内页叶页, 前端可视化, 可视化界面, 威胁情报, 学术研究, 开发者工具, 开源项目, 技术学习, 故障排查, 数据库可视化, 数据库开发, 数据库文件格式, 数据恢复, 数据解析, 文件格式分析, 文件格式解析, 溢出页, 版本兼容, 空闲列表, 通知系统, 静态分析, 页结构