Protecting Java Code on a DVD-R
Hi,
first thanks for your time reading this message. I will make it short.
I am developing an application (HTML, Java mainly) in the form of a service (or disposable product).
This application will be stored on a DVD-R with customers data on a per project basis.
So each time the customer has a project we will compile the data with our application
and burn everything on a DVD. I have two challenges:
1/ PROTECT THE JAVA CODE - since the application will be stored on the DVD, any client could open, reverse engineer and copy the code on their local hard-drive.
2/ PROTECT THE DVDR - Kind of the same with the item above, a customer could copy the entire DVD (application and data) on their local drive, and keep the core application but replace the project data with data from another project and of course....never pay again for our services.
Conclusion, I need to find a way to first prevent copy the core JAVA code for anyone wanting to develop
a similar application AND prevent customers to copy the core application on their local hard-drive so
they can re-use the application for other projects and never pay our services.
Note: I cannot detail what the application does since I am still under NDA.
[1280 byte] By [
geedocu] at [2007-9-30 18:56:09]

> 1/ PROTECT THE JAVA CODE - since the application will
> be stored on the DVD, any client could open, reverse
> engineer and copy the code on their local hard-drive.
The only way to protect against that is to obfuscate the code. There are many code obfuscators available. However, if someone really wants to reverse engineer the code, there's really no way to make it impossible. This is true for any programming language.
> 2/ PROTECT THE DVDR - Kind of the same with the item
> above, a customer could copy the entire DVD
> (application and data) on their local drive, and keep
> the core application but replace the project data with
> data from another project and of course....never pay
> again for our services.
There's nothing you can do to keep somone from copying the data. Technically, speaking, if they can read the data, it's possble to make a copy. It's like saying that you want to write an unplagarizable sentence. It can't be done. The DVD driver or OS can limit the users ability to do these things, but that's really out of your hands.
If you want to keep the user from havcing your code, don't give it to them. Run your application as a web service or other web application. Then you don't have to give anyone your code. You could also make the application 'call home' and verfiy that it's OK to run but that doesn't solve the reverse-engineering issue.
Buy a dongle and ship the application with the dongle.
If you're really worried about pirating and you haven't a good lawyer, special hardware can help you (although it's not a perfect solution because there are a lot of ways to circumvent dongle protection.)
Check with your dongle vendor if Java applications are supported.