license system in VisualStudio

0

Good Night Sres. at the end, finishing a project in VS2015 I would like it to detect when it is installed on a PC and deactivate it to avoid piracy I was reading about Sign an assembly but when I activated it and generated a .exe eye since VS2015 is installed but then gives execution error, I tried "trying on my pc" install it and I realize that a specific folder is not created, example "c:/archivo de programas/sistema" and therefore I do not see the specific files of the system, I would like to see them to manipulate the app.conf without having to recompile. Excuse so many doubts, to clarify I need help in:

  

1-License to protect me from piracy

     

2-find or leave the app.conf free to manipulate the connection string outside VS2015

To clarify something, if I want to take care of piracy, I should only have software originales e installshield is currently inaccessible. thank you very much

    
asked by Gilberto Asuaje 27.11.2016 в 06:14
source

2 answers

1

It has reason Dekadence Nakura, it is very difficult to do this so that you can not crack, possibly impossible. I'll tell you how I would do it if it could help:

It would require the user to be connected to the internet to a web / ftp, etc. at the time of installing the software on the computer, when doing the installation it would be retrieved various hardware information / date etc ... and it would be sent encrypted to your server, the server will perform various operations with that information in such a way that it would generate a kind of validation token. When installing, a .dll is installed on the computer that calculates the validation token.

When the application is executed, it checks the token according to the hardware / date, etc., if the validation function passes, it can be executed, otherwise it will give an error.

This can prevent you from being hacked in the short term or that only someone who is going to crack you really will get it, that is, it will give you some time. From here on it would be that every week there was a small update of the program very fast where only the .exe application and the .dll it is aimed at will be downloaded (in this way you can change the name of the function and the signature forcing the cracker to spend more time searching for it every week).

This way you give the client the possibility of working in the local without connecting to the internet for a week, but at the same time you guarantee that cracking your program is something tedious and that having to do it every week the cracker does not care much do it and of course to the pirate users it would be more "cheap" to buy the software if it has an adjusted price.

You on your server could already have .exe .dll for each weekly update prepared for a few months without it being too tedious to do so since just changing the function a bit will break the crack of the previous week.

    
answered by 28.11.2016 / 12:20
source
2

You really do not need any original software or InstallShield to take care of piracy, nor do you use libraries or external services.

You must design your own license system, but I must say that unfortunately there are no 100% effective solutions against the cracking of your program (or against any) always someone with knowledge in reverse engineering will crack your program.

You can also make use of frameworks to facilitate the licensing system such as Portable.Licensing although personally I I think a license system under cloud (server side check) would be more efficient, you could emulate your license server, but it would be less feasible when you crack it and you would have absolute control of it remotely, but you would have to think of a solution for users who do not have an Internet connection (if your program does not depend on 100% Internet connection).

In summary, ideally you should design a hybrid system (local licenses and remote verification) with your own methods, using generalized solutions such as the integrated licensing system in Visual Studio would only make cracking your program easier, since these systems are already known by developers who use reverse engineering.

Try to design, using your own methods, an encrypted license file format as well as your own data structure and at the same time an online verification method (at each start for example), if possible do not use domains to make the connection, use one (or several) IP addresses since many people will try to block or emulate your licensing system by modifying the Windows host file.

    
answered by 27.11.2016 в 13:41