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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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)
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.