Manual
Protector FAQQ: I have lost The Enigma Protector project file and I can't protect my module again and can't generate registration keys for current module, how can I fix it? A: Sorry, but this is impossible. The Enigma Protector project file contains several unique constants that are used for key generation. These constants are generated when a project is created and have random contents, and therefore we can't restore them! Please, make backup copies of your project files! Q: I have several versions of my software, one is protected with The Enigma Protector, the other is not. How can I check whether the current version is protected? A: Check if the Enigma API functions exist, and if EP_CheckupIsProtected returns TRUE (means the file is protected). See the following Delphi example: function IsEnigmaPresent : boolean; var pEP_CheckupIsProtected : function : boolean; begin Result := false; pEP_CheckupIsProtected := GetProcAddress(GetModuleHandle('enigma_ide.dll'), 'EP_CheckupIsProtected'); if @pEP_CheckupIsProtected <> nil then begin Result := pEP_CheckupIsProtected; end; end; A (OLD, not recommended): This can be solved by using a Reg_Crypt macros. See the following Delphi example: function IsEnigmaPresent : boolean; begin Result := true; // this code returns TRUE at any ways, // but we should use it to fighting // with the Delphi code optimization if GetModuleHandle(nil) <> 0 then begin {$I reg_crypt_begin1.inc} Result := false; {$I reg_crypt_end1.inc} end; end; |