In what must be the most hackerish thing I've done*, I broke the string obfuscation in a commercial software product. You could already use .NET Reflector to see inside, but the strings were still obfuscated and trying to view the decryption method crashed Reflector. What I ended up doing is using an addon to Reflector to inject code that changed the scope of the decryption method to be public instead of super-private-crash-reflector scope. Then I could reference that modified dll in a utility that called the decryption method. Thus I could use that to view the decrypted strings within the obfuscated program.
*Though if we were friends in high school, there is a fair chance I had your password...