Link to home
Start Free TrialLog in
Avatar of Aurii
Aurii

asked on

Restrict reuse of a software from another PC

I have developed a Desktop application in java for my client. And I am going to deliver it to the client side. But I am having doubt of reuse of the software to another location by the client. Is it possible to restrict this? (They dont have Internet connection.). Please help..
Avatar of Dushyant Sharma
Dushyant Sharma
Flag of India image

if you are going to install the application then get the details of their machine and hardcode them in the code. like serial number or anything. so if application runs on another machine the serial number won't match and the application won't work.
Avatar of Aurii
Aurii

ASKER

I am not that familiar with hardware. how to get details or serial number?
ASKER CERTIFIED SOLUTION
Avatar of Dushyant Sharma
Dushyant Sharma
Flag of India image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of CEHJ
>>(They dont have Internet connection.)

How are they going to get any hardware guids to you so you can hardcode them in Java?
Author can get these details prior to install the application. now with these details hardcoded in the program these will be matched everytime starting the application. the details fetched at runtime should match with the details already present hardcoded.
Here's what you can do:

1. write simple application that collects from the machine one or more of its unique id's, such as what ddsh79 suggested, or see this link for example : http://technet.microsoft.com/en-us/sysinternals/bb897417 . The collected data is encoded, to make it less obvious, and is presented to the user as a code.

2. you give this application to the user; he runs it on his computer, reads the code, and sends it to you.

3. based on the code, you generate a key file and send to the user. The user places the key file in the application directory.

4. your main application, when started, obtains the same id from the machine it runs at, calculates the key, and compares it to the key file. If they don't match, it means that this is another machine.

This is all similar to Windows activation; the difference is that Microsoft collects from the machine not one but several different id's, to take into account possible hardware upgrades; and sending back and forth can go through the internet.
Avatar of Aurii

ASKER

Thank you:-)
If you know another method also then PLEASE tell me.