Licensing Case, can Enigma Protector handle it? How?

Post here any topics that related to Enigma Protector, its functionality, your misunderstanding, offers to improvements etc etc etc
Post Reply
zooid
Posts: 5
Joined: Fri Jun 09, 2023 11:14 am

Licensing Case, can Enigma Protector handle it? How?

Post by zooid »

Hello,

I'm considering using Enigma Protector to license a software of mine, I looked through the documentation but I'm not sure if what I want to accomplish can be done.
Could you please give me an idea what approach to take in order to accomplish it or if I should consider other solutions?

Case:
I have separated my software into UI.exe, App1.dll, App2.dll. Both App1 and App2 are launched from UI.exe by clicking buttons. Also, check boxes and radio buttons in UI.exe are considered by App1 and App2.
I would like to have two separate license keys for App1 and App2, and I want to distribute UI.exe as a freeware but with some protection because it's .net application.

Do I have to create 3 EnigmaProtector projects?
- 1st - to protect UI.exe from easy seeing the source with ILSpy
- 2nd - to protect App1 to protect the source and request registration
- 3rd - to protect App2 to protect the source and request registration

I would also like to lock some of the functionalities of App1 and App2 for demo versions. Should that be separate application build or a separate EnigmaProtector project?

PS: Do you know if obfuscar works well with Enigma Protector?

Thanks in advance.

zooid
Enigma
Site Admin
Posts: 2945
Joined: Wed Aug 20, 2008 2:24 pm

Re: Licensing Case, can Enigma Protector handle it? How?

Post by Enigma »

Hi Zooid,

Yes, all that you described is possible with Enigma Protector.

As for App1.dll and App2.dll, please clarify, are these really .dll components for UI.exe, or these are App1.exe and App2.exe - separate applications?

1. If there are separate applications, then you have create three separate project files, since all three packed file will use separate licensing scheme. Make sure you enter different product name on Input panel for these projects, since this affect the place where protection stores license information (to avoid it to be overwritten by each other).
2. If there are separate .dll components for UI.exe, then protection way depends on a kind of these .dll files. If they are .net .dll, then #3 can be used only (direct protection of .net .dll files is impossible), if they are native .dll then #1 can be used.
3. App1.dll and App2.dll files could be merged into one protected file by using Virtual Box - Files feature. It provides some security level for such files.
4. For registration of applications you can use embedded registration dialog at Registration Features - Registration Dialog or use Enigma API functions for custom dialogs or scheme, functions like EP_RegLoadAndCheckKey and EP_RegCheckAndSaveKey.
5. For good protection of .net files we've written a tutorial, please follow it to get best protection. Unfortunately, due to specific of .net files, protection takes a bit more effort than protection of native files:
https://www.softwareprotection.info/202 ... protector/
zooid
Posts: 5
Joined: Fri Jun 09, 2023 11:14 am

Re: Licensing Case, can Enigma Protector handle it? How?

Post by zooid »

Thank you for the reply.
This article is very good, thanks.

I would like to just clarify.
UI.exe is like a launcher, the plan is to be distributed as freeware.
App1.dll and App2.dll are .net applications that are launched from UI.exe.
The idea is App1 and App2 to be sold separately because of the interest of the potential clients. Some wish functionality of only one or the other.

I was planning to use obfuscation anyways even for the UI.exe (launcher).
I'm glad to see from the article that obfuscation layer doesn't affect the licensing layer of protection.

Subsequent questions:
1. If I protect the UI.exe by Enigma Virtual Box will it affect the separate licensing of App1.dll and App2.dll?
They should be loaded in memory when the UI.exe is launched.
2. I've tested the demo, and license key request is happening upon loading the dll in memory. Can it be done that request to license is done when trying to execute any function coming from the DLL or this would be reducing the protection?
Enigma
Site Admin
Posts: 2945
Joined: Wed Aug 20, 2008 2:24 pm

Re: Licensing Case, can Enigma Protector handle it? How?

Post by Enigma »

Sorry, this is still not much clean...

If you are talking about App1.dll and App2.dll then they are components, that are being loading in the same process environment as UI.exe.
If you are talking about App1.exe and App2.exe then they are separate applications, and when you open them a separate process starts.

So, can you please clarify, App1 and App2 are components, or separate applications? This is very important question that affects possible solution.
zooid
Posts: 5
Joined: Fri Jun 09, 2023 11:14 am

Re: Licensing Case, can Enigma Protector handle it? How?

Post by zooid »

Hi,
putting it this way, then, they are components.

Separate components that require separate lincenses.
Post Reply