Denuvo Info - MKDEV Team - Simplified

Cette box est archivées elle ne peut plus être commentée.
Poster un commentaire
Speeder
Speeder
2 ans

NOTE :

a. La police normale correspond aux données recueillies par le poste de l'équipe MKDEV et sa dernière NFO.

b. La police en gras est la version simplifiée.


Denuvo fonctionne en remplaçant les instructions originales dans les fonctions du jeu, en les transformant en VM de sorte que les mêmes instructions sont exécutées à la fin mais sous une "forme différente". Et il rend une valeur unique sur "une" des instructions dans chaque fonction dépendante du "calcul", en cryptant essentiellement une valeur unique sur l'une des instructions originales de la fonction. Le calcul ne fournira la valeur correcte dans chaque VM que si les vérifications de l'environnement matériel/OS en cours d'exécution "correspondent" aux valeurs écrites dans les mots de passe du fichier .exe avant l'OEP. Ces mots de passe combinent des octets provenant de la licence et des vérifications du matériel et de l'environnement effectuées avant OEP.

Les trois variables (octets de licence, résultats des contrôles hw/env avant l'OEP, contrôles hw/env en cours d'exécution exécutés en cours d'exécution dans chaque VM à l'aide d'une fonction "protégée") doivent être correctes pour que les calculs donnent un résultat correct dans chaque VM. Ces valeurs pour le jeu Denuvo original peuvent être piratées en les codant en dur dans la VM, ce qui permet d'exécuter les instructions originales quels que soient les résultats des vérifications matérielles/environnementales. C'est exactement ce que fait notre méthode au lieu de corriger les contrôles HW/Env.

1. Le mécanisme central de Denuvo : Denuvo fonctionne en modifiant les instructions originales des fonctions d'un jeu vidéo. Ces instructions sont modifiées de telle sorte qu'elles sont toujours exécutées, mais sous une "forme différente". Ce processus est réalisé au sein d'une machine virtuelle (VM).

2. Chiffrement d'une seule valeur : Denuvo fait dépendre de certains calculs une valeur spécifique dans l'une des instructions de chaque fonction. Cela permet de crypter une partie de l'instruction originale.

3. Contrôles du matériel et du système d'exploitation en cours d'exécution : Pour s'assurer que le jeu se déroule correctement, Denuvo vérifie si les valeurs de la VM correspondent à certains critères définis par l'environnement matériel et le système d'exploitation. Ces contrôles sont effectués avant que le jeu n'atteigne son point d'entrée original (OEP).

4. Combinaison des valeurs : Denuvo combine les valeurs provenant de trois sources : les octets de licence, les vérifications matérielles/environnementales effectuées avant l'OEP, et les vérifications matérielles/environnementales exécutées dans chaque VM lors de l'exécution d'une fonction "protégée".

5. Nécessité de valeurs correctes : Pour que Denuvo fonctionne correctement, les trois variables mentionnées ci-dessus (octets de licence, contrôles matériels/environnementaux avant la PEO et contrôles d'exécution) doivent être exactes. Les calculs ne donneront un résultat correct dans la VM que si ces valeurs correspondent aux critères attendus.

6. Craquage de Denuvo : Le paragraphe suggère que Denuvo peut être contourné en codant en dur des valeurs dans la VM. Cela signifie que les instructions originales du jeu seront exécutées quels que soient les résultats des contrôles du matériel et de l'environnement. Cette méthode permet de contourner la nécessité de corriger directement les contrôles du matériel et de l'environnement.

En résumé, Denuvo vise à protéger les jeux contre le piratage en chiffrant et en obscurcissant des parties essentielles du code du jeu et en vérifiant l'intégrité du matériel et de l'environnement dans lesquels il s'exécute. Cependant, comme le suggère le paragraphe, des pirates déterminés ont trouvé des moyens de casser Denuvo en modifiant les valeurs de la VM pour forcer l'exécution des instructions originales du jeu.



Les constantes de Denuvo, donc dans la VM c'est maintenant mov edx, [résultat du calcul] littéralement tout le reste de cette fonction n'est pas touché dans la VM même avec une licence garbage. Si l'outil Denuvo choisit une instruction dans la fonction qui ne sera pas exécutée à cause des sauts conditionnels précédents, alors toute la VM devient inutile et vous pouvez l'ignorer, même avec une licence poubelle vous pouvez l'exécuter sans problème. Le fait de charger OEP avec une licence non valide et d'exécuter les VM rend évidents les résultats de calcul corrompus dans les VM.

1. Denuvo et les constantes : Denuvo semble s'appuyer sur des constantes dans le code du jeu. Dans le contexte du paragraphe, ces constantes jouent un rôle dans les calculs effectués par Denuvo pour valider l'authenticité du jeu.

2. Modification des instructions dans la VM : Au sein de la machine virtuelle (VM) utilisée par Denuvo, certaines instructions sont modifiées. Dans le cas présent, l'instruction "mov edx, [résultat du calcul]" est mentionnée. Cela signifie que Denuvo modifie le code de manière à déplacer la valeur du "résultat du calcul" dans le registre EDX.

3. Modification sélective : Il est important de noter que toutes les instructions de la fonction ne sont pas touchées ou modifiées dans la VM. Il semble que Denuvo modifie sélectivement des instructions spécifiques pour atteindre ses objectifs anti-piratage tout en gardant la majorité du code de la fonction inchangée.

Speeder
Speeder
2 ans

4. Sauts conditionnels : Les sauts conditionnels dans le code sont utilisés pour contrôler le flux d'exécution en fonction de certaines conditions. Le paragraphe suggère que si Denuvo choisit une instruction dans une fonction qui ne sera pas exécutée en raison de sauts conditionnels précédents, cela rend la VM entière inutile. En d'autres termes, si une instruction particulière n'est pas essentielle pour l'exécution du jeu, elle peut être ignorée même avec une licence corrompue ou invalide.

5. Détection des résultats de calcul corrompus : Le paragraphe laisse entendre que l'exécution du jeu avec une licence non valide et le passage par les VM peuvent faire apparaître des résultats de calcul corrompus au sein de la VM. C'est probablement l'une des façons dont les pirates et les crackers peuvent identifier et exploiter les faiblesses de la protection de Denuvo.

En résumé, ce paragraphe donne un aperçu des subtilités du mécanisme de protection de Denuvo, en soulignant l'importance des constantes, la modification sélective des instructions au sein des VM et le rôle des sauts conditionnels dans la sécurité du système. Il laisse également entrevoir des vulnérabilités potentielles dans la protection de Denuvo si certaines instructions peuvent être ignorées sans affecter l'exécution du jeu.



Le patch Thread Safe qui indique une entrée spécifique de la VM, nécessaire pour patcher à l'intérieur de la VM. Comme vous pouvez le voir, notre patch fournit la valeur 11BC correcte. R12 a le résultat du calcul et est corrompu avec une licence invalide. "mov edx,11BC", c'est la version obscurcie dans la VM, et R12 dépend du calcul. 11BC (R12) est maintenant dans la pile VM (rbx+D0) et deviendra finalement EDX, exécutant l'instruction originale.

1. Patch à sécurité thread : Le paragraphe mentionne un "patch thread-safe", c'est-à-dire une modification apportée à un programme ou à un système qui garantit qu'il peut être consulté et modifié en toute sécurité par plusieurs threads (unités d'exécution parallèles) sans provoquer de conflits ou d'erreurs.

2. Entrée spécifique de la VM : Le correctif semble cibler un point d'entrée particulier dans une machine virtuelle (VM). Ce point d'entrée est essentiel pour effectuer des changements à l'intérieur de la VM, probablement liés à la modification du comportement du programme ou au contournement des mesures de sécurité.

3. Valeur 11BC correcte : Le correctif est conçu pour fournir la valeur correcte de 11BC. Cette valeur est essentielle au fonctionnement du programme ou de la VM.

4. R12 et résultat du calcul : Le paragraphe mentionne que R12 contient le résultat du calcul mais qu'il est corrompu en raison d'une licence non valide. Cela suggère que le correctif vise à restaurer ou à fournir la valeur correcte de R12 dans la VM.

5. "mov edx,11BC" : Cette ligne semble représenter une version obscurcie d'une instruction. Elle indique que la valeur 11BC est déplacée dans le registre EDX. Il s'agit probablement d'une instruction critique pour le fonctionnement du programme.

6. Pile VM et calcul : Le paragraphe indique que 11BC (qui est maintenant dans R12) est dans la pile VM (rbx+D0) et deviendra finalement EDX. Cela implique que le correctif garantit que la valeur dans R12 (11BC) est correctement traitée et utilisée comme EDX pour exécuter l'instruction originale.

En résumé, ce paragraphe traite d'une technique de correction qui consiste à restaurer ou à fournir une valeur spécifique (11BC) dans une machine virtuelle (VM) afin de garantir l'exécution correcte d'une instruction critique ("mov edx,11BC"). Cette opération est réalisée de manière sûre pour les threads et est probablement liée au contournement des mesures de sécurité ou à la modification du comportement du programme.



C'est littéralement tout ce que Denuvo fait, le reste est un spectacle de clowns à l'intérieur de la VM. Il suffit de faire attention lorsque la valeur qui est cryptée est pour les instructions "cmp" ou "imul", "shl" etc.

1. Fonctionnalité essentielle : Le paragraphe affirme que l'essence première de la technologie anti-piratage de Denuvo est résumée dans la phrase "C'est littéralement tout ce que fait Denuvo". Cela suggère que l'objectif fondamental ou l'efficacité de Denuvo tourne autour d'une opération spécifique.

2. Un spectacle de clown à l'intérieur de VM : L'expression "rest is a clown show inside VM" est une façon familière et quelque peu dédaigneuse de décrire d'autres aspects du fonctionnement de Denuvo au sein de la machine virtuelle (VM). Elle implique que ces éléments ou mesures supplémentaires peuvent ne pas être aussi cruciaux ou efficaces que la fonctionnalité de base mentionnée plus haut.

3. Attention aux valeurs cryptées : Le paragraphe se termine par un avertissement invitant à la prudence lorsque les valeurs chiffrées sont liées à certaines instructions, telles que "cmp" (comparaison), "imul" (multiplication d'entiers), "shl" (décalage vers la gauche), etc. Cela suggère que le cryptage impliquant ces instructions spécifiques peut nécessiter une attention ou des considérations particulières.

En résumé, ce paragraphe fournit une perspective concise sur la fonctionnalité de Denuvo, en soulignant l'importance d'un aspect particulier tout en laissant entendre que d'autres éléments au sein de la VM peuvent être moins critiques. Il recommande également la prudence lorsqu'il s'agit de valeurs cryptées liées à certains types d'instructions.


Parfois, le "9E0" dans l'instruction originale "cmp eax, dword ptr ds :[rcx+0x9E0]" peut être crypté, ou le "1" dans cmp eax, 1, etc. Le "18" dans mov rax, [rcx+18], etc.

Speeder
Speeder
2 ans

1. Exemple d'instruction originale : Le paragraphe fournit un exemple d'instruction originale : "cmp eax, dword ptr ds :[rcx+0x9E0]". Cette instruction consiste probablement à comparer la valeur du registre EAX à une valeur stockée à une adresse mémoire spécifique.

2. Chiffrement des constantes : Le paragraphe mentionne que les constantes contenues dans ces instructions peuvent parfois être cryptées. Dans l'exemple, "9E0" est mis en évidence comme une valeur pouvant être cryptée. Cela signifie que la valeur à comparer (dans ce cas, "9E0") peut être obscurcie ou cachée pour rendre plus difficile la compréhension ou la modification de l'instruction par quelqu'un.

3. Chiffrement d'autres valeurs : Le paragraphe suggère également que des valeurs telles que "1" dans "cmp eax, 1" ou "18" dans "mov rax, [rcx+18]" peuvent également être cryptées. Cela signifie que non seulement les adresses mémoire, mais aussi les valeurs immédiates utilisées dans les instructions peuvent être soumises au chiffrement ou à l'obscurcissement.

En résumé, ce paragraphe explique comment des valeurs spécifiques dans les instructions d'un programme, y compris les constantes et les valeurs immédiates, peuvent être cryptées ou cachées pour renforcer la sécurité ou rendre plus difficile la compréhension et la modification du code par des ingénieurs inverses ou des pirates informatiques.


TLDR : Le premier paragraphe explique le fonctionnement technique de Denuvo, une technologie anti-piratage utilisée dans les jeux vidéo. Il indique comment Denuvo modifie les instructions du jeu au sein d'une machine virtuelle (VM) afin de garantir l'exécution correcte du code. Denuvo crypte des valeurs spécifiques dans les fonctions de jeu, et ces valeurs dépendent de diverses vérifications liées au matériel, à l'environnement du système d'exploitation et aux licences. Le paragraphe suggère également que les pirates peuvent contourner la protection de Denuvo en manipulant les valeurs au sein de la VM.

Le deuxième paragraphe traite d'un correctif à sécurité thread conçu pour cibler un point d'entrée spécifique au sein de la VM. Il vise à fournir la valeur correcte (11BC) pour une instruction essentielle au fonctionnement du programme. Le paragraphe mentionne que R12 contient le résultat du calcul et qu'il est corrompu en raison d'une licence invalide. Le correctif garantit que la valeur contenue dans R12 est correctement traitée au sein de la VM.

Le troisième paragraphe fournit un bref résumé de la fonctionnalité principale de Denuvo, suggérant que son efficacité tourne autour d'une opération spécifique. Il rejette également les autres éléments de la VM en les qualifiant de "spectacle de clowns". Le paragraphe se termine par une mise en garde concernant le cryptage des valeurs liées à des instructions spécifiques, telles que "cmp", "imul" et "shl".

Le quatrième paragraphe explique comment certaines constantes et valeurs contenues dans les instructions d'un programme peuvent être cryptées ou modifiées. Il donne des exemples d'instructions telles que "cmp eax, dword ptr ds :[rcx+0x9E0]" et mentionne que des valeurs telles que "9E0", "1" et "18" peuvent être cryptées ou obscurcies.

En substance, ces paragraphes fournissent collectivement des informations sur le mécanisme anti-piratage de Denuvo, les techniques de correctifs à sécurité thread, la fonctionnalité principale de Denuvo et le cryptage de valeurs dans les instructions de programme pour améliorer la sécurité ou entraver l'ingénierie inverse.

Walkshadow

Merci pour les explications, très intéressantes !

NSFW
Webcams adultes gratuites

[NSFW]Webcams adultes gratuites
go.xlirdr.com?campai - En direct

Choualbox