How to protect your assets from tools like "Asset Bundle Extractor"?

There is a tool Asset Bundle Extractor with which you can steal assets from other apk files. I used it on my published games and was able to extract all textures.
This tool is not able to extract textures from this game Neo Monsters.

I am not asking for a method to extract assets from this game but i am asking for the method this game is using to hide their assets so i can do the same with my game.

I understand highly motivated people can still steal assets using various ways but this tool can be used by anyone so i want to protect my data from it.

The topic of extracting / decompiling other games assets pops up every once in a while. If you search around and read peoples responses, it’s general concensus is always the same. You can get other game’s assets and code GIVEN to you but you still won’t create a good game, profitable game, game giving you unfair advantage, etc. The most you’ll get out of it is an education on how someone produced their assets. But you don’t even need to rip a game’s assets to find that information out.

It comes down to is your own ability and skill to CREATE YOUR OWN a game that other people enjoy. Assets don’t even really matter. There’s other factors as well, like inflating statistics, fake marketing ads, etc, to make an unenjoyable game LOOK like it’s being enjoyed by masses of people, but that’s getting way off topic haha

1 Like

I am, in general against trying to prevent this kind of things because it’s time-consuming and largely pointless.

Final Fantasy Brave Exvius (JP version) started encrypting their assets a while ago. I believe this was to prevent people from ripping the assets early before an update and then posting them online, ruining any surprises.

It failed pretty badly. There are fewer people able to rip the assets now, but the 1 guy that’s really good at it posts all of them online in the subreddit every time now. It’s like the Streissand Effect.

If FFBE can’t prevent it, then I really don’t think an Indie can.

But back to the question… If you want to prevent asset ripping, you’ll probably have to come up with your own asset handling functions. Something that will take in raw data and turn it into textures at runtime. This will probably essentially break the Unity Editor, making it rally hard to use it to create your game, though I suppose it might be possible to make scripts to fix that, too. It’d be a ton of work, I think, and slow you down in most aspects of game creation forever.

3 Likes

I think a better idea would be to allow data extractions so people can mod the heck out of your game. Successful mod scene can bring more cash.

2 Likes

To paraphrase some baseball movie I never saw:
“If you build [better encryption], they will overcome [it and upload it anyway].”

Ultimately you have to send instructions to the CPU and models and textures to the graphics card. That means there will always be a way to rip the data.

DRM traditionally hurts legitimate users more then it slows down hackers.

I’m not advocating leaving the door open because locks can be picked. But there is no point spending a million dollars on the lock if an intruder can break a window.

6 Likes

Yeah might make as much or even more sense to include a .zip all of your asset files along with a text document listing all of them and encouraging people to use them.

The thing is it’s basically like “laws”… they do nothing to stop the true criminals and only serve as a nuisance for the rest of the people to have to learn all of them.

Ding ding ding.

Making it easier to get into Unity assets after-the-fact would make it easier to fix screw-ups in games I own. Sometimes they can be circumvented with regedit but that isn’t always the case.

Aside from what others already said, extracting asset from others game is a fun way to find out how some cool effect was made. Example https://simonschreibt.de/gat/world-of-warcraft-balloon/

2 Likes

I am not sure why you would need to encrypt the entire asset bundle.

Maybe you could encrypt a few kilobytes of the bundle… maybe beginning, middle and end… enough to break the tool.

For that matter, you probably wouldn’t even need encryption if you moved some blocks of data around. Maybe take 2k bytes off the header and resurrect the correct byte array later.

Then again, maybe you can replace 1024 bytes somewhere in there with zeroes and then replace the zero’s with the correct values at runtime.

I guess the point is that there are about agazillion things you could do that should protect* the data and be efficient as well.

Thanks!
Brian

2 Likes

Which would then be extracted at runtime. Like we frequently bring up in threads of this nature, at best DRM only slows down the rate at which people extract resources. At worst it brings with it consequences that hurt legitimate users who simply want to play your game.

2 Likes

Well, obviously, the point isn’t to have full-proof security.

I thought the point was to discourage the use of the “Asset Bundle Extractor”.

There are obviously a lot of different ways to think about this.

I lock my car when I leave it.

Not because I think that no one can get into it.

But to dissuade the 99% of people who just move onto the unlocked one.

Cheers!
Brian

8 Likes

What’s stopping the author from modifying his tool to support runtime extraction? Or the person who wants to extract the resources from simply grabbing one of the existing tools that handles that specific style of extraction? You might discourage the people who were merely curious but at the same time those people were never truly a threat to begin with. The people who were a threat will not be deterred at all.

If you had a custom radio installed you would remove the front panel and carry it with you too. Because a lock by itself is simply not sufficient to deter someone who wants to steal something of actual value. People who open the door on the off chance you left something valuable in there aren’t really the people you need to worry about.

People you need to worry about know how to get into your car without a key, start it without a key, and drive off.

1 Like

I am not on a holy crusade to change anyone’s mind about anything.

You do what you want, I could really care less.

My intention was to answer the original OP’s question

I understand highly motivated people can still steal assets using various ways but this tool can be used by anyone so i want to protect my data from it.

What is your intention?

Thanks!
Brian

2 Likes

My intention is to let them know they’re wasting their time because (a) people who just want to show their friend they could extract an asset for giggles aren’t a threat, and (b) people who wanted to steal an asset to resell it will find a way to do so regardless of the technique employed.

2 Likes

A funny thought occurred to me. Are you positive there are textures in the included APK? Because while it’s obvious that you can download an asset bundle at runtime (it’s one of the primary features), it may not be as obvious that you can clear the asset bundle from the cache whenever you want.

https://docs.unity3d.com/ScriptReference/Caching.CleanCache.html

Seriously doubt they would approach it in this manner though. It’s more likely they’re using a method similar to uCrypt.

https://forum.unity3d.com/threads/ucrypt-encrypt-and-decrypt-your-assets-files-etc-from-local-or-web-storage.145705/

Just keep in mind that if you do decide to encrypt your assets you may want to obfuscate the decryption code too.

https://www.assetstore.unity3d.com/en/#!/content/48919

By the way at best we can only guess at the method they are using. If you want the exact method you’ll need to ask them.

no, encryption sucks, all computer information should be free and open to everyone

the computer was made to decrypt (the nazi enigma machine), it is the spirit and fundamental nature of computing to decrypt and make information free and infinite to all people

it sucks unity sorta obfuscates your assets and stuff and has no built in easy way to bypass it :confused:
it sucks i have to take extra time to expose my game (to modding, like, an extra 4 months of dev time)
hmm i wonder if i can bundle that tool with my game? (regardless, i desired to overcome it of my own ability)
(modding is the best!)
uh… i guess i could distro my source aswell?? … is that a bad idea? lol … i actually dont really even care…

seriously, the soul of the computer is to make information infinite and free to all, by desiring to use the computer to make creations, you must bow to the soul of the innovation of the computer or do not get into it at all

…the laws were probably made by old people that know jack crap about computers, they only knew about finite material trades business laws… and/or scammers that prey on the weak (as is the nature of capitalism)

1 Like

This looks good, but there is no contact information for the author, either on that store page, or their website.
Unity needs to clamp down on this for the asset store, and require a compulsory contact email address or contact form.

LOL do you have a link to a current type of tool like this that actually works??
i just googled and tried like 4 different tools like this and none of them work on my compiled game! (at all!)

really sad … i want a tool like this…

guess none of em work with the unity 5.5 beta (thats the version my current project is on)

People should find out for themselves if it is a waste of their time and how much time is acceptable to invest in a basic secure of their asset bundle data.

And its not always a game, that comes out of unity. sometimes these are realtime visualizations, where not everyone should be able to steal that data THAT EASY.