boykopovar/sqlce

GitHub: boykopovar/sqlce

通过逆向工程实现的跨平台 SQL Server CE(.sdf)文件读取库,提供 C++ 核心与 Python 绑定,无需依赖已停用的原始运行时即可解析表结构和数据。

Stars: 0 | Forks: 0

# sqlce ![C++](https://img.shields.io/badge/C%2B%2B-20-blue?logo=cplusplus&logoColor=white) ![Python](https://img.shields.io/badge/python-3.8%2B-blue?logo=python&logoColor=white) ![平台](https://img.shields.io/badge/platform-cross--platform-lightgrey) ![许可证](https://img.shields.io/badge/license-MIT-green) ![逆向工程](https://img.shields.io/badge/Reverse%20engineered%20with-🔬-red) ## [俄语 README](docs/ru/RuReadme.md) 对 `.sdf`(SQL Server Compact Edition 4.0)二进制文件格式的逆向工程。 基于反编译的 SQL CE 组件对该格式的内部结构进行分析。目标是提供一个跨平台、独立于 runtime 的实现,用于读取 `.sdf` 文件。 - `core/` — C++ 解析器实现 - `bindings/` — C++ 库与其他语言的绑定 - `python/sqlce/` — Python API - `research/` — 实验性脚本 ### 示例 ``` pip install sqlce ``` ``` from sqlce import SdfDatabase db = SdfDatabase("example.sdf", password="secret123") for table_name in db.list_tables(): print(table_name, db.table_schema(table_name)) for row in db.read_table(table_name): print(row) ``` 当前的实现支持读取表列表、表 schema 和表内容(包括受密码保护的数据库)。它是用 C++ 实现的。 ### 测试 ``` pytest ``` 测试使用本地安装的 SQL CE 引擎(通过 ODBC)来生成包含预定义数据的 `.sdf` 文件,并验证解析器是否能产生相同的结果。因此,测试套件只能在安装了 SQL Server Compact 4.0 的 Windows 上运行。测试文件将在 `tests/sdf/` 中创建,并在每次测试运行前后自动删除。 ### 文档 该文档目前比较简洁,但包含了使用示例和测试。 [文档](docs/en/python.md) [代码风格约定](docs/CONVENTIONS.md)(欢迎提交 Pull requests。)
标签:C++, Python, SQL Server CE, 云资产清单, 安全规则引擎, 数据库, 数据擦除, 文件解析, 无后门, 逆向工具, 逆向工程