Nice!
My python script isn't language sensitive, so this is much better.
WRT hashing: If you have a 1-way hash available in script (like md5, sha, etc), then you don't need to share a hash table between files - it can be calculated on the fly.
Unfortunately, for this to work in in general, especially for C/C++, you would want to not obfuscate any library symbols either (unless you also obfuscate the entire library- like windows.h).
But, it is good for obfuscating code to use as repro cases sending to Slickedit support.