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 / About loading resources from buffer

Author
Message
psx
17
Years of Service
User Offline
Joined: 16th Apr 2007
Location:
Posted: 13th Aug 2007 10:43
Hello everyone and here is a question.
As we know all games use resource packs to hide its content.
It is not so difficult to create this packer in C++.
But how we should unpack it.
It is clear, that unpacked resource file shoud NOT be written to HDD.
It should be written to RAM as buffer or stream.
Then our game has to load this file from that buffer.

And what we have in SDK. Function LoadObject() allows only
the drive path to be passed to it. And no buffer implementation.

Inside LoadObject(), while loading, it reads the file to buffer and then loads it.
It has to be so. Then why developers has not implemented direct buffer loading function. It is very important for games.

Can anybody contact with developers and add this function to a wishlist of a new update, or something like this.

Or, maybe, there is a way to do buffer loading, which I dont know?
jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 19th Sep 2007 23:20
You could write it! Seriously - we've hit this topic on a couple threads and the verdict was - it could get cracked eventually anyway - the workarounds are drop to random temp directory - load it - delete it - but then they still could stop your program... If you REALLY REALLY REALLY want to screw people up - this is what you do:

Bitmaps/images/etc - Need to make an encrypter that mangles the image but it reattainable in memory with DarkGDK/DBPro. I Know Bitmaps are bigger but they compress nicely. Would be pretty easy to pick a image format that is known - and "easy to work with" - and scramble it - so it still loads as a valid image - and then "decrypt" it in memory. Then Texture your object. Textures with Coordinate mapping - (So entire image drawn on one texture) This would give the best results because then you can texture the object in memory - no issue.

Objects! Animations? EASY! Make a tool that can load all your directx objects, and modify all the vertices with an encrption routine. Then your program "loader" would load the mangled object like normal - then rearrage the vertices according to you "decrypt" routine and whella - the data is on the disk - people can see it is there - its unusable - and works with the way DarkGDK/DBPro works anyway - via loading from file/hdd/etc.

Login to post a reply

Server time is: 2024-09-29 03:21:46
Your offset time is: 2024-09-29 03:21:46