Yakuza 0

Yakuza 0

View Stats:
DOS32 Aug 1, 2018 @ 3:09pm
.Exe is nearly 300mb!
Denuvo is absolutely bloated
< >
Showing 16-26 of 26 comments
Kaldaien Aug 2, 2018 @ 1:35pm 
Originally posted by MisterTruth:
Can't believe all of you who are at best indifferent to having a rather large file for Denuvo. Denuvo shouldn't even be used and I normally don't buy games with it, but I really wanted to support this game.
It's because we don't have to disassemble our games. The bloat of Denuvo is just an old tactic to make it take longer than necessary to disassemble for pirates.

It's no longer effective, but we get it anyway. It doesn't affect a damn thing though because if you were under the impression that WIndows loades the full executable image into memory when you start it, that's a flawed world view. It actually will only page that other stuff into memory if execution were to cross paths with an unloaded part of the exec. -- hint, it doesn't ever do that since the code bloat is dead code designed to confuse disassemblers.
Last edited by Kaldaien; Aug 2, 2018 @ 1:36pm
At@At Aug 2, 2018 @ 2:53pm 
Originally posted by iemander:
Again, Denuvo works similarly as file compressors/video encoders.

The smaller the size, the more CPU is needed to decrypt. If it's massive size, it's certainly not because of an obfuscator like Denuvo.

I haven't read anywhere that Denuvo makes exe files smaller. It's generally said to be the opposite to obfuscate things and add things in to help protect stuff. U make Denuvo sound like Winrar. Devs have to literally put Denuvo into their code and code it so that the game cannot run without it, which is why it's apparently a pain in the ass to remove (and even harder to crack). Either way Yakuza 0 is only 28.5 gb and it has the largest exe file by far of the games I have. The second largest I have is Final Fantasy 15 and that game is far larger.

EDIT: FINAL FANTASY 15 has Denuvo in it too XD. Haven't played too much of that though. I should really finish that.
Last edited by At@At; Aug 2, 2018 @ 2:58pm
iemander Aug 2, 2018 @ 3:25pm 
Originally posted by mynoduesP:
Originally posted by iemander:
Again, Denuvo works similarly as file compressors/video encoders.

The smaller the size, the more CPU is needed to decrypt. If it's massive size, it's certainly not because of an obfuscator like Denuvo.

I haven't read anywhere that Denuvo makes exe files smaller. It's generally said to be the opposite to obfuscate things and add things in to help protect stuff. U make Denuvo sound like Winrar. Devs have to literally put Denuvo into their code and code it so that the game cannot run without it, which is why it's apparently a pain in the ass to remove (and even harder to crack). Either way Yakuza 0 is only 28.5 gb and it has the largest exe file by far of the games I have. The second largest I have is Final Fantasy 15 and that game is far larger.

EDIT: FINAL FANTASY 15 has Denuvo in it too XD. Haven't played too much of that though. I should really finish that.
You don't "put Denuvo into your code". Denuvo simply changes your code to make it harder to read. And yeah Denuvo is exactly like Winrar lol, well said.

Just imagine taking a book and "encrypting" it by jumbling the letters and words through each other so only you know where is what. If someone then wants to read it, he would have to "decrypt" it by trying to figure out your logic to piece everything back together again.

Then think about winrar, that effectively takes your book and jumbles the letters and words in a way that actually REDUCES the total size of your book. Which is what compression does.

Then think about obfuscation, which jumbles everything through each other exactly like compression, but then with the goal to just make it impossible to read so nobody can just simply "crack the encryption".

As you can imagine, obfuscation usually reduces file size because it does the same thing as compression.

In both cases you've got a key btw, with which you can unlock the encryption. In a winrar file, that's the password you put on the file the moment you compress in a rar file. In case of Denuvo, the password is a combination of your hardware configuration I think.

What Kaldaien's suggesting btw is that the file size has been artificially increased to "fake code", so that hackers would just search in a pile of nothing searching for the needle lol. But IMO I think it's more realistic Japanese devs are just very conservative monolithic developers and pack loads of crap inside of the executable lol.
Last edited by iemander; Aug 2, 2018 @ 3:33pm
Crashed Aug 2, 2018 @ 3:50pm 
Originally posted by Kaldaien:
Originally posted by MisterTruth:
Can't believe all of you who are at best indifferent to having a rather large file for Denuvo. Denuvo shouldn't even be used and I normally don't buy games with it, but I really wanted to support this game.
It's because we don't have to disassemble our games. The bloat of Denuvo is just an old tactic to make it take longer than necessary to disassemble for pirates.

It's no longer effective, but we get it anyway. It doesn't affect a damn thing though because if you were under the impression that WIndows loades the full executable image into memory when you start it, that's a flawed world view. It actually will only page that other stuff into memory if execution were to cross paths with an unloaded part of the exec. -- hint, it doesn't ever do that since the code bloat is dead code designed to confuse disassemblers.
Case in point, SonicMania.exe is 120MB yet memory usage is 50-75MB on average for me in-game (once the assets have been loaded and all).
daxxy Aug 12, 2018 @ 5:33pm 
Originally posted by iemander:
Just imagine taking a book and "encrypting" it by jumbling the letters and words through each other so only you know where is what. If someone then wants to read it, he would have to "decrypt" it by trying to figure out your logic to piece everything back together again.

Then think about winrar, that effectively takes your book and jumbles the letters and words in a way that actually REDUCES the total size of your book. Which is what compression does.

Then think about obfuscation, which jumbles everything through each other exactly like compression, but then with the goal to just make it impossible to read so nobody can just simply "crack the encryption".

As you can imagine, obfuscation usually reduces file size because it does the same thing as compression.

In both cases you've got a key btw, with which you can unlock the encryption. In a winrar file, that's the password you put on the file the moment you compress in a rar file. In case of Denuvo, the password is a combination of your hardware configuration I think.

What Kaldaien's suggesting btw is that the file size has been artificially increased to "fake code", so that hackers would just search in a pile of nothing searching for the needle lol. But IMO I think it's more realistic Japanese devs are just very conservative monolithic developers and pack loads of crap inside of the executable lol.

This is the best Denuvopost I have ever read on this website.

No offense, but I don't even know where to begin listing what's wrong here.

If you're not willing to take people who have done actual reverse engineering work on Denuvo'd game executables (like Kaldaien, or me, for that matter) at their word, here's the Steam changelogs for the patches to DOOM and Agents of Mayhem that (among other changes) removed Denuvo (google for the dates if you must):

https://steamdb.info/app/379720/history/?changeid=2517002
https://steamdb.info/app/304530/history/?changeid=3659596

In both cases, content was added, but the executable depots shrunk by 83MB and 117MB (or 33% and 77% of their original sizes) respectively. How else would you explain this?
Aris Aug 12, 2018 @ 9:14pm 
Originally posted by iemander:
Originally posted by mynoduesP:
Denuvo is exactly like Winrar
I save this for posterity. There's a lot of quote worthy stuff in your post, but this one is definitively the best one.
At@At Aug 13, 2018 @ 6:45am 
Originally posted by Aris:
Originally posted by iemander:
I save this for posterity. There's a lot of quote worthy stuff in your post, but this one is definitively the best one.

Why does it say it's a quote from me XD....

Edit: now that's buggy. This is what I see:

Originally posted by mynoduesP:
Denuvo is exactly like Winrar
Last edited by At@At; Aug 13, 2018 @ 6:46am
Kaldaien Aug 13, 2018 @ 4:56pm 
The code bloat isn't actually there to confuse humans, by the way. A human trying to reverse engineer Denuvo is likeley to prefer actually running the code and then periodically checking the code coverage.

Where having 80+ MiB of code branches comes in really handy for Denuvo is confusing disassmblers. If you just brute force your way through this with all sorts of code that never actually executes, disassemblers will statically analyze all possible codepaths and take a very long time to finish.
Crashed Aug 13, 2018 @ 5:39pm 
Originally posted by Kaldaien:
The code bloat isn't actually there to confuse humans, by the way. A human trying to reverse engineer Denuvo is likeley to prefer actually running the code and then periodically checking the code coverage.

Where having 80+ MiB of code branches comes in really handy for Denuvo is confusing disassmblers. If you just brute force your way through this with all sorts of code that never actually executes, disassemblers will statically analyze all possible codepaths and take a very long time to finish.
So basically it is meant to make a program like IDA Pro crash and burn...
daxxy Aug 13, 2018 @ 6:05pm 
Not quite. It still works fine, just takes ages.

16 hours and counting on unmodified yakuza0.exe...
Kaldaien Aug 14, 2018 @ 2:21am 
Originally posted by Crashed:
Originally posted by Kaldaien:
The code bloat isn't actually there to confuse humans, by the way. A human trying to reverse engineer Denuvo is likeley to prefer actually running the code and then periodically checking the code coverage.

Where having 80+ MiB of code branches comes in really handy for Denuvo is confusing disassmblers. If you just brute force your way through this with all sorts of code that never actually executes, disassemblers will statically analyze all possible codepaths and take a very long time to finish.
So basically it is meant to make a program like IDA Pro crash and burn...
I've never had the patience to let it finish. But I do assume it finishes in polynomial time, maybe a couple of days, weeks or years depending on available resources :)
< >
Showing 16-26 of 26 comments
Per page: 1530 50

Date Posted: Aug 1, 2018 @ 3:09pm
Posts: 26