How to undo obfuscation in .NET?

Is obfuscation just about distorting the names of non-public variables / members? If so, would you be unable to write an application that at least would change these names to be more readable, such as "variable1", etc., and then extract all the code that can still be compiled?

+5
source share
5 answers

No, that's a lot more, especially with more complex obfuscators. They can generate an IL that cannot be expressed in most languages, and where the logical flow is terribly confused to confuse the best tools. With a lot of time, you can do this (perhaps a lot by hand), and of course the arms race between obfuscators and deobfuscators - but you greatly underestimate the technology here.

Also note that many obfuscators look at the entire application (and not just at one assembly), so they can also change the public API.

+8
source

, , . , .

, , :)

+2

- accountBalance , a1. , , .

+1

. - . - , . , IL ( ) .

, variable1, variable2.. , .

+1

deobfuscator , , -, , -, , ...

de4dot.

.

+1

All Articles