It's the first 1-5 bytes, varint encoded, of every block, but would have to read the entire AST to access it for every block, and data of every block is layout out differently, depending on the fields is includes.
As said, it would be near impossible without me releasing the specification. Features to export and import "source code" is already on the to-do list.