opensqlany
A Rust library for reading SAP SQL Anywhere on-disk page-store files.
Targets SA17 (build 2182, 2015 release). The implementation is based on clean-room observation of the on-disk format and SAP's public documentation. No SAP code or binaries are included.
[]
= "0.1"
What it does
- Open any SA17
.dbor.qbwfile - Iterate over 4 KiB pages
- Validate per-page CRC-32 footers
- Classify pages by type (
'E'extent,'A'alloc,'I'index, ...) - Parse the superblock (magic, format version triple)
- Parse slotted-page row directories (
'E'and'C'pages) - Expose page-boundary row-overflow prefixes
- Remove the additive-progression (AP) fill obfuscation used in QuickBooks
.qbwfiles
Quick start
use ;
let store = open?;
let model = learn;
for page in store.pages.skip
# Ok::
Scope
v0.1 covers the page-store layer: opening, iterating, CRC validation, page-type classification, slotted-page directory parsing, and AP deobfuscation.
System catalog parsing (SYSTABLE / SYSCOLUMN / SYSINDEX),
B-tree traversal, and typed row decoding are planned for a later release.