How Can I encrypt my game???

All the game content (BP, Art Resource) is package as .PAK file, it’s very very easy to unpack these resource by unrealPak.exe, So if I wanna release g game such as on win, how could I prevent my game content being access by others? Does Epic provide some kind of tools or I’ve to develop a file encryption system by myself?

Probably a waste of time. As long as the decryption key and code is coming with the game someone can decrypt the files anyways. If Epic would provide such tools to everyone then it would be already a flawed process as people could examine them to their advantage.

What exactly do you want to protect? Textures? If you see anyone using your textures, you can talk to this person.
But yeah, i would also like to protect my resources better.

Not to mention that they can just read gpu memory and rip everything…

Players pirating? Nothing you can do will prevent this from happening. If people want to pirate, they will.
Ripping assets? There’s tools that read GPU memory, so even if the game was encrypted it wouldn’t help.
Prevent cheating online? You’ll need a better anti cheating method than that.
Prevent modding? Players like modding.

1 Like

And how we can protect source code of our game? We all don’t want cheaters in our games especially multiplayers

Honestly the real problem is DX this is where games are getting exploited. Of course there are other ways but the main aimbot/wallhack/speedhack is mostly DX. There are also some flaws in opengl but we are on to Vulcan now :smiley:

You could encrypt your important packets across the network. You really don’t want to be encrypting an entire game and then have the user decrypt it. There are all kinds of ways to encrypt your data across the net. SSL tunnels, hashing and dehashing and there is even a plugin in the marketplace that encrypts game data that I have been looking at. :smiley:

For example, Blueprint(which includes a lot gameplay), Art Resource such as Model,Anim or even CG etc. I mean, I’ve seen large scale game such as Dark Soul 3 etc which I buy on steam and I’ve seen their game content fold in \steamapps\ and they use their file is encrypted as some special suffix file which won’t be opened easily. And yes, recently I’ve also submit our game to steam but just the files Unreal4 packs for us which I really think it’s too easy to be opened by tools such as unrealPack.exe etx. So…

Anybody can extract models from the graphics card… Why bother…

1 Like

Don’t distribute your “Source” folder. Done.

1 Like

I really wouldn’t bother, if someone wants to rip your assets out, they’ll rip the assets out, one way or another.

I doubt the Dark Souls .PAK file you’re looking at is encrypted at all, just in a proprietary format, wouldn’t take much work to sift through the raw data to single out assets.

1 Like

Since you have got the full source code of the engine, you can actually implmenet/modify the packer routines to apply some custom encryption for the contents. But, what is encryption, really? Generally speaking, encryption is always end up a challenge for crackers. More you encrypt the content, the better the challenge will be to decrypt it. It’s almost like you are openly bringing the attention of others to tinkering with your application. :slight_smile:

Some people really enjoy abusing the software, and i remember listening a dude who recognized that the penetration to systems and softwares is some sort of sexual act/attraction for people to do so, which you can see this really have the strength to motivate the cracker/hackers to do the act. You should not prevent them for doing so, because apart from the fact that they have purchased your content for personal use (even if it was for free to download from steam, etc), you can’t really tell them what to do with what they got from you. It’s like everytime you distribute some of your intellectual property, there is a 50% chance it will be abused a way or an another. This is what they can do, and “it have a slight probability” that they will do so.

What they can’t really do is redistributing the original/ripped content, and this is the point where law will be on your side. Since you are releasing your game produced by the Unreal Engine, Epic have attached a nice EULA which should prevent others (users) to legitimize the ripping and cracking acts of the software (also protecting the packaged content as well), and you can take legal acts against the perpetrator(s) in the event of an unauthorized distribution of your proprietary content whether it was distributed in an original form or unpacked/cracked/etc, since these are the facts you can actually present to the courts. You should talk to a lawyer who can explain this in details, but in general i’d suggest you to take comfort in the fact that your released content is protected by numerous laws and agreements.

And, it also is worth to mention that while the software can (and will be) abused sometimes, it not neccessarly will harm you and your business, not even a long shot, so don’t worry.

1 Like

I find it interesting that everyone simply said a variation on “Don’t Bother” but no one actually answered the question directly. Is it possible to encrypt your files in UE4? Even if top level hackers can decrypt the files, encryption would still prevent the majority of users from accessing the files. Everyone’s answer was so nihilistic… if there’s no point to security then why lock your door at night? Thieves could just smash a window anyway.

For me I’m interested in encryption to prevent people from extracting the files that contain the unique key to my online leaderboards. I just found out it takes less than 2 minutes of effort to add whatever you want to them.

Yes it’s possible, UnrealPak can encrypt the pak files. There are going to be some changes in 4.19 to make this easier to use.
For your analogy with locking the door, it’s more like locking it and then placing a spare key under the doormat.

That’s not going to be secure either way. Someone could just intercept the request and get the key.

2 Likes