Java-Gaming.org Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (539)
Games in Android Showcase (132)
games submitted by our members
Games in WIP (603)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  How to prevent jar-file from being downloaded?  (Read 2312 times)
0 Members and 1 Guest are viewing this topic.
Offline Califrom

Junior Newbie





« Posted 2008-01-12 19:00:19 »

I have a (signed) Java applet at my website. I don't want that just anyone can download my Game.jar and take a look at my code. Of course I have just the .class-files (+pics,wav:s etc) packed there, but as far as I know they can be easily decompiled.
But still as I want to prevent jar from being downloaded, I also want that everyone can play my game.

The html code is similar to this:

1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
<applet
  codebase = "."
  code     = "Appletclass.class"
  archive  = "Game.jar"
  name     = "The game"
  width    = 700
  height   = 500
  hspace   = 0
  vspace   = 0
  align    = top>

</applet>



So what options do I have? I would like to keep the game files packed as a jar.
Offline Jackal von ÖRF

Junior Devvie





« Reply #1 - Posted 2008-01-12 19:34:50 »

You can't prevent downloading the jar - if the user can't do it, he won't be able to play the game. There are some programs which obfuscate the class files so that they would be harder to decompile, but there is no 100% sure way to prevent it.

And besides, why should you protect the code? If somebody really wants to decompile it, you can only make it a little bit more complicated, but not prevent it. And if it's just a normal little game applet, nobody would be interested in it anyway.

Offline Califrom

Junior Newbie





« Reply #2 - Posted 2008-01-12 19:48:09 »

You can't prevent downloading the jar - if the user can't do it, he won't be able to play the game. There are some programs which obfuscate the class files so that they would be harder to decompile, but there is no 100% sure way to prevent it.

And besides, why should you protect the code? If somebody really wants to decompile it, you can only make it a little bit more complicated, but not prevent it. And if it's just a normal little game applet, nobody would be interested in it anyway.

Yes, I'm aware of these code obfuscators. But there's also image- and wav-files... And you are right about the fact, that it's just a game and code doesn't have to be 100% secure from that point of view.

Is there a way to hide the codebase? Some scripting or something like that...? (I don't know anything about that) The goal is to make it a little bit harder for a user to download source files.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline darkprophet

Senior Devvie




Go Go Gadget Arms


« Reply #3 - Posted 2008-01-12 21:09:08 »

don't use wav or any common image formats...Make your own format, write your own parser and that makes it hard enough for casual users. But people who are insistent on getting your stuff will get it.

DP Smiley

Friends don't let friends make MMORPGs.

Blog | Volatile-Engine
Offline Jackal von ÖRF

Junior Devvie





« Reply #4 - Posted 2008-01-12 22:31:52 »

If your game is a client-server game and you keep most of the logic in the server side, then nobody can access that part. If you have only a thin client, then the client is not much of a use without the server.

Everything on the client side is unprotected and unsecure. Especially in multiplayer games, you should always assume that a player's client has been modified/hacked and that you can't trust any parameters that the client gives to the server.

EDIT: If you keep the resources (images, sounds) outside the .jar and load them in the program code dynamically from the server, that will make it harder to copy the resource files. Somebody would need to read the decompiled program code and find out where the program gets its resources. He might also need to write a little custom program that saves all resources into files. But even then, it would take only an hour or two for an experienced programmer to get your resources.

Offline oNyx

JGO Coder


Medals: 2


pixels! :x


« Reply #5 - Posted 2008-01-12 23:30:26 »

>Somebody would need to read the decompiled program code and find out where the program gets its resources.

No. a) Cache b) Sniffer.

>But even then, it would take only an hour or two for an experienced programmer to get your resources.

More like a few minutes.

It's pointless, really.

弾幕 ☆ @mahonnaiseblog
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

rwatson462 (30 views)
2014-12-15 09:26:44

Mr.CodeIt (23 views)
2014-12-14 19:50:38

BurntPizza (50 views)
2014-12-09 22:41:13

BurntPizza (84 views)
2014-12-08 04:46:31

JscottyBieshaar (45 views)
2014-12-05 12:39:02

SHC (59 views)
2014-12-03 16:27:13

CopyableCougar4 (57 views)
2014-11-29 21:32:03

toopeicgaming1999 (123 views)
2014-11-26 15:22:04

toopeicgaming1999 (114 views)
2014-11-26 15:20:36

toopeicgaming1999 (32 views)
2014-11-26 15:20:08
Resources for WIP games
by kpars
2014-12-18 10:26:14

Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!