Protecting game Media when publishing Open-Source?

Blitz3D Forums/Blitz3D Programming/Protecting game Media when publishing Open-Source?

Kryzon(Posted 2008) [#1]
Hello all,
I believe that lots of people around here, like me, would always like to protect their game media (models, textures, sounds etc.) as much as we demand in the license. But not always do people respect the license, and disregard the EULA and end up snatching a sprite here and there.

So I would like to know, from all of the File Utilities in the Blitz Toolbox, is there any packer there that would protect your files in a way that even you publishing open-source, but unwilling to release the media for use, could you protect it? It's too easy having the source and just reversing the encrypting process, or disabling the "DeleteFile TempFile" and grab everything.
I was thinking of some library that could actually decompress inside the memory, like AMT - PackBox would do...That way there wouldn't be a way for the common user to easily steal the resources without having to save them manually from inside your code.

Any help would be appreciated.


Sledge(Posted 2008) [#2]
MoleBox?


puki(Posted 2008) [#3]
Packing and encrypting is pointless if it can lifted out of memory.

Creating your own formats is best; however, you have to think about how DirectX (or whatever) will give the game away - you can disguise something, but the way it is applied will reveal its identity which invokes the reverse-engineering process.


Kryzon(Posted 2008) [#4]
I was hoping really something like the AMT - PackBox, that does things inside memory (where the common layman wouldn't be able to access without having to work hard for it).


Nate the Great(Posted 2008) [#5]
There is something I got a long time ago called Blitz Media linker which packed all of your files into a single executable although I don't know if it still exists

I just use my own encrypting process

also If it is a 2d game there is nothing to stop them from taking a screen shot and taking the image. (Ctrl + PrtSc copies the current screen to the key board)


Kryzon(Posted 2008) [#6]
But doesn't Blitz Media Linker decrypts the files into Temporary ones? Does anybody know where does Blitz Media Linker extract the files to? if it's directly in the memory or in a Temp file\directory?

That way people could make a "listen" application that copies everything "new" to the directory into a folder, thus grabbing everything decrypted and exe-externally.


Nate the Great(Posted 2008) [#7]
I just use my own encrypting process as I said above.

I don't think the average person would know how to create a "listen" program to get the images or whatever. In fact it is impossible to completely protect anything in any game you sell because if everything is encoded they simply hack your game to spit out the images for them which would be easy if you knew machine code and could hack windows. All you can do is discourage people from hacking your game.


Kryzon(Posted 2008) [#8]
I just use my own encrypting process as I said above.

There's no problem in me doing my own encryption algorithm, the problem is that since I have to release the source code (it's for a competition that demands this), I was looking for a way that the only one to have access to the original resources was me. The release would only have like, a pack or a full .exe with the files and would use something like Blitz M. Linker so as to not let the user get the resources, only the code.

But I understand your point of view on the "listen" program. And it seems BMLinker does the job very well (just tested it now, works like a charm! wonder how they do that). I guess that'll do :D

Alas, only on the source code there would be the name of the file - there wouldn't be a way to extract it from the exe (without the user being such a good hacker).


Gabriel(Posted 2008) [#9]
You don't need to know how to write a "listen" program. There are freely downloadable programs which will rip everything straight out of your video memory. There is absolutely nothing you can do to stop these programs working. Honestly, save yourself the time and bother.


Nate the Great(Posted 2008) [#10]
There are freely downloadable programs which will rip everything straight out of your video memory


That's very comforting gabriel ;)


puki(Posted 2008) [#11]
I have the full set.


GfK(Posted 2008) [#12]
I have the full set.
You've never had a full set.


Kryzon(Posted 2008) [#13]
I have the full set.

Full set of what?

save yourself the time and bother.

If there isn't a way to prevent it then...there's no way to prevent it.
But I won't sit still, I will use something to keep everything exposed directly. Just wanted to know which was the most versatile one.


Rroff(Posted 2008) [#14]
Best way to obfusicate as someone else said is to use your own file formats...

But theres plenty of freely available tools as people have also mentioned that can pull resources quickly and easily out of physical memory and even VRAM.


Naughty Alien(Posted 2008) [#15]
best thing is to catch trough law, person who use to rip off your media, if using it comercially..you may generate some money :) other than that, really no harm :)


Ginger Tea(Posted 2008) [#16]
nothing is PUKI proof


Kryzon(Posted 2008) [#17]
Best way to obfusicate as someone else said is to use your own file formats...

Yes it is a viable precaution except when publishing open-source, like I have to do. If the guy has the source code, he has the function that encrypts\decrypts the files and he's done for it.

At least BMLinker hide the files inside the .exe, so when you use a load command it extracts the file you are going to load and then deletes it afterwards, I think (does anybody know how does BMLinker file extraction works?).


Sledge(Posted 2008) [#18]
This is why I mentioned Molebox. There's nothing to stop you distributing a compiled exe with packaged assets alongside the source for the unpackaged exe. It's still open source and your media is about as safe as can be. Either that or switch to BlitzMax and use IncBin.


Kryzon(Posted 2008) [#19]
OMG, I totally forgot about that! the source won't use the BMLinker! so theoretically I'd have to enable the resources...

Oh, wait. I can release the .exe compiled with BMLinker and also just the .bb code, not the resources to test the code. I hope they accept that.


Naughty Alien(Posted 2008) [#20]
i dont understand why you found that BMLinker is more safe that Molebox??


Nate the Great(Posted 2008) [#21]
I don't really know which is safer. I also don't see how either is safer than the other? Don't they both do nearly the same thing???


Kryzon(Posted 2008) [#22]
i dont understand why you found that BMLinker is more safe that Molebox??

Not safer, but easier to use and costless. It does an awesome job, and for free.

As Nate said, I don't know if they do the same thing or not. But for what BMLinker does, it's great.

PS: I'm still open for suggestions, mind you. If you have one, please share :)