obfuscationdecompilingdeobfuscationsmartassemblyde4dot

Can Smart Assembly 7+ strings be deobfuscated?


I am planning on using Smart Assembly 7+ for obfuscating my .NET C# library. But when I look through some forums I came across that there are even programs to deobfuscate DLLs protected with Smart Assembly, particularly programs like de4dot.

So I tried to deobfuscate my program using de4dot, and I got most of my logic decompiled successfully to my surprise. But thankfully the strings were not decompiled.

They were in the form of Class24.getString_0(5050)

If the strings cannot be decompiled properly by any deobfuscator, then it is enough to protect my core logic. But I am paranoid that maybe I did not use the deobfuscator properly and there are ways to deobfuscate strings even(but I tried running the deobfuscator commands for strings, as stated in the repo wiki).

Basically my question is, can I be certain that strings obfuscated by the SmartAssembly cannot be decompiled by any deobfuscator program in the market.

Also, any good suggestions for obfuscating the .NET libraries are also welcomed.

Thank You All!


Solution

  • In order for your code to run, the computer must understand it. There is no way around that. If the CLR can understand your code, there is no reason that a de-obfuscator cannot understand your code either.

    Plus, computers are much stupider than humans. If a computer can understand your code, then a human definitely can.

    The typical approaches to protecting your code, are: