Archive: Software license protection with NSIS?


Software license protection with NSIS?
How can I use NSIS to enforce some form of copy or license protection for the software being installed?
Is it possible? (eg, limit the number of installations, or some such thing.)

Any ideas, suggestions, etc would be greatly appreciated. Thank you.


If you had some sort of licensing database that the installer could connect to via internet, then you could only allow n number of installations before it becomes invalidated. If the installer can't connect to the internet, display a warning and then exit the installer.


Anything is possible. You just need to find a way to do it with the tools available. Just give it a good thinking.

You could store the number of installations in a temporary file in an unrelated folder, or perhaps better would be to store it in a database online under an IP address or something.

-Stu


Anything is possible. You just need to find a way to do it with the tools available. Just give it a good thinking.
That's right Stu! You opened the door!
Please test the attached example. Try to run the installer more than three times.

Originally posted by Red Wine
That's right Stu! You opened the door!
Please test the attached example. Try to run the installer more than three times.
Your test works correctly and you can't run it after the third time, however if you re-extract the files from the zip you can run it again....

It is most likely that it has bugs. This is a first step on that request, possible could not get deeper and that's the reason I am not providing the code yet.
However, here is a new version, now runs only 3 times, download it and test it.


Stuffing something in sys32 is not exactly protection, everything you do on the local system can (and will) get broken (something on a server can get cracked aswell so thats not the point)


I think the point is a research based on this:

Anything is possible. You just need to find a way to do it with the tools available. Just give it a good thinking.
Besides the fact that there is not uncracked software on the market, (even if they implement expensive protection schemes), the control of the usage on more than one machines, could be done only by a kind of an activation scheme. Any other protection is stuck on the local machine. The installer is not the "end user's software", is just the container, so the reasonable solution should be a kind of "user name-serial number" protection. Though, stick in "find a way to do it with the tools available", just carry out an experiment. An installer who counts the run times and expires after n times. No doubt that every user on this forum could easily break that scheme. Moreover, who really needs something like this? I think as a subject matter, has a point. With the tools available this is what I can do. In fact all the job is dependent on decrypt dll. And here comes where I end up. Download it and try it if you like. Probably, I'll post the code on wiki for reference.
regards

P.S. even a system snapshot before/after is enough to break it.

Just in case someone is really interested the code ia at wiki.
Find it here :-)


what about users without write access to $windir and HKLM ?


you need admin rights to install this software, have you ever seen that before? :-)


redwine nice work there, its not something i would use but its good to see away of doing stuff and certainly gives ideas.

thanks.


redwine nice work there, its not something i would use but its good to see away of doing stuff and certainly gives ideas.

thanks.
Thank you too! :-)