(VIDEO) Etude de cas compliquée (.NET)

Mettez à disposition vos propres cours de cracking ou des cours que vous trouvez intéressant.

(VIDEO) Etude de cas compliquée (.NET)

Messagepar Martinooooo » 07 Septembre 2012, 12:13

Bonjour bonjour :)
Il y a quelques jours je suis tombé sur un logiciel assez surprenant et bien protégé. Vu l'originalité de sa protection, j'ai décidé d'en faire une étude de cas. Comme les fanas de .NET sont plutôt anglais je l'ai fait en anglais, mais comme il n'y a que 15/20 commentaires en anglais en plus de la vidéo et que ce tuto demande quand même certaines connaissances, je le poste ici.
Outils: de4dot/Reflector/Reflexil

/!\ Il n'y a aucune crypto, aucun unpacking et aucune deobfu manuelle dans cette protection.
Ce tuto demande des bonnes bases dans le RE de logiciels .NET (surtout que je vais très vite sur certaines explications impliquant quelques recherchers sur le logiciel ou quelques compétences de recherche)

Je n'ai pas toujours utilisé la voie la plus rapide, mais j'ai utilisée celle qui permet de montrer le plus de choses :) (on aurait pu très bien faire un moment avec le debugger VS12+Add-In Reflector)
----
Taille: 24.5 MB
(environ 24 min)
----
Langue: Anglais
----
Inclus: 2 fichiers requis à un certain moment (23:30)
-------------

Total frames in main movie: 29680
Playback frame rate: 20
Approximate playback time: 1484 seconds


Tuto :
http://www.mediafire.com/download.php?77i1z806u6het04
Dernière édition par Martinooooo le 08 Septembre 2012, 12:54, édité 1 fois.
Acme::Don't
Acme::Bleach
Acme::Pony
Lingua::Romana::Perligata
The Lingua::Romana::Perligata makes it makes it possible to write Perl programs in Latin. (If you have to ask "Why?", then the answer probably won't make any sense to you either.)
Avatar de l’utilisateur
Martinooooo
Maître des ténèbres
Maître des ténèbres
 
Messages: 570
Inscription: 19 Août 2008, 08:20
Localisation: DR8, le + utile DRx

Re: (VIDEO) Etude de cas compliquée (.NET)

Messagepar Todd » 08 Septembre 2012, 10:24

Salut,

c'est un excellent tutoriel ! 8) :bravo:
Comme tu le dis, c'est déjà d'un très bon niveau et je pense qu'on en a perdu quelques uns en route. :P

Par contre, je me vois dans l'obligation de censurer ton lien :(, car tu fournis des "bonus" qui n'apportent rien à la compréhension globale :roll: et qui pourraient être interprétés comme de la diffusion de contenu illégal. :evil:
Alors je te laisse modifier tes liens, car seule ta vidéo nous intéresse. :wink:

Excellent travail. 8)

Todd
Avatar de l’utilisateur
Todd
Modérateur
Modérateur
 
Messages: 1795
Inscription: 19 Avril 2009, 12:11

Re: (VIDEO) Etude de cas compliquée (.NET)

Messagepar Martinooooo » 08 Septembre 2012, 12:19

En fait les "bonus" servent à vérifier que la manip fonctionne bien (comme j'ai sauté l'étude des fichiers de licence). Mais c'est vrai que théoriquement ça ne sert à rien, et que c'est un bit illégal (mais est-ce que des fichiers d'activation non valides sont considérés comme des cracks ? :mrgreen: ).

Je réupload sans et je change ça.

Merci pour le feedback :) (je ne saute pas trop d'étapes ?)

TUTO clean :
http://www.mediafire.com/download.php?77i1z806u6het04
Acme::Don't
Acme::Bleach
Acme::Pony
Lingua::Romana::Perligata
The Lingua::Romana::Perligata makes it makes it possible to write Perl programs in Latin. (If you have to ask "Why?", then the answer probably won't make any sense to you either.)
Avatar de l’utilisateur
Martinooooo
Maître des ténèbres
Maître des ténèbres
 
Messages: 570
Inscription: 19 Août 2008, 08:20
Localisation: DR8, le + utile DRx

Re: (VIDEO) Etude de cas compliquée (.NET)

Messagepar Todd » 08 Septembre 2012, 15:12

Martinooooo a écrit:Je réupload sans et je change ça.
Merci de ta compréhension. :wink:

Martinooooo a écrit:je ne saute pas trop d'étapes ?
C'est parfois un peu rapide :roll:, dans le sens où on ne sait pas toujours pourquoi tu t'orientes sur telle ou telle piste, mais on ne peut pas t'en vouloir :wink:, ta vidéo fait déjà 25 minutes ! :o
Puis l'essentiel et le plus intéressant est la technique de récupération et d'injection de code ! 8) Pour ma part, j'ai toujours eu des problèmes avec cette fonction de Reflexil ! :( Faut dire qu'à l'époque les outils pour supprimer les protections n'étaient pas aussi performant que de4dot 8), ce qui devait perturber Reflexil !? :evil: D'ailleurs, je viens de voir que tu utilises une version assez récente (v1.5-16/04/2012) et ce point fait sûrement partie des améliorations. :| Tant mieux ! :D

Sinon encore bravo, les connaisseurs apprécieront... :wink:

Todd
Avatar de l’utilisateur
Todd
Modérateur
Modérateur
 
Messages: 1795
Inscription: 19 Avril 2009, 12:11

Re: (VIDEO) Etude de cas compliquée (.NET)

Messagepar Martinooooo » 08 Septembre 2012, 15:45

Todd a écrit:C'est parfois un peu rapide :roll:, dans le sens où on ne sait pas toujours pourquoi tu t'orientes sur telle ou telle piste, mais on ne peut pas t'en vouloir :wink:, ta vidéo fait déjà 25 minutes ! :o

Oui, effectivement, l'investigation n'était pas du tout le principal objectif (le tuto non plus, mais après avoir passé 4-6 heures dessus je me suis dit que ça valait le coup de faire un petit truc, puisque ce type de protection est plutôt rare en .NET).

Pour moi la déobfu n'était pas non plus indispensable sur cette cible (Babel on a vu pire) [je me souviens des débuts de de4dot quand personne ne connaissait, ceux qui l'utilisaient impressionnaient tout le monde parce que c'étaient les seuls à faire des assemblies deobfu qui marchaient :mrgreen: ... ]
Après, Reflexil a effectivement très bien évolué et rend bien des services... Mais à chaque fois qu'il faut compiler du code, il faut compter à peu près 5 minutes de magouille pour un code normal sans appel à d'autres fonctions du logiciel et 5 minutes de plus par référence à un membre ou à une fonction de ce logiciel.... Essayer et essayer, avec 2/3 crash par changement, des lignes qu'on enlève et qu'on retire juste pour voir ce que dit le compilo... Mais bon, avec un peu d'entrainement on arrive bien à recoder des fonctions avec. Je recommande à fond les recodage de fonction à la barbare :D
Acme::Don't
Acme::Bleach
Acme::Pony
Lingua::Romana::Perligata
The Lingua::Romana::Perligata makes it makes it possible to write Perl programs in Latin. (If you have to ask "Why?", then the answer probably won't make any sense to you either.)
Avatar de l’utilisateur
Martinooooo
Maître des ténèbres
Maître des ténèbres
 
Messages: 570
Inscription: 19 Août 2008, 08:20
Localisation: DR8, le + utile DRx

Re: (VIDEO) Etude de cas compliquée (.NET)

Messagepar Bango » 11 Septembre 2012, 08:40

Merci Martinooo :D
Je n'ai pas encore lu mais ça a l'air bien :roll:

Comme c'est du.NET, ça me fait déjà mal à la tête mais je le lirai au calme ;)
\ô/
Avatar de l’utilisateur
Bango
Modérateur
Modérateur
 
Messages: 1512
Inscription: 23 Juillet 2007, 15:33
Localisation: Gotham city


Retourner vers Tutoriels

Qui est en ligne

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