OpenSQLAnywhere
Pure-Rust reader and open specification for the SAP SQL Anywhere on-disk page-store format.
The current implementation targets SA17 (build 2182, 2015 release). The goal is to make it possible to read an SQL Anywhere database file without the SAP server being present or installed.
OpenSQLAnywhere is clean-room: it is derived from observation of the on-disk bytes of SQL Anywhere files and from SAP's own public documentation. It ships with no SAP code or binaries.
What you can do today
- Open an
.dbpage-store file and walk every page. - Verify per-page CRC trailers.
- Parse the superblock (format triple, magic, page-count hint).
- Parse slotted-page row directories on SA catalog pages.
- Peel an additive-progression obfuscation layer off the file in
memory (used in particular by Intuit QuickBooks
.QBWfiles, which are SA17 stores with an extra obfuscation pass) viaApModel.
What you can't do (yet)
- Decode arbitrary user-table rows. Column-level decoding is the v0.2 milestone.
- Write or modify page-store files. OpenSQLAnywhere is read-only.
Companion projects
- OpenQBW - reader for
Intuit QuickBooks Desktop
.QBWfiles, built on top of OpenSQLAnywhere. TheApModeldeobfuscation layer is the bridge.