The .gwbk is just a zip compressed file, so libraries abound. The actual database file is a SQLite database. I know for a fact Python has wrappers for sqlite, and I would be shocked if C# didn’t have similar capabilities.
Be warned that making direct modifications is going to be an opaque process that we explicitly don’t support or provide documentation for. You’ll have to reverse engineer our data representation(s) and we could change them between versions.
Except for a few XML and the json files in the zip, nothing will be easy. The bulk of the sqlite content is binary representations of java resources or module-specific settings. Device settings in particular are driver-specific.