how to hide my game files form the users?!?

Started by
33 comments, last by Antheus 18 years ago
I'm looking for an answer for this question since some years ago :P(I think I didnt get it yet just because I just asked it sometimes...) In my game I have .tga files, .x files, .wav and/or .mp3 files etc... which can easily be accessed, reused, edited, etc by the game users. I have taken a look in the files of some games and I have seen a lot of files with a strange format (for example in some games from EA I have found .big files). Are these formats a file format created by them?!? or what? Is creating my own file formats the only way for me to hide my files from the users?!? thx ;)
.
Advertisement
Many people choose to create their own proprietary format for their media, be it for each kind of media or by storing it in their own compressed format.
Depending on the game you can get away with distributing to an audience who you think wouldn't know how to edit them (like kids perhaps).
____________________________________Spazuh- Because I've had too much coffee
probably, even then they could be stolen if someone tryed hard enough, image files are easy to rip. a 3d mesh file would be a lot harder if you made a custom format but really its not worth it
as I can see this a big and 'hard to solve' problem... Even creating our own formats its possible to extract it and edit... It can be hard for the users but not impossible..and sometimes very easy for some experts on things like.

Well, my question is already answered...now the problem is build a very complex format XD ... I dont have sifficient skills for that yet heheh...

Thanks for replying guys
.
If people want it, they'll get it :(

Maybe you can try to add images (if it is about images) to your resource file, then a lot of people don't know how to get it, because than its in the .exe file. But for pro's you can't hide anything in my opinion (maybe with a logaritm, like MD5 in PHP...). But for most users it enough to hide it in the .exe :)

Decrius
[size="2"]SignatureShuffle: [size="2"]Random signature images on fora

Well it doesn't have to be so complex system after all.

I suggest building a simple file packaging system. That is, one huge file which has all the required files and folders.

The file needs some kind of table of the filenames and location and the of course the files itself.

First you get the list of the all the files want to pack and then store a dummy table with dummy file locations and sizes. Then you append all the files and in the same time store the starting locations and size in the table. Not too tricky.

I guess that the hard part comes when you want to load from the pack, not that reading is hard, but it is sometimes a bit tricky to use certain APIs with the package. Luckily, for example, with DX it is possible to load DDS files from memory or some APIs allow to use user defined file access functions.

Cheers
Decrius, look at this

using this you can access all the resource files in the exe =D ... Dont know if many ones know it but I'm almost sure they do... hehehe

And Demus, I think the method you decribed seems to be very nice but I also think it is beyond my knowledges by now :P ...this question was just a curiosity hehehe...thanks for you to reply

thx for all ;)
.
Quake just zips the files are rename's them .pak.
- The trade-off between price and quality does not exist in Japan. Rather, the idea that high quality brings on cost reduction is widely accepted.-- Tajima & Matsubara
lol
.
1. If it's on the client (ie. my machine) it's insecure.
2. I can always reverse engineer your exe to discover your file formats.
3. Similarly, if you encrypt your data I can always extract the key and algorithm from your program.
4. It'd be even easier to just let your program load the data and grab it directly from RAM.
5. Its quite easy to intercept OpenGL/DirectX calls with my own code and capture your data as it going past (ie. ripping textures becomes trivial, models, sound and other data are equally vunerable).

No matter what you attempt to do, it'll only be a delaying tactic. The question is how much time you're willing to waste on this and what you're actually trying to prevent. If you just want to stop casual users messing with them then the easiest way is to just change the file extension. Anything else is likely to be wasted time.

This topic is closed to new replies.

Advertisement