Sonic Mania

Sonic Mania

View Stats:
Sonic Mania > General Discussions > Topic Details
Kaldaien Sep 22, 2017 @ 9:12pm
Denuvo Facts - [Updated 9/25/17]
    This is in response to another thread on the forums that has shifted its focus away from explaining stuff and into labeling the entire community as one thing or another and using it as a forum to express dislike rather than inform.
      That thread is appropriately labeled "argument," because that is all it is going to produce.

Since my interest in Denuvo has nothing to do with "blah blah blah, you must hate this because" or "blah blah blah, you must praise this because", I will not be engaging in those sorts of things; yet, I will still be called a shill repeatedly (dandy fine community we have here).

    You will only find information pertaining to how Denuvo's products work and the impact their anti-tamper solution could have on you as a result of how it works; I will not amend this with any opinion-derived information.


Denuvo anti-tamper (shortened to DAT from here on) is a system that currently enjoys wide use as a system to strengthen DRM schemes such as Steamworks and Origin. DAT has applications in a wide variety of fields, and anti-tamper is the correct term for this product.


DAT is not DRM, nor is it a "second layer" of DRM

  • DAT does not satisfy any condition necessary to call itself DRM; not license validity; not revoking rights; not restricting anything.

    • The closest DAT gets to DRM is a quota on the number of times per-24-hour-period that a Denuvo encryption key can be renewed; 5.

    • This is almost certainly to prevent pirates from repeatedly re-activating while testing stuff, but may inconvenience the following people:

      1. Hardware reviewers benchmarking DAT protected games (will quickly exhaust 5 hardware changes)
      2. People using a cloud gaming service usually get a different host every time they play their game and will find the ceiling a bit low

    • DRM's purpose is conditional access and DAT's purpose (when applied to a DRM system) is to obfuscate and run a DRM scheme's code in a "secure" environment unique to one computer

    • Obfuscation and virtualization appeal to many other markets as well, and the underlying VM technology Denuvo uses is said to be derived from VM Protect.

      • It is not accurate to pigeon-hole DAT into the role of DRM or to label it a "second layer" of DRM when the purpose of the software goes much, much further.

      • Call it anti-tamper and do not for a second think that correctly labeling DAT is an attempt to shed any stigma that the acronym DRM may have attached to it; it is merely using the correct term for a product that may one day affect you outside of DRM.

    † Denuvo has other products that allow you to redeem codes in physical boxed copies of games on Steam; they qualify as DRM, but this discussion has nothing to do with those products.



DAT uses your Hardware Fingerprint to run a game's DRM code uniquely on your computer

  • This is a combination of properties visible to the software about your installed hardware, run through a mathematical equation and condensed into a short sequence of numbers

    • A hash, in other words.

  • After fingerprinting has been done, the process is irreversible, meaning there is no way to reconstruct the original information about your hardware.
        If your hardware changes, so does your fingerprint and this requires a call home to Denuvo to get a new encryption key for your computer.


DAT has a Second Reason for Calling Home -- built-in encryption key expiration

  • From what we know about this, the amount of time before a key expires seems to be a decision made by the developer who licenses Denuvo's technology

  • Some believe that Sonic Mania uniquely has keys that do not expire with time, and that re-activation of this game will only occur when your hardware fingerprint does

    • Only time will tell if this is the case or if Sonic Mania has simply chosen the world's longest expiration period? :)


DAT has never produced measurable performance differences for me

  • No matter how much performance data I collect using my Special K framework (originally designed to identify and fix Arkham Knight's performance), I have never found the needle in the haystack.

  • I am keenly interested in observing and repeatedly measuring the impact DAT has on a typical game, given my obsessive interest in fixing game performance.

    • To date I have had no success.

  • I have pre- and post-DAT removal executables for my favorite test-case (RiME)
    • The only performance impact that removing DAT had was a slight improvement to load times

  • It has been my own experience that DAT Virtual Machine usage peaks during non-interactive segments of a game, but we know that it is up to the game developer to decide when and where to start running DRM code through DAT; some developers use DAT better than others do.

  • Thanks to the RiME controversy, Denuvo revealed that they benchmark games against the game's published minimum requirements and will ship the game back and request the licensee make changes if the design the developer used is causing problems.

    • Performance in games running on systems in-spec are within whatever standards Denuvo has established as having "minimal impact."

    • Systems severely under-spec'd MAY experience performance problems, I sadly do not have 15 year old hardware to test with and cannot comment.


Denuvo is Very Tight-lipped unless pushed into making a statement
      We know not if a contingency plan exists for the service reaching end-of-life
  • We have no established precedent for this ever happening, even the maligned Games for Windows Live actually still works provided you update the client manually.

  • The worst-case scenario is a particularly horrific one, and will require end-users to seek out cracked versions of the game.

  • Nobody wants this to be the go-to solution, least of all me (Cracked Steam games are less stable)

    • I do not want the hassle of officially supporting one of my mods on a crash-prone fake Steam client / API implementation used in cracked games

  • There is a precedent for software preservation using cracked executables, however.

    • Many of the DOS games sold on GOG.com are cracked rather than re-compiled (good luck finding the source code for games that old) and then tested for compatibility with DOS Box.

    • Our doomsday scenario may see DAT-protected games following suit.
      • There is nothing unusual about this, it just sucks.


Sonic Mania's Always-online problem had NOTHING to do with DAT

  1. I had a patch for Sonic Mania built-in to Special K within an hour of learning of the problem

  2. Other individuals had hex-edited executables that bypassed the online check shortly after

  3. SEGA had a patch to fix the problem they invented within 24-hours.

      Bullet-points 1 and 2 would not have been possible if this had been a DAT-related problem.
      The same bullet-points also illustrate beyond a shadow of a doubt that all forms of modding (for any part of the game aside from DRM) continue to work when DAT is present.


DAT is the de-facto standard for securing DRM schemes right now
  • Complaining that one publisher in particular uses it is rather unproductive when there is absolutely nothing unusual about a publisher choosing to use DAT.

  • Everyone uses DAT at present, and the only way you can effect change would be to stop singling out individual publishers and make it known to Denuvo that you want increased transparency.

    • Denuvo is known to sidle out of the woodwork and make brief statements when things start to get heated (i.e. RiME).

      • Push Denuvo into that wall; demand they tell of any contingency plans for end-of-life.

      • Do not expect bugging the hell out of a single publisher to produce useful information. The publisher is actually the least informed party when it comes to how DAT works.


Not everyone who feels the need to correct inaccurate information on DAT is "pro-Denuvo"

    I am staunchly lasiez-faire about the whole thing; DAT can come or go, it does not affect me and I do not care.

There are very few people who are actually "pro-Denuvo," and likewise, "anti-Denuvo" should be a label reserved only for the extreme fringes who do not listen when it is explained where they have incorrectly stated something and would rather give the ever-so-useful retort: "shill!"

Expressing dislike for Denuvo does not make you anti-Denuvo; being that nuisance discussed above, makes you anti-Denuvo. Everyone else is basically a different shade of the same color and we don't need to label each other.



Updates (9/25/2017)
I overlooked the following things originally:

  1. Game patches require re-activation

    • The steam client downloads game updates in the background; there is a chance you will be delivered game patches while online and then attempt to play the game offline

        This will create a situation where DAT demands you go online and activate your game.

    • You can disable automatic updates by editing the game's application manifest.
        "AutoUpdateBehavior" "1"

  2. Activation keys for some users are becoming corrupt

    • These users may not be able to start their game until they clear the keys

    • DAT keys are located in <Steam Install Directory>\userdata\<your steam account id>\584400\, they are 8-10 digit files with no file extension, ~2 KiB in size.

        Delete them and re-run the game to re-activate if you believe you are affected.
Last edited by Kaldaien; Sep 25, 2017 @ 8:27pm
< >
Showing 1-15 of 502 comments
vendetta608 Sep 22, 2017 @ 9:15pm 
Love how you can call other people out for their opinions, but you throw a hissy fit whenever yours are brought into question. Hypocrite.
Kaldaien Sep 22, 2017 @ 9:34pm 
Originally posted by vendetta608:
Love how you can call other people out for their opinions, but you throw a hissy fit whenever yours are brought into question. Hypocrite.
This is a hissy fit?

This is opinion?

I'm lost. Completely lost.


Everything here is on-point, as are all of my posts, only discussing objectively information I have experience with. If you want opinion, go to that other thread, the one that insists everyone falls into one of two labels.
Last edited by Kaldaien; Sep 22, 2017 @ 9:35pm
vendetta608 Sep 22, 2017 @ 9:51pm 
Originally posted by Kaldaien:
Originally posted by vendetta608:
Love how you can call other people out for their opinions, but you throw a hissy fit whenever yours are brought into question. Hypocrite.
This is a hissy fit?

This is opinion?

I'm lost. Completely lost.


Everything here is on-point, as are all of my posts, only discussing objectively information I have experience with. If you want opinion, go to that other thread, the one that insists everyone falls into one of two labels.

Don't need another thread. You might have not labelled this thread as "arguement" like the other, but you're gonna end up producing the same whether you like it or not. Stop.... just stop. It's old news, nobody cares. Cretens like you with too much time on their hands are the only ones who care. You're killing the possibility of a positive community by doing this, and I guaruntee I'm not the only one who's tired of you lowlives posting this garbage.
Last edited by vendetta608; Sep 22, 2017 @ 9:54pm
TheCoddFish Sep 22, 2017 @ 9:54pm 
Here we go again.

Listen- As much as I HATE denuvo, I have to accept the truth when it is presented. The truth is that Denuvo, indeed, is not being transparent at all. Whenever this is due to the buy-out or due to other reasons (mafia) is unknown.

Imagine if they straight up admitted that Denuvo is a virus, even though current evidence just points to it being an annoyance for gamers: The game industry would go BONKERS.
That's actually not a good thing if that were to happen, but sure, they aren't being transparent enough. They aren't admitting potential problems the anti-tamper may present in the present time or in the future.
Last edited by TheCoddFish; Sep 22, 2017 @ 9:58pm
Kaldaien Sep 22, 2017 @ 9:57pm 
Originally posted by vendetta608:
Originally posted by Kaldaien:
This is a hissy fit?

This is opinion?

I'm lost. Completely lost.


Everything here is on-point, as are all of my posts, only discussing objectively information I have experience with. If you want opinion, go to that other thread, the one that insists everyone falls into one of two labels.

Don't need another thread. You might have not labelled this thread as "arguement" like the other, but you're gonna end up producing the same whether you like it or not. Stop.... just stop. It's old news, nobody cares. Cretens like you with too much time on their hands are the only ones who care. You're killing the possibility of a positive community doing this, and I guaruntee I'm not the only one who's tired of you lowlives posting this garbage.

In what fresh hell am I hampering the possibility of a positive community?

Do you not realize how extensively I work to fix problems in games for the community? For crying out loud, I had a fix for the always-on problem for this game on day one.
vendetta608 Sep 22, 2017 @ 9:59pm 
Originally posted by Kaldaien:
Originally posted by vendetta608:

Don't need another thread. You might have not labelled this thread as "arguement" like the other, but you're gonna end up producing the same whether you like it or not. Stop.... just stop. It's old news, nobody cares. Cretens like you with too much time on their hands are the only ones who care. You're killing the possibility of a positive community doing this, and I guaruntee I'm not the only one who's tired of you lowlives posting this garbage.

In what fresh hell am I hampering the possibility of a positive community?

Do you not realize how extensively I work to fix problems in games for the community? For crying out loud, I had a fix for the always-on problem for this game on day one.

That's well & good, but you know damn well the cancerous nature of the Sonic community. I'm not trying to be a♥♥♥♥♥♥to you, but c'mon man. You're basically♥♥♥♥♥♥♥♥♥on an already♥♥♥♥♥♥♥♥off ant pile. Enough is enough. Everyone is well-aware of all of this by now. Don't give the trolls more ammunition. I'm sorry for calling you a creten & lowlife, alright? That was just the frustration talking.
Last edited by vendetta608; Sep 22, 2017 @ 10:07pm
TheCoddFish Sep 22, 2017 @ 10:00pm 
Originally posted by vendetta608:
Originally posted by Kaldaien:

In what fresh hell am I hampering the possibility of a positive community?

Do you not realize how extensively I work to fix problems in games for the community? For crying out loud, I had a fix for the always-on problem for this game on day one.

That's well & good, but you know damn well the cancerous nature of the Sonic community. I'm not trying to be a♥♥♥♥♥♥to you, but c'mon man. You're basically♥♥♥♥♥♥♥♥♥on an already♥♥♥♥♥♥♥♥off ant pile. Enough is enough. Everyone is well-aware of all of this by now. Don't give the trolls more ammunition.
Okay, that is soooooooooo true.

A thread like this should be on ANOTHER game with Suprise Butt-Denuvo instead.

Rabid Fanbases:
1. Sonic
2. FNAF
3. Undertale
4. MLP
5. ...something... idk
Last edited by TheCoddFish; Sep 22, 2017 @ 10:02pm
Kaldaien Sep 22, 2017 @ 10:06pm 
Originally posted by __:
Regarding the whole performance thing, have you attempted to profile Sonic Mania to see what it is doing between frames that burns all those idle cycles? It's obviosly using busy idling, as it will burn up whatever portion of unused cycles for a particular core, whether my CPU is running at its max of 4.5 GHz or at its min of 800 MHz.

86.2% of CPU time on my system is spent calling PeekMessageA in a loop :)

Rather than using GetMessage (...) which would use a notifiable sleep-wait system and only return when a message is in the pump ready for porcessing, they decided to write one big old busy loop that calls PeekMessage repeatedly.

I don't know what benefit they think this gets them, but that's a great way to kill batteries.


To that end, I can probably lower CPU overhead significantly if I change their PeekMessage to GetMessage or throttle calls to PeekMessage :) I've not heard of any complaints about high CPU load negatively affecting anyone though.
Last edited by Kaldaien; Sep 22, 2017 @ 10:08pm
Kaldaien Sep 22, 2017 @ 10:19pm 
Yeah, replacing the PeekMessage logic with something that waits until at least one message is in the pump --- CPU usage went from 43% on average to 8% on my i7 6820HK :)

Those wasted cycles were just spinning a loop that was checking the message pump. I've noticed no change in input latency, and the kernel is doing its job waking the calling thread on time.
Xander Sep 22, 2017 @ 10:22pm 
Everywhere has this listed as DRM, from wikis to articals. I think it is clear how much fact is in this list.

Not that it is a wrong set of opinions, but thats all it is. One lacking links to sources at this time of posting, to back any of its claims aside to one link to gog.
Kaldaien Sep 22, 2017 @ 10:24pm 
Originally posted by Xander:
Everywhere has this listed as DRM, from wikis to articals. I think it is clear how much fact is in this list.

Not that it is a wrong set of opinions, but thats all it is. One lacking links to sources at this time of posting, to back any of its claims aside to one link to gog.
It's listed as DRM, because that's what you have to dumb things down to for the community to understand. It's unfortunate.
vendetta608 Sep 22, 2017 @ 10:26pm 
Originally posted by Xander:
Everywhere has this listed as DRM, from wikis to articals. I think it is clear how much fact is in this list.

Not that it is a wrong set of opinions, but thats all it is. One lacking links to sources at this time of posting, to back any of its claims aside to one link to gog.

Still a ridiculous overreaction. The people who have a problem with it really must not have much of a life, I'm not trying to be an a.s.s.hole about it, but it's just a fact. DRM would happen w/o you knowing in more cases than not, but Sonic Mania having a sudden delay to implement it was where it suddenly crossed the line; YOUR line? Anyone with a BRAIN IN THEIR HEAD knows this has been going on for decades. The status quo is what dictates it, complain, scream, kick & bite all you want... it's not gonna change. It's been set in stone for years. You're. Too. Late. I bought the game & I play it regularly on the PC. Denuvo's probably not gonna be going anywhere anytime soon, but even still, Denuvo dies in 5-10 years and I can't play Sonic Mania on the PC & I'm out 20 WHOLE DOLLARS. HOLY♥♥♥♥♥♥ C'mon people, give it a rest. You know you're being stupid. Knock it off. Join the real world. Your entitlement is pathetic & sickening.
Last edited by vendetta608; Sep 22, 2017 @ 10:47pm
Hybrid Havoc Sep 22, 2017 @ 10:41pm 
Okay. A general set of questions have crossed my mind: how do we know Denuvo wasn't put in before the delay? How do we know that the original release date getting changed (could be wrong here on this one, although from what I heard we were supposed to get it in the spring to begin with) wasn't when Denuvo was added? Maybe it was there to begin with (without the Developers knowledge of it) and they found that it needed more work to fix issues created during the original production? Then as the release date of August 15 rolled around, Sega decided to do some last minute work? Albeit the fact that the game was leaked before all of this, wouldn't it make sense that this might have been the scenario?

One last question I have is that if it was the Switch version that got leaked, how did the correlate with only the PC version needed the delay?
vendetta608 Sep 22, 2017 @ 10:50pm 
Originally posted by Hybrid Havoc:
Okay. A general set of questions have crossed my mind: how do we know Denuvo wasn't put in before the delay? How do we know that the original release date getting changed (could be wrong here on this one, although from what I heard we were supposed to get it in the spring to begin with) wasn't when Denuvo was added? Maybe it was there to begin with (without the Developers knowledge of it) and they found that it needed more work to fix issues created during the original production? Then as the release date of August 15 rolled around, Sega decided to do some last minute work? Albeit the fact that the game was leaked before all of this, wouldn't it make sense that this might have been the scenario?

One last question I have is that if it was the Switch version that got leaked, how did the correlate with only the PC version needed the delay?

Well you know how Nintendo keeps it simple. So their DRM probably is as well.
Last edited by vendetta608; Sep 22, 2017 @ 10:52pm
Hybrid Havoc Sep 22, 2017 @ 11:08pm 
Originally posted by vendetta608:
Originally posted by Hybrid Havoc:
Okay. A general set of questions have crossed my mind: how do we know Denuvo wasn't put in before the delay? How do we know that the original release date getting changed (could be wrong here on this one, although from what I heard we were supposed to get it in the spring to begin with) wasn't when Denuvo was added? Maybe it was there to begin with (without the Developers knowledge of it) and they found that it needed more work to fix issues created during the original production? Then as the release date of August 15 rolled around, Sega decided to do some last minute work? Albeit the fact that the game was leaked before all of this, wouldn't it make sense that this might have been the scenario?

One last question I have is that if it was the Switch version that got leaked, how did the correlate with only the PC version needed the delay?

Well you know how Nintendo keeps it simple. So their DRM probably is as well.
This is true. As with the other questions, it was just a few questions I had that came to mind.
< >
Showing 1-15 of 502 comments
Per page: 15 30 50

Sonic Mania > General Discussions > Topic Details
Date Posted: Sep 22, 2017 @ 9:12pm
Posts: 503