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

> 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.

dubwai at 2007-7-6 21:14:49 > top of Java-index,Core,Core APIs...
# 2
public class MyClass extends java.thief.Unplagiarizable {}
komone at 2007-7-6 21:14:49 > top of Java-index,Core,Core APIs...
# 3

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.

edsonw at 2007-7-6 21:14:49 > top of Java-index,Core,Core APIs...
# 4

Wrong forum,

but, the app on the DVD could have a a public key, used to decrypt the data on the dvd. You have another app that encrypts the raw project data using the private key before you write it to the DVD. That will stop someone else using the DVD app for another project. The DVD app will only read project data that is encrypted by you.

brucechapman at 2007-7-6 21:14:49 > top of Java-index,Core,Core APIs...