Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Dark GDK / Hiding /Encrypting images/files

Author
Message
Chicknstu
17
Years of Service
User Offline
Joined: 10th Oct 2006
Location:
Posted: 10th Sep 2007 14:17
What's the best way to make sure that people can't go into your data folder and see all the images that are in your program (and possibly edit them)?

Anyone have any one-shot solutions to this handy?

Stu

www.Retrodev.co.uk
Grunge Game Developers
jasuk70
21
Years of Service
User Offline
Joined: 3rd Dec 2002
Location: Hemel Hempstead
Posted: 10th Sep 2007 14:40
In .net I use the following code to encrypt text data files created, not sure if this is any help.



----
"What is this talk of 'release'? Klingons do not'release' software. It escapes leaving a bloody trail of developers and quality assurance people in its wake!"
Chicknstu
17
Years of Service
User Offline
Joined: 10th Oct 2006
Location:
Posted: 10th Sep 2007 15:56
I mean more like, if someone downloads your game, they could go into your data/images folder and see all the bmps etc. that are in your game. This is a bit unprofessional. Is there a way of encrypting them? How does everyone else get around this problem?

Stu

www.Retrodev.co.uk
Grunge Game Developers
jasuk70
21
Years of Service
User Offline
Joined: 3rd Dec 2002
Location: Hemel Hempstead
Posted: 10th Sep 2007 16:00
I think this is on the requested features list, I.e. loading images etc. from streams. Currently I don't think this can be done. If you could read from a stream, then you can do your own encrypting/decoding and pass the stream into DGDK.

Jas

----
"What is this talk of 'release'? Klingons do not'release' software. It escapes leaving a bloody trail of developers and quality assurance people in its wake!"
Niels Henriksen
20
Years of Service
User Offline
Joined: 27th Sep 2004
Location: Behind you breathing heavely
Posted: 10th Sep 2007 16:52
If its unproffssional that people can go in and see your graphics then Blizzard (World of Warcraft) is unproffsional. I can sit and see all their graphics

There will always be somebody who can decrypt your data and read it

But a way could be to unpack the files when you need them, load in memory and delete the unpacked file again.

Niels Henriksen
Working on a (MMO)RPG right now in LightEngine
http://noggs.netopcom.dk/forum/default.asp - Forum for the game
jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 11th Sep 2007 00:02
For starters, DBO file format makes it a little more tricky to reverse engineer than say *.x but that leaves your bmp's etc out there. Niels Henriken has the best solution I know of but I personally wouldn't bother - because its to easy to hack - why do the effort.

I think something you MIGHT want to consider - though not ideal if you have a ton of graphics is either a RAM drive "library" or a software based thing LIKE THAT that allows a virtual drive on your harddrive. So in short - you may find a utility or API that lets you create a huge "everything" file and that can be opened as a new "harddrive" letter or something. This kind of thing is definately doable and you see similiar things being done in the linux realm and in the "make linux work on windows" flavor of utils.

That would be my guess as to a best approach. Then your program is creating a "standard" drive appear on the system - you then tell DarkGDK to read from it - with the game is done - the drive disappears and all that is left is a big encrypted file.

Personally - I'm not ready to go down this road - but I will sooner or later if no one else has by the time I need it

kBessa
17
Years of Service
User Offline
Joined: 8th Nov 2006
Location: Manaus, Amazonas, Brazil
Posted: 11th Sep 2007 05:58
Jason,

For the moment, my plugin (LightEngine) does what Niels said: Extract, Load and Delete (as soon as the file was loaded). It does it very fast, to a random temp directory, but it does extract anyways, and anyone could get it.

The solution you have proposed is great (but not perfect, people could always alt+tab, or have a program copying everything on the background).

Anyways, that's just something anyone can grab anytime, there are unnoficial modding tools for at least 80% games out there, I just wouldn't bother if anyone would have direct access to it or not, the real advantage I see in this is the "absence" of thousands of files in the game's folder.
jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 11th Sep 2007 14:26
I agree with you 100%. And good work kBessa. You way of doing it is pretty effective!

(Light engine is C# only right? )

I like how you said you select a random directory--That adds just enough - "You have to work hard to get my media" - to your game/app

kBessa
17
Years of Service
User Offline
Joined: 8th Nov 2006
Location: Manaus, Amazonas, Brazil
Posted: 11th Sep 2007 17:17
Yep, .NET only. Unfortunately I don't own DGDK C++ and probably never will. Also, it is almost impossible for me to manage LightEngine on both languages, that's just a great lot of work.

Login to post a reply

Server time is: 2024-10-08 22:21:41
Your offset time is: 2024-10-08 22:21:41