Option to disable VM

Post here messages if you have any problems with working of Enigma Protector
Post Reply
xeon1976
Posts: 3
Joined: Sun Oct 30, 2011 10:39 am

Option to disable VM

Post by xeon1976 »

I am using the 7.80 version of Enigma Protector.

I am using EP for a C# WinForms application.
If I Enigma Protect this application, it works.
If I first obfuscate the C# application then Enigma Protect it, it doesn't work.

I suspect it is because of the VM. The app might run if it is somehow disabled.

I would like to use the rest of the features of EP, like registration, file virtualization, registry virtualization etc.
Just not the VM as the application is already obfuscated.

Obfuscation is mandatory.
Is there any option to disable 'Virtual Machine' while protecting an app?

NOTE: The obfuscated exe works fine with 'Enigma Virtual Box'.
Enigma
Site Admin
Posts: 3081
Joined: Wed Aug 20, 2008 2:24 pm

Re: Option to disable VM

Post by Enigma »

Hi,

Yes, the obfuscated exe may not work, but this happens not due to virtual machine, this is incompatibility of obfuscator with Enigma Protector. Obfuscator does not allow the file to be modified further. So this basically issue of this obfuscator tool.
Be honest, there are rare obfuscation tools that support further protection. The Enigma Protector itself does not support protected file to be somehow processed again with other packer or protector.

We know that ConfuserEx obfuscator supports further protection, so I recommend to use it.

Enigma Virtual Box works only because it almost does not change the original file structure, there is no code compression/encryption, this is easy tool can't be compared with Enigma Protector.
aiden
Posts: 7
Joined: Thu Feb 27, 2025 10:22 am

Re: Option to disable VM

Post by aiden »

Hi,

would you mind sharing wich program you use to protect it before and wich options you are using in the .net Obfuscator and wich protection options are you using with Enigma? What is your .net version you are using and do you use the bundling options when publishing the .net application?


A general approach to find the issue is do to the following step by step:
1)Disable all options on your .net Obfuscator.
2)Enable only String encryption => Use Enigma => Does it work?
3)Enable String Encryption AND Control flow, make sure if your Control Flow has an option to Emit Invalid OP codes disable this.
Use Enigma => Does it work? If not, please try using a less aggressive Control Flow for example if you can disable underflow and token.
4)If this works, try String Encryption, Control Flow AND Renaming, use Enigma Protector afterwards => Does it still run?

Now do this with all available options, i would suggest to leave something like MSIL Encryption off as this could potentially make Enigma Protector think the assembly gets modified in runtime because thats pretty much exactly what happens there that all functions have no MSIL code in them and it gets restored in runtime.

If you are using managed virtualization, try this at the very end.
Post Reply