Converting Shim Database Files to XML, and the Sdb* APIs


This was brought to my attention by a recent acquaintance: heaths dropped some bits on his blog that will dump the contents of an arbitrary shim database (including the system shim database) into an XML file for parsing and manipulation.

I think this is interesting to a point. While you can get most of the same data in a graphical tool by launching Compatibility Administrator with the super-secret /x command line switch, being able to manipulate it and search it can be very useful.

However, what really caught my attention is that it links to some APIs which I had absolutely no idea were documented: the Sdb* APIs.

This could make things interesting. Standard User Analyzer uses these APIs today to create mitigation databases for UAC issues. I wonder what other people can come up with to automate the mapping of problems to solutions.

Comments (2)

  1. Actually, the ACT UI won’t open system SDBs except for sysmain.sdb which is why I wrote this. I wanted to see what was in the other databases. Only some of the APIs I used were documented; others I saw exported that had a similar signature and 1 took some debugging and experimentation.

Skip to main content