Hi,
since I think this is something sensible to contribute, I packaged up my pattern code into a seperate solution.
The core part is made off by the Pattern class with pluggable pattern matching algorithms and both in- and out of process support.
It started of as a rip-off of caytchen's cleanPattern class, but evolved independently to support more complex xml (de-)serialization for named offsets/addresses.
Working with the Pattern class should be trivial.
Since pattern algorithms should at most be stateless, I made each algorithm of mine a singleton by convention,
just in case you are wondering how to construct them.
The xml pattern schema is more sophisticated, so I provided an example Pattern.xml document with the XmlOffsets project.
I actually can't guarantee that those offsets will work, because they are completedly stolen from cleanPattern and my bot isn't yet updated to run with them.
Have fun with it...
https://github.com/Bananenbrot/BananaPattern
Edit: Just a (rather complex) example for accessing EndScene of a CGxDeviceD3d9:
http://pastebin.com/pL2Gw2ss
I hope to being able to simplify the syntax in future versions...