A New Stunning Feature: Code Virtualization

Consider yourself in a situation when you are working on a security-sensitive part of your application’s code. Here is one of your methods:

private static byte[] ComputeLicenseHash(int y)  
{
    int v = _mySalt ^ y;
    var h = new MD5CryptoServiceProvider();
    var hash = h.ComputeHash(BitConverter.GetBytes(v));
    return hash;
}

Most of .NET obfuscators available today offer you many techniques to protect your code: symbol renaming, strings encoding and many more stuff that is not so easy to understand. Still, if you open the protected assembly with a popular decompiler you will see your method being something like this:

In this particular case, not much of obfuscation, right?
Then, what do we do? Decryptable method encryption? Native modules? Tricky native PE packing? Getting too complex and incompatible?
Behold:

Eazfuscator.NET Code Virtualization

So, what does the new version of the Eazfuscator.NET offer you? Let’s really protect our method:

[Obfuscation(Feature = "virtualization", Exclude = false)]
private static byte[] ComputeLicenseHash(int y)
{
    int v = _mySalt ^ y;
    var h = new MD5CryptoServiceProvider();
    var hash = h.ComputeHash(BitConverter.GetBytes(v));
    return hash;
}

And the result:

That’s different.

But you will ask: where has all of my code gone? Let’s look at the assembly resources. Here it is:

To an intruder, this is a nearly random byte sequence. And it will be different each time you obfuscate your code. We have taken care for this to be non-decryptable.

Looks right. But what is actually happening here? The short answer is we have developed a custom virtual machine for you, which works atop of the .NET virtual machine, using a different instruction set each time you obfuscate your assembly. You simply switch this machine on by applying an attribute to your method, class or assembly.

Now you can write your code and be sure that no one will see anything. Still, you should remember that double virtualization has an obvious disadvantage of execution speed degradation, because it takes processor time to translate two sets of virtual instructions instead of one. So, be aware that it is worth to use this feature for a selected methods or classes, those ones that you want to hide by any means possible.

Eazfuscator.NET Goes Commercial

With this world-changing feature, Eazfuscator.NET goes into commercial mode. We really appreciate your commitment, so here go fair upgrade bonuses:

  • All existing customers will get 30% off
  • People who made donations to Eazfuscator.NET will get 80% off
  • People who made donations larger than $49 will get Single Developer License for free

If you interested in immediate quote then just drop us a mail.

It was a great journey to give Eazfuscator.NET for free during the last 4 years. We change the world, so it is even more adventurous to deliver the paid product.

Get Eazfuscator.NET now and try Code Virtualization yourself!

comments powered by Disqus