So, I'm well aware you can export a .blend file to a .obj and read that with pretty standard file i/o in c++.
What I want to know is how to un-obfuscate a .blend file AND
read in the information in the file as text or python code if possible OR just know how a .blend file is structured or how blender stores data and compiles the .blend, and in what order like the data types and data structures stored
because I want to access the information for the materials used, the animations key frames, the composition of the scene, etc.
EDIT: well so far I've found these useful sources
Parsing a blend file by Raging Gazebo
The mystery of the blend file by Jeroen Bakker
plus, his breakdown of the SDNA for v2.56
And this from github for blender file reading linked by user2859
haven't found everything i'm looking but this was a lot of help so far.
edit: there may have been important information one here, but now it's gone anyone know where the blender team moved it to?
edit: i gave up trying to parse the file just did an exporter in blender's python script, i got it to export the mesh data so far in an obj like format, now working on extracting the animation data. i'm using the api ref in mike's answer.