Protecting assets

I have a question on a topic that doesn't seem to come up much:



Getting tired of making videos, I'm at the point where I'd like to put out a playable section of the game I'm working on. I've packaged it all up, made a webstart and uploaded it with little trouble. Tested it on different platforms and got it working.



My problem is that while all the code is mine, I am using quite a lot of third party assets from all over the place. I am entiled to distribute them but the terms vary. In some cases, the license requires that the original file must not be recreated on the user's machine.



That's fair enough, but it gives me a problem - how in Java can I prevent the player from extracting data (textures, models, music) from a jar, while still reading them in to JME?

That's fair enough, but it gives me a problem - how in Java can I prevent the player from extracting data (textures, models, music) from a jar, while still reading them in to JME?

You can try encrypting the files in the jar.
See this page for examples:
http://www.exampledepot.com/egs/javax.crypto/pkg.html

Do note however, that this will only deter the most primitive of people.. Textures, models and music can be quite easily extracted if you know what you're doing, some tools online can facilitate this. e.g:
http://ogle.eyebeamresearch.org/
http://glintercept.nutty.org/
Unless if you mean the file in its original form cannot be on the client's machine...e.g. you package up all your files into a protected file that would need to be cracked in order to retrieve the contents, as opposed to distributing a good old jpeg as a jpeg in some asset folder?


Right, that's what I mean. Clearly, someone determined can get hold of data, but I don't want to make someone else's work easily available to the entire world.

My game is in fact intended to be very easy to mod - everything is layed out right in front of you in text files. I know that there's no way to guarantee the security of data, and I have no problem with distributing my own work in a standard jar. Also a lot of the third party stuff can be distributed that way. Originally I only used  such assets.
But now there's a mix (just ran into a brick wall trying to find enough good stuff that I could use) and in the other cases I do want to comply with the artist's wishes which is to take reasonable steps to protect their work.

Thanks for the links and advice!