aspose file tools*
The moose likes Swing / AWT / SWT and the fly likes Copy Protection Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Swing / AWT / SWT
Bookmark "Copy Protection" Watch "Copy Protection" New topic
Author

Copy Protection

Susilo Saja
Ranch Hand

Joined: May 27, 2003
Posts: 91
Hi,

How can I protect my Java Swing Application from being copied to another computer?

Regards,
Susilo
Stuart Gray
Ranch Hand

Joined: Apr 21, 2005
Posts: 410
In short: you can't. You can only slow the process down and make it harder. The question is: will you also make things harder for genuine users when you try to do this?
Susilo Saja
Ranch Hand

Joined: May 27, 2003
Posts: 91
Hi,

Can you tell me some ways to at least make it harder?
Yeah I need to consider whether the inconvenience is too much for the genuine users, then decide whether to use it or not.

Regards,
Susilo
Stuart Gray
Ranch Hand

Joined: Apr 21, 2005
Posts: 410
Well, the problem is not so much copying the program to another computer (since it is the OS that does that task, and you cant realistic stop it). I think the problem is more likely making your program run on just one computer.

1) You could have a serial number/username system. Users would have to enter this during the install. This would not stop copying but would let you know who leaked their copy.

2) If you application if network based you could have it 'phone home' to a server you had set up to verify itself (think of MS product activation).

3) You could hard code your program to only work with a particular IP address/ MAC address/some other hardware specific unique identifier.
Susilo Saja
Ranch Hand

Joined: May 27, 2003
Posts: 91
Well, I can't use no 1 because I don't intend to track who leak my code. All I care is how to make it hard to copy.

And since a lot of my users won't be on a network, I also can't use no 2 and IP address scheme. I can't even be sure whether my user will have MAC address since I can't make sure they will have ethernet card.

I'm thinking about other number from the hardware. Is there a unique number from the motherboard, for example ?

Regards,
Susilo
Susilo Saja
Ranch Hand

Joined: May 27, 2003
Posts: 91
On second thought , I just realize that most of the pc now have built-in ethernet on the motherboard. So using MAC address might work. How can I acquire the MAC address using Java code?

Regards,
Susilo
Susilo Saja
Ranch Hand

Joined: May 27, 2003
Posts: 91
I just found a similar thread to mine. It answered how to get mac address.

http://www.coderanch.com/t/376662/java/java/unique-address

Thanks for the help!

Regards,
Susilo
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Copy Protection