Markers Decrypt_On_Execute
Decrypt_On_Execute markers allow selecting parts of the code that should be deciphered only when the code needs to be executed. These markers do not affect the execution process and the functionality of the protected module. The code between these markes encipheres after protection and is only stored in the file. When the execution of the module has come to the begin marker, the code begins to decipher and execute. These markers can increase safety of the protected module and serve as an anti-dump technique. Most crackers dump the program from memory at the first execution command, and if you use the Decrypt_On_Execute markers, the cracker will not get the original code from memory and will not be able to restore the sources. You can use any number of Decrypt_On_Execute markers in your module.
Content
Show/Hide Delphi marker content
decrypt_on_execute_begin.inc
asm
DB $EB, $0C, $45, $43, $52, $4F, $4E, $45, $58, $45, $43, $42, $00, $00
end;
decrypt_on_execute_end.inc
asm
DB $EB, $0C, $45, $43, $52, $4F, $4E, $45, $58, $45, $43, $42, $00, $00
end;
Show/Hide C++ marker content
decrypt_on_execute_begin.inc
__asm
{
DB $EB, $0C, $45, $43, $52, $4F, $4E, $45, $58, $45, $43, $42, $00, $00
}
decrypt_on_execute_end.inc
__asm
{
DB $EB, $0C, $45, $43, $52, $4F, $4E, $45, $58, $45, $43, $42, $00, $00
}
Show/Hide C++ x64 marker content
#include "include/enigma_api64.h"
EP_Marker("decrypt_on_execute_begin");
EP_Marker("decrypt_on_execute_end");
Show/Hide Visual Basic marker content
Call VarPtr("DECRYPT_ON_EXECUTE_BEGIN")
Call VarPtr("DECRYPT_ON_EXECUTE_END")
Examples
Show/Hide Delphi marker example
begin
MessageBox(0, 'Application is started!'#13#10'The code between decrypt_on_execute markers is enciphered now!', 'Test', 0);
{$I ..\..\..\EnigmaSDK\Delphi\decrypt_on_execute_begin.inc}
MessageBox(0, 'The message from deciphered code!', 'Test', 0);
{$I ..\..\..\EnigmaSDK\Delphi\decrypt_on_execute_end.inc}
end;
Show/Hide C++ marker example
{
MessageBox(0, "Application is started!\r\nThe code between decrypt_on_execute markers is enciphered now!", "Test", 0);
#include "..\..\..\EnigmaSDK\Bcb\decrypt_on_execute_begin.inc"
MessageBox(0, "The message from deciphered code!", "Test", 0);
#include "..\..\..\EnigmaSDK\Bcb\decrypt_on_execute_end.inc"
};
Show/Hide Visual Basic marker example
MsgBox "The code between decrypt_on_execute markers is enciphered now!"
Call VarPtr("DECRYPT_ON_EXECUTE_BEGIN")
MsgBox "The message from deciphered code!"
Call VarPtr("DECRYPT_ON_EXECUTE_END")
See markers examples in the installation folder, Examples\MarkersDecryptOnExecute subfolder.