I wouldn't dismiss Denuvo. It is intended for a particular use case, which is games where a week or more delay between the release of a game and the appearance of a crack would make a meaningful difference. The payoff wouldn't be nearly the same for a lot of other software.
Both fortunately and unfortunately, this situation may change as AI models and workflows tailored around reverse engineering improve.