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.
How to best protect the full version of my program
-
- Posts: 42
- Joined: Mon Dec 19, 2011 3:47 pm
- Contact:
Re: How to best protect the full version of my program
Make registration form inside free version.This is one idea.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?
Sure, you can.speedyorange wrote: Can one program be used to install the registration key for another program?
If you use same project file, the serial from one application will work in the second application generated(protected) by Enigma.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.
To increase protection for the full version you must use Enigma API inside the code.
Re: How to best protect the full version of my program
scorillo7 thanks for the reply!
speedyorange:
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:
Yes, your thoughts are correct, this is good logic. Just want to give you some advices.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?
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.
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.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.