How to best protect the full version of my program

Post here any topics that related to Enigma Protector, its functionality, your misunderstanding, offers to improvements etc etc etc
Post Reply
speedyorange
Posts: 42
Joined: Mon Dec 19, 2011 3:47 pm
Contact:

How to best protect the full version of my program

Post by speedyorange »

If I distribute a free version of my software that requires no key and the user can then update to a full version that requires a registration key, how would I best protect the full version? I would assume that I would want to use the 'allow execution only if registered' option, but then how would the name\key get to where it wants to be on the computer if the program can not run? Will your 'custom registration dialog' still run if the 'show if unregistered' field is checked?

Can one program be used to install the registration key for another program? I assume that if I make a registration.exe program that is protected with the same enigma project file as my main executable, that a key/name entered into the register.exe program would then be stored in the same place as my main exe would look for when it started up. Then I could specify 'allow execution only if registered' and 'encrypt application with encryption constant' and leave the 'use custom registration dialog' unchecked on my main exe and this would seem to be the strongest protection I could have because the main program would have no registration dialog in it at all, either yours or mine. I assume I can do that just as long as the registration key does not contain something having to do with the file name being protected.
scorillo7
Posts: 90
Joined: Mon May 11, 2009 11:16 am

Re: How to best protect the full version of my program

Post by scorillo7 »

speedyorange wrote:If I distribute a free version of my software that requires no key and the user can then update to a full version that requires a registration key, how would I best protect the full version? I would assume that I would want to use the 'allow execution only if registered' option, but then how would the name\key get to where it wants to be on the computer if the program can not run? Will your 'custom registration dialog' still run if the 'show if unregistered' field is checked?
Make registration form inside free version.This is one idea.
speedyorange wrote: Can one program be used to install the registration key for another program?
Sure, you can.
speedyorange wrote: I assume that if I make a registration.exe program that is protected with the same enigma project file as my main executable, that a key/name entered into the register.exe program would then be stored in the same place as my main exe would look for when it started up. Then I could specify 'allow execution only if registered' and 'encrypt application with encryption constant' and leave the 'use custom registration dialog' unchecked on my main exe and this would seem to be the strongest protection I could have because the main program would have no registration dialog in it at all, either yours or mine. I assume I can do that just as long as the registration key does not contain something having to do with the file name being protected.
If you use same project file, the serial from one application will work in the second application generated(protected) by Enigma.
To increase protection for the full version you must use Enigma API inside the code.
Enigma
Site Admin
Posts: 2938
Joined: Wed Aug 20, 2008 2:24 pm

Re: How to best protect the full version of my program

Post by Enigma »

scorillo7 thanks for the reply!

speedyorange:
speedyorange wrote:If I distribute a free version of my software that requires no key and the user can then update to a full version that requires a registration key, how would I best protect the full version? I would assume that I would want to use the 'allow execution only if registered' option, but then how would the name\key get to where it wants to be on the computer if the program can not run? Will your 'custom registration dialog' still run if the 'show if unregistered' field is checked?
Yes, your thoughts are correct, this is good logic. Just want to give you some advices.
1. In your case it is very recommended to use the option Encrypt with Encryption Constant from Registration Features - Common. This way the application code will be encrypted with the constant from registration key and even if your full version will be leaked to public, it would be impossible to run it and crack.
2. You may use registration dialog as well. It is made exactly to help in such cases. There is no vulnerability or advantage if you will use or wont use standard registration dialog. If the application code is encrypted with Encryption Constant, then it does not matter if you have fields to enter registration key or no, without registration key it will be impossible to run protected file anyway.
speedyorange wrote: Can one program be used to install the registration key for another program? I assume that if I make a registration.exe program that is protected with the same enigma project file as my main executable, that a key/name entered into the register.exe program would then be stored in the same place as my main exe would look for when it started up. Then I could specify 'allow execution only if registered' and 'encrypt application with encryption constant' and leave the 'use custom registration dialog' unchecked on my main exe and this would seem to be the strongest protection I could have because the main program would have no registration dialog in it at all, either yours or mine. I assume I can do that just as long as the registration key does not contain something having to do with the file name being protected.
Absolutely correct. But as I said, in your case, you can use standard registration dialog, because it does not serve any vulnerability in this case. But if you want external program to register this one - no problems, just protect them with the same project file. Fyi, the constants from Registration Features - Common makes each project unique. So if two project file have same constants, they will be using same registration keys.
Post Reply