Page 1 of 2

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

Posted: Sun Jan 14, 2024 2:22 am
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?

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

Posted: Sun Jan 14, 2024 11:01 am
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;

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

Posted: Sun Jan 14, 2024 12:13 pm
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

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

Posted: Sun Jan 14, 2024 2:37 pm
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.

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

Posted: Sun Jan 14, 2024 4:08 pm
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.

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

Posted: Sun Jan 14, 2024 4:30 pm
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?

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

Posted: Mon Jan 15, 2024 7:47 am
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.

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

Posted: Mon Jan 15, 2024 2:23 pm
by louemusic123
Is all type of Markers can encrypt by the protector automatically?

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

Posted: Mon Jan 15, 2024 3:24 pm
by Enigma
We recommend to use vm/vm_risc markers only. Other markers will be either deprecated, either improved in future versions.

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

Posted: Mon Jan 15, 2024 4:30 pm
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?