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





## [俄语 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, 云资产清单, 安全规则引擎, 数据库, 数据擦除, 文件解析, 无后门, 逆向工具, 逆向工程