Ever think that you just don’t have enough time to spend on your side projects?
Completing the signature code is taking a little longer than I had hoped, due to some serious refactoring I have been working on. The majority of the weekend (after I figured out the compression algorithm and the different structures needed to hold the signature data) was spent thinking about the differences between applications written for the sole purpose of demonstrating how to do something vs. applications written to be extendable and usable. Up until this last weekend I hadn't really put a lot of design into Vijay. It was mostly a bunch of data structures and a few classes that drove the flow for parsing the bytes into the data structures. Most of that is still fine with my evolving design due to the logic being mostly just moving bytes from a stream into more usable data structures that will be utilized in other parts of the application.
With signatures, the application is now at a point where the data structures (arrays of stucts representing the metadata tables) are being used to build the next level of information (one level higher than the raw bytes, even though it is still mostly dealing with bytes from the blob byte array) … This past weekend, I spent a lot of time looking at DILE and have adopted some of the ideas he uses in parsing the signature bytes. The idea is to keep building from the bottom up.
I am hoping to finish the signatures this week, then I’ll be onto either Custom Attributes or IL …