The concept of Eazfuscator.NET was born in early autumn of 2007. It became clear to me that there were no decent products available at that time.
Everything Is Broken
Most of the obfuscators for .NET were quite hard to use as for me. First of all, they all required significant efforts to make them just start working. Many of them required too much of manual guidance through obfuscation transformation decisions so I had to set tons of check boxes against class members tree. And many of them were extremely unfriendly in terms of build process integration.
The only obfuscator I was fascinated about was {smartassembly} which is commercially available product. It was easy to use and it worked very well. However I was disappointed with significant performance degradation of encrypted strings. Another concerning issue was a lack of x64 platform support at that time and I was working on x64 since mid of 2005. Keeping in mind that then was 2007, it is 2 years distance and not so positive signal for the product.
(Please note that information above may be outdated now)
The Great Idea
The final contributing factor to start own project was indescribable fusion sparkle in my head. It's hard to describe without fear to be blamed in madness but it was a very new feeling to me. The feeling of thousands of parallel thoughts that go through my head. So this was a starting point for Eazfuscator.NET. The whole product concept was born within several seconds somewhere at September 2007.
The main principles of Eazfuscator.NET are:
Ease of use. Yes, things must be simple because this is the only way for a human to manage them
Automatic obfuscation and integration without manual work. Manual work is a waste of time and money, so no waste anymore
Painless build process integration. Integration must take several seconds and not countless hours
Stability. I know that a lot of people might be using Eazfuscator.NET to create their own products. So Eazfuscator.NET must be bullet-proof stable to be able to do its best job
Free availability
User Interface
User interface prototype appeared at the same time as the whole concept did. I drew the following picture:
A given user interface is primarily designed to be used in conjunction with drag-and-drop.
The picture above consists of two zones: red zone to the left and green zone to the right. Right side and green color are obviously associated with safety, at least in European cultures. So the green zone is responsible for protection (obfuscation). Left side and red color are obviously associated with potential danger.
So the red zone is responsible for removal of previously applied protection. Protection removal does not mean reverse-obfuscation, it just means that given .NET project will not be obfuscated anymore.
Whenever user wants to change protection settings of .NET project he drags and drops the project onto the corresponding zone.
That was a brief history of concept birth for Eazfuscator.NET obfuscator.
P.S. It was a start of the great journey but I did not realize it back then.