• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Copy Protection

 
Ranch Hand
Posts: 91
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi,

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

Regards,
Susilo
 
Ranch Hand
Posts: 410
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 91
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 410
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 91
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 91
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
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
Posts: 91
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I just found a similar thread to mine. It answered how to get mac address.

https://coderanch.com/t/376662/java/java/unique-address

Thanks for the help!

Regards,
Susilo
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
reply
    Bookmark Topic Watch Topic
  • New Topic