L'étude de la protection DENUVO.

Vous avez un problème pour cracker ou vous souhaitez parler de reversing en général...

Re: L'étude de la protection DENUVO.

Messagepar gp2k11968 » 18 Mars 2016, 13:46

dionosis Tant de mot pour rien dire !
En parlant de provocation c'est la seul chose que le monde ont fait ME PROVOQUER.
Aucune aide juste de la provocation et un grain d'encouragement !
gp2k11968
 
Messages: 8
Inscription: 07 Mars 2016, 00:30

Re: L'étude de la protection DENUVO.

Messagepar baboon » 18 Mars 2016, 14:50

On va se calmer un peu sinon je lock.
Si aucune information pertinente n'est apportée (une liste de jeu non cassé n'est pas pertinente.), je lock aussi.
Newbie mais ayant soif d'apprendre et étant motivé
Avatar de l’utilisateur
baboon
Modérateur
Modérateur
 
Messages: 3279
Inscription: 08 Juillet 2005, 17:49

Re: L'étude de la protection DENUVO.

Messagepar baboon » 30 Mars 2016, 11:39

Newbie mais ayant soif d'apprendre et étant motivé
Avatar de l’utilisateur
baboon
Modérateur
Modérateur
 
Messages: 3279
Inscription: 08 Juillet 2005, 17:49

Re: L'étude de la protection DENUVO.

Messagepar dionosis » 30 Mars 2016, 19:22

Salut,

Merci pour la news baboon.

Elle te chauffe hein cette protec ? :)
Je comprends.

++
Avatar de l’utilisateur
dionosis
Maître des ténèbres
Maître des ténèbres
 
Messages: 507
Inscription: 09 Octobre 2009, 21:43

Re: L'étude de la protection DENUVO.

Messagepar baboon » 30 Mars 2016, 20:39

Pas vraiment, je n'ai plus le temps pour ça hélas :'(
Newbie mais ayant soif d'apprendre et étant motivé
Avatar de l’utilisateur
baboon
Modérateur
Modérateur
 
Messages: 3279
Inscription: 08 Juillet 2005, 17:49

Re: L'étude de la protection DENUVO.

Messagepar gp2k11968 » 31 Mars 2016, 22:54

Merci baboon! c'est exactement ce genre d'information que je souhaitais voir dans ce sujet.
gp2k11968
 
Messages: 8
Inscription: 07 Mars 2016, 00:30

Re: L'étude de la protection DENUVO.

Messagepar eabcdx » 20 Mai 2016, 12:43

Salut,

je vais peut-être me pencher dessus d'ici quelques jours. J'ai récupéré M00D (merci au ste*m sharing) qui est protégé par Denuvo.
Ce qui est drôle, c'est que durant la bêta publique, le jeu n'était pas protégé par Denuvo mais par une autre protection que j'ai déjà étudiée dans le passé. Visiblement, ils ont changé de stratégie...

Du peu que j'ai pu lire, Denuvo serait une variante de VMProtect. Quelqu'un connaitrait-il un petit crackme protégé par VMProtect pour que je tente de me faire la main dessus ?

A+
eabcdx
Crackeur de bas niveau
Crackeur de bas niveau
 
Messages: 131
Inscription: 03 Novembre 2012, 14:44

Re: L'étude de la protection DENUVO.

Messagepar Bango » 20 Mai 2016, 16:56

eabcdx a écrit:Du peu que j'ai pu lire, Denuvo serait une variante de VMProtect. Quelqu'un connaitrait-il un petit crackme protégé par VMProtect pour que je tente de me faire la main dessus ?


Code: Tout sélectionner
https://forum.tuts4you.com/topic/24286-unpackme-vmprotect-206-unpackme/
https://forum.tuts4you.com/topic/36653-devirtualizeme-vmprotect-2135/
https://forum.tuts4you.com/topic/37850-unpackme-vmprotect-ultimate-v301465-unpack-me/
\ô/
Avatar de l’utilisateur
Bango
Modérateur
Modérateur
 
Messages: 1527
Inscription: 23 Juillet 2007, 15:33
Localisation: Gotham city

Re: L'étude de la protection DENUVO.

Messagepar eabcdx » 14 Juin 2016, 12:20

Merci Bango !

j'ai commencé à regarder, c'est... un autre niveau.

EDIT 14/06/16 : Je me suis attaqué au devirtualizeme, j'ai entre guillemets réussi à dé-virtualiser la première fonction. C'est pas très complexe à comprendre quand on pose les instructions sur le papier. En revanche, l'idée d'écrire un outil capable de convertir le code virtualisé en code assembleur classique, c'est une autre paire de manche.
Je continue vers la difficulté :)
eabcdx
Crackeur de bas niveau
Crackeur de bas niveau
 
Messages: 131
Inscription: 03 Novembre 2012, 14:44

Re: L'étude de la protection DENUVO.

Messagepar dionosis » 18 Juin 2016, 13:55

Salut eabcdx,

Essaye déjà de voir s'il n'existe pas en fouillant bien une ébauche de travail sur le sujet qui pourrait t'aider ...

++
Avatar de l’utilisateur
dionosis
Maître des ténèbres
Maître des ténèbres
 
Messages: 507
Inscription: 09 Octobre 2009, 21:43

Re: L'étude de la protection DENUVO.

Messagepar eabcdx » 31 Août 2016, 21:26

Yop,

je reviens après quelque temps, j'ai un peu regardé par-ci par-là et je crois que ce n'est pas pour moi :p

Autant la dé-mutation du code, ça passe, autant la dé-virtualisation, même à son plus faible niveau, je suis out.
Dans mon précédent post j'avais confondu les 2, j'ai bien réussi à démuter la première fonction et non pas dévirtualiser.

Pour la doc, j'ai quand même gratté un moment, beaucoup de personnes en parle mais malheureusement, trop en surface pour ma part, on ne sait pas vraiment comment s'attaquer à la VM. J'ai toutefois trouvé un PP très intéressant dessus, qui visiblement cible les softs 64 bits protégés par VMProtect. C'est en anglais mais c'est bien un Français (ou Canadien) qui l'a écrit. Je ne l'ai plus sous la main mais c'est le seul doc où j'ai pu trouver un condensé de plusieurs informations utiles à propos des VM de VMProtect.

Enfin ceci dit, j'ai pas pris le temps de me plonger à 100% dedans. Je pense que je vais persévérer, j'ai vraiment envie de dévirtualiser ne serait-ce que la seconde fonction, même si ça doit me prendre 1 an.
eabcdx
Crackeur de bas niveau
Crackeur de bas niveau
 
Messages: 131
Inscription: 03 Novembre 2012, 14:44

Re: L'étude de la protection DENUVO.

Messagepar baboon » 01 Septembre 2016, 09:10

Il y a pourtant plusieurs papiers (+code) disponibles :
hXXps://gdtr.wordpress.com/2012/10/03/d ... by-oreans/
hXXps://www.usenix.org/legacy/event/woo ... rolles.pdf
hXXps://github.com/SecurityDayLille1/ar ... rotect.pdf

Grosso merdo, ce qu'il faut faire c'est :
- découvrir les handlers avec une approche concolique
- isoler les handlers
- simplifier les handlers
- symboliser les handlers (les traduire en symboles quoi...)
- repartir un niveau au dessus et exécuter symboliquement les handlers de la VM sur le bytecode pour trouver l’enchaînement des handlers ce qui donne le code dévirtualisé
- simplifier le résultat : stripper les instructions relative à la VM (comme l'update du PC virtuel par exemple), simplifier les opérations en cas de VM RISC etc.
- retraduire les symboles en instructions x86

Bien sur c'est plus facile à dire qu'à faire :)

Plusieurs projets publiques et opensources pourront t'être utiles notamment OpenREIL / BAP / Triton pour la partie symbolisation / simplification du code :
- hxxps://github.com/Cr4sh/openreil
- hxxps://github.com/BinaryAnalysisPlatform/bap
- hxxp://triton.quarkslab.com/

Bisous bisous !
Newbie mais ayant soif d'apprendre et étant motivé
Avatar de l’utilisateur
baboon
Modérateur
Modérateur
 
Messages: 3279
Inscription: 08 Juillet 2005, 17:49

Re: L'étude de la protection DENUVO.

Messagepar dionosis » 01 Septembre 2016, 12:52

Salut,

eabcdx a écrit:Autant la dé-mutation du code, ça passe, autant la dé-virtualisation, même à son plus faible niveau, je suis out.
Dans mon précédent post j'avais confondu les 2, j'ai bien réussi à démuter la première fonction et non pas dévirtualiser.

A la lecture de ton précédent post je m'étais dit soit il est vraiment très efficace, soit il a confondu les deux. :)
Ce qui rend la tâche plus difficile c'est qu'entre le cfg flattened, le junk code et les différentes mutations, déterminer le moment où l'on bascule justement dans la vm devient compliqué de ce que j'en ai vu en mettant un peu le nez dedans au début de l'été.

baboon a écrit:Grosso merdo, ce qu'il faut faire c'est : ...

J'ajouterais une avant dernière étape pour le cas présent qui serait de démuter le code en employant des techniques d'optimisations des compilateurs.
Edit: Ou en dernière étape en fonction de comment est-ce qu'on aborde le problème.

++
Avatar de l’utilisateur
dionosis
Maître des ténèbres
Maître des ténèbres
 
Messages: 507
Inscription: 09 Octobre 2009, 21:43

Re: L'étude de la protection DENUVO.

Messagepar eabcdx » 02 Septembre 2016, 10:15

Salut,

merci baboon pour les docs, mais en dehors de celle sur CodeVirtualizer, je les avais déjà vu (mais pas forcément comprises :p).

Mais je comprends un peu mieux le système du fetch opcode, get handler, execute handler.
Après reste à trouver la signification de chaque handler pour pouvoir continuer.

De ce que j'ai pu comprendre, un handler permet de faire une opération précise que l'on pourra retranscrire en une instruction x86, un handler peut avoir 0, 1, ou plusieurs arguments, c'est cela ?
eabcdx
Crackeur de bas niveau
Crackeur de bas niveau
 
Messages: 131
Inscription: 03 Novembre 2012, 14:44

Re: L'étude de la protection DENUVO.

Messagepar baboon » 03 Septembre 2016, 15:05

dionosis a écrit:
baboon a écrit:Grosso merdo, ce qu'il faut faire c'est : ...

J'ajouterais une avant dernière étape pour le cas présent qui serait de démuter le code en employant des techniques d'optimisations des compilateurs.
Edit: Ou en dernière étape en fonction de comment est-ce qu'on aborde le problème.

C'est ce que j'entendais par "simplifier le résultat : stripper les instructions relative à la VM (comme l'update du PC virtuel par exemple), simplifier les opérations en cas de VM RISC etc." ;)
J'ai prévu de me remettre sérieusement au RE de protections logicielles ces prochains mois suivant mes disponibilités et si tout va bien je rouvrirai mon blog pour l'occasion :) (non, je n'ai pas rompu avec ma copine :P) je pense que je vais m'attaquer à Denuvo. Un nom de cible en tête ?
Newbie mais ayant soif d'apprendre et étant motivé
Avatar de l’utilisateur
baboon
Modérateur
Modérateur
 
Messages: 3279
Inscription: 08 Juillet 2005, 17:49

PrécédenteSuivante

Retourner vers Reversing

Qui est en ligne

Utilisateurs parcourant ce forum: Bing [Bot] et 4 invités