virtual machine technology

Post here any topics that related to Enigma Protector, its functionality, your misunderstanding, offers to improvements etc etc etc
Post Reply
mahzad
Posts: 9
Joined: Wed Jul 27, 2022 6:36 am

virtual machine technology

Post by mahzad » Tue Dec 06, 2022 10:55 am

Hi Enigma
I want to use this technology in both of my dll that are x86 and x64 . Is it possible?Image

Instruction set in this technology is RISC .Does not this particular type of instruction set facilitate reverse engineering ?

Enigma
Site Admin
Posts: 2807
Joined: Wed Aug 20, 2008 2:24 pm

Re: virtual machine technology

Post by Enigma » Tue Dec 06, 2022 1:32 pm

Hi, yes, sure, you can use it, I gave you example, how to use it in another thread.

Starting from version 7.20, you can select the code to protect with virtual machine using markers, like this one:

Code: Select all

#include "enigma_ide.h"

int main()
{
    std::cout << "Before VM\n";

    EP_Marker("vm_risc_begin");
    
    // This code is protected with virtual machine - RISC
    std::cout << "It is inside VM marker!\n";
    
    EP_Marker("vm_risc_end");
    
    
    EP_Marker("vm_begin");
    
    // This code is protected with virtual machine - Classic
    std::cout << "It is inside VM marker!\n";
    
    EP_Marker("vm_end");    

    std::cout << "After VM\n";

}
If you are using some previous version of Enigma Protector, then for x64 version you should use same EP_Marker function to mark code to protect, for x86 need to use .inc files from EnigmaSDK, like that:

Code: Select all

int main()
{
    std::cout << "Before VM\n";

    #include "..\EnigmaSDK\VC\vm_risc_begin.inc"

    // This code is protected with virtual machine - RISC
    std::cout << "It is inside VM marker!\n";
    
    #include "..\EnigmaSDK\VC\vm_risc_end.inc"
    
    std::cout << "After VM\n";

}

GameShield
Posts: 2
Joined: Sun May 22, 2022 6:50 pm

Re: virtual machine technology

Post by GameShield » Tue Dec 06, 2022 11:16 pm

mahzad wrote:
Tue Dec 06, 2022 10:55 am
Instruction set in this technology is RISC .Does not this particular type of instruction set facilitate reverse engineering ?
RISC is not ISA.
RISC - just architectural approach to processor design (in our case it is a virtual processor). This does not reveal any information about the ISA of the virtual machine.

Post Reply