Jump to content
  • Advertisement
Sign in to follow this  
xissburg

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

This topic is 4471 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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 ;)

Share this post


Link to post
Share on other sites
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).

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
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 ;)

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!