[question] Securing Files

If you are a new Irrlicht Engine user, and have a newbie-question, this is the forum for you. You may also post general programming questions here.
bepetemish
Posts: 9
Joined: Mon Nov 19, 2007 12:32 pm

[question] Securing Files

Post by bepetemish »

Goodday all,

Im looking for a way to secure my files. I was thinking of a renamed .zip archive and some kind of encryption. But, i decided to first ask you all about your opinion and how you do it.

Soooo, got any information, links or other resources for me?


Grtz,

Bepetemish
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

Yes, it's all contained underneath the search button.
BlindSide
Admin
Posts: 2821
Joined: Thu Dec 08, 2005 9:09 am
Location: NZ!

Post by BlindSide »

Search for the SQL Wrappers either the one made by Zuess or the one made by evo. They both offer 128/256 bit encryption and are fairly easy to use.

Good Luck
ShadowMapping for Irrlicht!: Get it here
Need help? Come on the IRC!: #irrlicht on irc://irc.freenode.net
bepetemish
Posts: 9
Joined: Mon Nov 19, 2007 12:32 pm

Post by bepetemish »

hybrid wrote:Yes, it's all contained underneath the search button.
well thank you mister senior member.... Next time, try to ignore me cause your absolutly no help at all.
BlindSide wrote:Search for the SQL Wrappers either the one made by Zuess or the one made by evo. They both offer 128/256 bit encryption and are fairly easy to use.

Good Luck
Thank you kindly, i will take a look.
wildrj
Posts: 301
Joined: Thu Mar 23, 2006 12:49 am
Location: Texas/ Cyberspace
Contact:

Post by wildrj »

Actually mister newbie member who has no respect on this forum what so ever.
He gave you the best help he could he directed you to the search box. Its this magical thing that gives you most of the answers you need when you type your question in it. Now please do be kind on the fourms. Gain your respect and respect the senior members.
bepetemish
Posts: 9
Joined: Mon Nov 19, 2007 12:32 pm

Post by bepetemish »

wildrj wrote:Actually mister newbie member who has no respect on this forum what so ever.
He gave you the best help he could he directed you to the search box. Its this magical thing that gives you most of the answers you need when you type your question in it. Now please do be kind on the fourms. Gain your respect and respect the senior members.
Ehm, who are you and why are you joining this conversation? Show some respect for the forum and try to keep ontopic instead of spamming it. And who says i didn't used the search button before posting? Maiby i had a hard time finding any good results so i made a topic to ask for help.
And if a senior member is acting arrogant towards me then i don't see why i should ignore it.. Hes spamming the topic i made to recieve help from people willing to help.
But then again, why are you here going offtopic? Hes a senior member and probably well known on this forum, i don't think he needs you to back him up.

I will be kind on the forums, will you?
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

You failed already three times to be kind, when will you start? Maybe learning to accept friendly hints is a first step.
Acki
Posts: 3496
Joined: Tue Jun 29, 2004 12:04 am
Location: Nobody's Place (Venlo NL)
Contact:

Post by Acki »

YEAH, it seems this is going to be a nice thread !!! :lol:
bepetemish wrote:And who says i didn't used the search button before posting?
if you did a search (what I doubt) and found nothing than you probably need to learn how to use the search function... ;)

And I comletely agree with wildrj's post...
I rarely saw people acting like you on this forum... :evil:

Now, before you grumble because I'm out of topic, I did the search for you
have a look at this threads:
http://irrlicht.sourceforge.net/phpBB2/ ... hp?t=17994
http://irrlicht.sourceforge.net/phpBB2/ ... hp?t=23810

there is a way to protect meshes, but only for Irrlicht v1.2 at the moment and not for all mesh formats...
if this doesn't fit your needs, you also can create your own mesh format or en/decryption routine and write your own loader for it... :twisted:
while(!asleep) sheep++;
IrrExtensions:Image
http://abusoft.g0dsoft.com
try Stendhal a MORPG written in Java
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

BTW: As I probably also said on those threads Acki found, protecting meshes is pretty useless. The meshes are almost always unpacked into memory first, making it accessible for already a lot of people, just like the encryption key which is to be stored in your application. And finally the data goes into the GPU, there are many tools to capture such stuff.
bepetemish
Posts: 9
Joined: Mon Nov 19, 2007 12:32 pm

Post by bepetemish »

Thanks for the help :shock: , didn't expect that.
Thank you kindly.
if you did a search (what I doubt) and found nothing than you probably need to learn how to use the search function...
Maiby i do need to learn how to use it but currently i convinced myself that the phpbb forum search function needs improvment. (just like microsoft.com but thats a different story). And so that you know, i did "try" to use the search engine and i manually browsed the "FAQs, Tutorials, Howtos, and external tool lists" and "Code Snippets" section.
You failed already three times to be kind, when will you start?
Ehm, after i said i will (in post 3).

As I probably also said on those threads Acki found, protecting meshes is pretty useless.
Yes thats true but a solution to this and used by GameGuard is hiding the process and if im right it encrypts the memory. I know, the process hiding can be bypassed and the memory can be decrypted but nothing is 100% secure and this method is just something im going to add to the "hackshield" package for my game.

My results:
File Editing - Encryption and CRC checks (.. creating own mesh format, but i need to gether more information about this first)
Memory Editing - Hiding Process and memory encryption
DLL Injection - ??

With DLL Injection the "hacker" will try to inject a dll into the memory. This dll with hook "user-defined"functions so he can call these functions whenever he want (mostly on hotkey press).
Hiding the process is a start but not good enough. In order to protect my game from these kinds of attacks i made a little console application and made an injectable dll for it. I used "createremotethread()" and it seems that "createthread()" is also possible.

Does someone got any experience with this or some information to share?


Grtz,

Bepetemish



/*------------edit---------------------------*/
Vulnarabilty list: (from http://www.hackshields.com)

Memory Hacking Protection
Prevents memory excess of game hacking
Speed Hack Protection
Detects and blocks speed hack programs that tempers with system timer
Debugger Protection
Blocks hacker's debugging tools for auditing and analysis of code
Message Hook Protection

Makes message hooking function of game hacking tools useless and obsolete
Auto-mouse Protection
Blocks auto mouse operation, making it ineffective in games
File Change and Forgery Protection
Detects and blocks changes or forgery of files
Hacking tools and blocking detection
Detects hacking tools and terminates client game connection from server
Run-time Forgery Protection
Prevents from forging runtime modules of HackShield
Executable File Packing
Protects HackShield, hacking protection functions, itself from hacking
Network Packet Encryption
Encrypts network packet in NIST Rijndael AES format
Data File Encryption
Encrypts data files passed between client and server
Server-side Crack Protection
Regularly checks for changes or forges of executable file at client
Executable File Encryption
Encrypts game executables in real-time
Consistent and Continuous Update
Updates with new hacking tool pattern files and protection modules

/*------------------------------------------------------*/
Encrypting Memory: (resource, microsoft msdn)
If you're building a game for windows os only then you can use this. Not an option for some of us tho.

Encrypt:
http://msdn2.microsoft.com/en-us/library/aa387693.aspx
Decrypt:
http://msdn2.microsoft.com/en-us/library/aa387692.aspx
Acki
Posts: 3496
Joined: Tue Jun 29, 2004 12:04 am
Location: Nobody's Place (Venlo NL)
Contact:

Post by Acki »

hybrid wrote:BTW: As I probably also said on those threads Acki found, protecting meshes is pretty useless. The meshes are almost always unpacked into memory first, making it accessible for already a lot of people, just like the encryption key which is to be stored in your application. And finally the data goes into the GPU, there are many tools to capture such stuff.
well, yes nothing is secure, but it makes it a bit harder for most of the people... ;)
and for the password stored in the exe, right if someone is so stupid to store the password as a single string than of course it's pretty useless :lol:
but getting the password is also not enough, he also will need to know how the decryption works... ;)

but don't let this thread go to another duscussion about this, all is told in the threads above... :lol:
while(!asleep) sheep++;
IrrExtensions:Image
http://abusoft.g0dsoft.com
try Stendhal a MORPG written in Java
wildrj
Posts: 301
Joined: Thu Mar 23, 2006 12:49 am
Location: Texas/ Cyberspace
Contact:

Post by wildrj »

im just curious why do you need to protect your meshes so much? Not even the commercial games protect them.Most ive seen them do is just pak them into a archive.
bepetemish
Posts: 9
Joined: Mon Nov 19, 2007 12:32 pm

Post by bepetemish »

An (in my eyes) very experienced 3d modeller asked me if he can join the development team. But after a couple conversations he didn't liked the fact the people can easily steal the models he made.
I explained him that its very hard to secure the models and im going to ask for more information in a couple of forums.
This forum (as you might noticed :wink: ) and a couple game hacking forums.

I got all the information i need to explain him what i can and can't do and do what i say i can do.

Thats about it :D


ps. i followed the links given by Acki and think that a combination of copyright and a little security to keeps the noobs out of my files is enough.
Acki
Posts: 3496
Joined: Tue Jun 29, 2004 12:04 am
Location: Nobody's Place (Venlo NL)
Contact:

Post by Acki »

wildrj wrote:im just curious why do you need to protect your meshes so much? Not even the commercial games protect them.Most ive seen them do is just pak them into a archive.
right, but this is more or less a sort of protection as far as they often use theyr own package format that no one can read without theyr package software... ;)
while(!asleep) sheep++;
IrrExtensions:Image
http://abusoft.g0dsoft.com
try Stendhal a MORPG written in Java
bitplane
Admin
Posts: 3204
Joined: Mon Mar 28, 2005 3:45 am
Location: England
Contact:

<rant>

Post by bitplane »

I can understand why you'd want to protect the models from a cheating point of view if collision is done client-side and not checked on the server, but I can't see why you'd need protection from people viewing your model files.
If you want to make money without being sued you have to respect the Berne Convention anyway, which means not stealing anyone's work.
Locking media up assumes bad faith and conveys ill feelings toward your users.
I was going to buy the complete Quake pack via Steam on Monday, but decided against it because it's probably in an encrypted archive and I can't play with the models. I bought GTA for the PSX recently, I don't own a Playstation anymore, I just wanted part of the soundtrack as a ringtone. Art should be shared and enjoyed, not locked away.
</rant>
Submit bugs/patches to the tracker!
Need help right now? Visit the chat room
Post Reply