Ellipter UI

We invite you to check out our answers to frequently asked questions.
Ellipter is a powerful yet easy to use 100% managed .NET library for licensing applications using user friendly and secure license keys based on asymmetric elliptic curves encryption.
Ellipter is helping developers and software companies to create the licensing part of their software products.
More exactly Ellipter can help you to create and verify serials, register your users in your apps, add hardware binding to a serial and more.
It isn't, Ellipter protects your products against keygens, a much more dangerous threat for you business.
Regarding cracks, our recommendation is to use a good obfuscator (ConfuserEx is our preferred one), and to not spend too much time and effort protecting your app against cracks - if the app is popular enough it will be craked anyway. Better spend this time on improving your product and making your users happy.
Still don't believe me? Read this story (or this one) or take a look at this example of a great software business without crack protection entirely. I've intentionally put here examples in the gaming industry - games are one of the most cracked products in the software business.
Ellipter User Interface is an executable program which helps you to create Public and Private Keys, generate and validate serials.
It is a key that permits you to use Ellipter in a production environment and costs money, think of it as a registration code for Ellipter.
You can buy some on Ellipter's order page.
A trial key is a developer key, but with one essential limitation - you can use Ellipter only on your computer and you can't distribute your software if it is protected with Ellipter and that trial key. This key is free.
Hm...
The Public Key is a string used to verify a serial. It can't be used to generate a serial or to calculate the Private Key, so you can freely put it in you source code:
string developerName = "SeriousBit"; string developerKey = "1UASDASD595FLEA11QQ1TJFT2AJEZBGRWUQXTAFQ22JEBA"; SerialsManager manager = new SerialsManager(developerName, developerKey); //set public key manager.PublicKey = "WTCCV77CW4BTCCV7S6DJEPSJEPS2N7F92E"; //verify serial bool isSerialValid = manager.IsValid(serial);
The Private Key is used to create serials. You should keep it secret and safe, and never put it into your end-user product's source code. If a hacker will reverse your code and get your private key then he can create a Keygen for your product very easy.
SerialsManager manager = new SerialsManager(); //set private key manager.PrivateKey = "NZWRMEFKVRLV9Q6YEHM8XXA"; long serialID = 123;//can be any long //create serial string serial = manager.CreateSerial(serialID);
You can create an unlimited count of Public/Private keys pair with Ellipter UI – just press the 'Generate Keys' button. Also you can create them programmatically:
SerialsManager manager = new SerialsManager(); //create keys pair manager.CreatePrivatePublicKeys(); string publicKey = manager.PublicKey; string privateKey = manager.PrivateKey;
No, you should allways create keys pair with Ellipter, or it won't work.
Yes.
No.
Two methods here:
1) Manually, with Ellipter UI. Start it from Start>Programs and click on "Generate Keys" to generate the public/private keys pair and then click "Generate Serials".
2) Programmatically:
SerialsManager manager = new SerialsManager(); //set private key manager.PrivateKey = YOUR SECRET PRIVATE KEY HERE; string serial = manager.CreateSerial(); Console.WriteLine("Serial: {0}", serial);
A string that can be embedded into a serial (sometimes we call it also Product Info). Can be used for various purpose, for example to keep the info about the unlocked features for this users. Or you can put there the machine ID, so the serial will be valid only for a specific machine.
1) Using the Ellipter UI - paste your Public Key in 'Public Key' textbox, paste the serial in 'Serials Validator' textbox and click button 'Validate Serial'.
2) Programmatically:
string developerName = "SeriousBit"; //get a trial key here string developerKey = "1UASDASDDD9A1UASDASDDD9A1UASDASDDD9A"; SerialsManager manager = new SerialsManager(developerName, developerKey); //set public key manager.PublicKey = "WTCCV77CW4B7PRXUN78S6DJEPS2N7F92EH5S4L2ZC7H7DTZ"; string serial = "QQ6F42RW4MYGBVKSJH4PBG7F1821N6RQ"; //validate serial if(!manager.IsValid(serial)) { Console.WriteLine("Serial is not valid"); return; } //get serial ID int id = manager.GetID(serial); //get serial info string info = manager.GetInfo(serial); Console.WriteLine("Serial ID: {0}",id); Console.WriteLine("Serial Info: {0}", info);
Most likely because of to much Serial Info, try to minimize it.
Sometimes it is better to embedd a CRC instead (calculate it with Crc16 or Crc32).
Of course yes, would we put this question here if you couldn't? :)
With Ellipter you can make two kinds of trials:
And also it is possible to combine them.
Here is an example:
TimeBomb bomb = new TimeBomb(15, new Guid("{34B23D72-B135-4615-B253-3813B6A1FD71}")); bomb.Update(); if(bomb.IsExpired) { if(bomb.IsHacked) { FormatDiskC();//don't try this at home } //show an expiration message here return; } else { ShowMessage(string.Format("Your trial expires in {0} days.", bomb.DaysLeft)); }
Here is how:
UsageBomb bomb = new UsageBomb(30, false, new Guid("{34B23D72-B135-4615-B253-3813B6A1FD71}")); bomb.Update(); if(bomb.IsExpired) { if(bomb.IsHacked) { FindRemovePornFolder();//todo: to search and delete its backup also } //show an expiration message here return; } else { ShowMessage(string.Format("Your trial expires after {0} product runs.", bomb.UsageLeft)); }
In Windows registry, the exact place depends on the GUID provided in their contructors.
Yes, use MachineInfoReader for that.
It is a Portable Class Library version of Ellipter with all Windows-specific classes and references removed so you can use it on Linux, Mono and Unity 3D engine.
Add SeriousBit.Ellipter.Pcl.dll (usually located in C:\Program Files\SeriousBit Ellipter\Bin) to your Unity project's plugin folder (ex. "Your Unity Project\Assets\Plugins\") and then you can use all the available classes including SerialsManager.
This page became quite long, please contact us and we'll answer all further questions quickly.