How can i Combine protection Virtualize/(RISC) and Registration Check Marker?

Post here messages if you have any problems with working of Enigma Protector
louemusic123
Posts: 10
Joined: Sun Jan 14, 2024 2:10 am

How can i Combine protection Virtualize/(RISC) and Registration Check Marker?

Post by louemusic123 »

with the maxinume protection in my function, i use Markers VM /RISC first . and i want execute code when registation valid by use Marker Reg_Crypt .
or ,i wan't combined with Markers Decrypt_On_Execute feature

but marker limitation is can't combine with two markers .
how can i acheive the goal?
Enigma
Site Admin
Posts: 2945
Joined: Wed Aug 20, 2008 2:24 pm

Re: How can i Combine protection Virtualize/(RISC) and Registration Check Marker?

Post by Enigma »

Hi, currently, mixing of these markers is impossible.

The only way to obtain such functionality is the following. You need to use vm (risc) markers, but instead of reg_crypt marker call a pair of functions to load a key and to check key sections, like this (for Delphi, but you can use for any programming language):

Code: Select all

var
  name, key : AnsiString;
  ki : TKeyInformation;
begin
  if EP_RegLoadAndCheckKey then
  begin
    if EP_RegistrationLoadKeyA(name, key) then
    begin
      if EP_RegKeyInformation(PAnsiChar(name), PAnsiChar(key), @ki) then
      begin
        if (ki.EncryptedSections[1]) then
        begin
          // Section #1 is enabled, run your code here
        end;
      end;
    end;
  end;
end;
louemusic123
Posts: 10
Joined: Sun Jan 14, 2024 2:10 am

Re: How can i Combine protection Virtualize/(RISC) and Registration Check Marker?

Post by louemusic123 »

thanks!
if i use vm marker and code section calls some sub routinges, does the sub codes virtualized too? if so, how can control the nested level to the process
Enigma
Site Admin
Posts: 2945
Joined: Wed Aug 20, 2008 2:24 pm

Re: How can i Combine protection Virtualize/(RISC) and Registration Check Marker?

Post by Enigma »

No, subcalls are not protected with vm in this case (until these subcalls are Enigma API functions, which are protected always).

If you wish to protect main function + nested then I recommend you to use MAP file for selection of main and nested functions.

Protection with markers has some weak point, only the code you selected is being protected, but not the function epilog and prolog (even if you put markers at begin or end of the function). If function is selected with map file, Enigma protects whole function. And moreover, if you also select a nested function, Enigma protects the reference between main and nested function. So this way is more preferred from protection side.
louemusic123
Posts: 10
Joined: Sun Jan 14, 2024 2:10 am

Re: How can i Combine protection Virtualize/(RISC) and Registration Check Marker?

Post by louemusic123 »

thanks a lot!
if can combine marker features freely, it is much perfect! like vmprotect, has api's like VMProtectBeginVirtualizationLockByKey /
VMProtectBeginUltraLockByKey with these marker combinitions.
Last edited by louemusic123 on Mon Jan 15, 2024 7:04 am, edited 1 time in total.
louemusic123
Posts: 10
Joined: Sun Jan 14, 2024 2:10 am

Re: How can i Combine protection Virtualize/(RISC) and Registration Check Marker?

Post by louemusic123 »

and ,is there any diffrent with "VIRTUAL MACHINE->File Entry Point -> Enable virtuallization of file entry point" and I mannually add the entry point to functions selecting dialog?
Enigma
Site Admin
Posts: 2945
Joined: Wed Aug 20, 2008 2:24 pm

Re: How can i Combine protection Virtualize/(RISC) and Registration Check Marker?

Post by Enigma »

louemusic123 wrote: Sun Jan 14, 2024 4:30 pm and ,is there any diffrent with "VIRTUAL MACHINE->File Entry Point -> Enable virtuallization of file entry point" and I mannually add the entry point to functions selecting dialog?
These are absolutely same options, you can do any way, this is the same.
louemusic123
Posts: 10
Joined: Sun Jan 14, 2024 2:10 am

Re: How can i Combine protection Virtualize/(RISC) and Registration Check Marker?

Post by louemusic123 »

Is all type of Markers can encrypt by the protector automatically?
Enigma
Site Admin
Posts: 2945
Joined: Wed Aug 20, 2008 2:24 pm

Re: How can i Combine protection Virtualize/(RISC) and Registration Check Marker?

Post by Enigma »

We recommend to use vm/vm_risc markers only. Other markers will be either deprecated, either improved in future versions.
louemusic123
Posts: 10
Joined: Sun Jan 14, 2024 2:10 am

Re: How can i Combine protection Virtualize/(RISC) and Registration Check Marker?

Post by louemusic123 »

I read manual in section "Markers Reg_Crypt" and see "after the module is protected, the code inside the begin/end markers will be encrypted and the ...", my interpretation is all markers not only vm(risc) can auto encrypted not only Reg_Crypt, is it?
Post Reply