0
votes

I made a simple exe program, configured Dotfuscator Professional Edition and started Build. Dotfuscator created a Dotfuscated folder containing a new exe file. I opened the new exe in DotPeek and there I can see exactly the same code as I wrote.

DotPeek result after running Dotfuscator Professional

Earlier I also tried to use the free Dotfuscator Community version and got some kind of obfuscation. DotPeek result after running Dotfuscator Community

What have I done wrong? Why does the free version work as expected while the professional does not?

1
I work for the Dotfuscator team. DotPeek might be finding your source file on disk and using that; note that in the Assembly Explorer, you can see renaming obfuscation has been applied (the actual name of the shown class is eval_z). Try adding a comment to your source file, recompiling, re-running Dotfuscator, and checking if DotPeek shows you the comment. Also, your second image doesn't appear to be from the free Dotfuscator Community, as Control Flow obfuscation seems to be present. - Joe Sewell
@JoeSewell I did exactly what you say and seen my comment in DotPeek. https://imgur.com/a/sILdKdS - Сергей
@JoeSewell I also copied my exe file to other folder and rename it. after all manipulation dotPeek has shown obfuscation like this :: https://imgur.com/a/U13tdAH - Сергей
@JoeSewell Looks like dotPeek open other files. why ? - Сергей
I can't speak to why DotPeek looks for source files when possible. But based on your response, and I believe there was a self-answer here sometime today, is the question about Dotfuscator resolved? - Joe Sewell

1 Answers

1
votes

DotPeek makes an effort to find the original source files on your computer when possible, using information contained in the debugging symbol files (.pdb files). This is especially noticeable if comments from the source show up in DotPeek, as the assembly (protected with Dotfuscator or not) never includes these comments.

Deleting these .pdb files should show the obfuscated code that's actually in the assembly.

(Note that I am a developer on the Dotfuscator team.)