DeepSea uses control flow obfuscation to make your code less readable.
This does not mean that all code becomes unreadable. Due to the nature of the .NET framework, some code will always be visible. Especially since DeepSea sticks to the .NET specification (in contrast to other obfuscators) in order to avoid breaking verifiability of your code.
There are a few members that are excluded from control flow obfuscation.
- Very small methods, typically getters / setters, are excluded to avoid excessive increase of the assembly.
- Some constructors are excluded.
- Methods with try/catch blocks are excluded.
To make sure that the code is obfuscated as best as possible, make sure the code is in private methods without try/catch blocks. In other words, if you need a try/catch block, put the contents in a new private method.