dotPeek 1.0 : Jetbrains propose un décompilateur .Net gratuit
Ah ben tiens, on en avait justement besoin :D
Jetbrains, connu pour ses IDE et ses outils dédiés aux développeurs tels que Resharper, vient d'annoncer un décompilateur gratuit dédié aux applications .Net : dotPeek. Celui-ci se propose de vous fournir le code source d'exécutables ou DLL basées sur le Framework .Net (1.0 à 4.5), mais aussi les fichiers Metadata de Windows 8 (.winmd).
Cet outil est distribué sous la forme d'un fichier MSI ou d'un fichier zip de 15 / 20 Mo environ. Une fois installé, vous pourrez tenter d'ouvrir n'importe quelle application ou DLL .Net, mais aussi des archives qui en contiennent. Vous pourrez alors explorer leur code dans une interface qui se veut assez proche de celle de Visual Studio.
Comme souvent avec des outils du genre, les commentaires et les noms de variables ne seront pas les mêmes qu'à l'origine, mais cela pourra s'avérer pratique lorsque vous avez perdu la source d'un fichier par exemple. Nous avons d'ailleurs tenté l'expérience avec un petit outil que nous avions créé pour relever la mémoire totale utilisée par un navigateur, mais dont nous avions perdu le code. Celui-ci a été parfaitement été retrouvé et nous allons donc pouvoir le remettre à jour.
Il en a été de même pour d'autres outils que nous avons créés pour nos besoins internes et qui se basent sur C# : nous avons même pu naviguer dans les différentes classes de ces applications. Il en est de même pour leurs méthodes et les différentes variables, le tout étant simplifié par un menu dédié qui s'avère plutôt pratique et intuitif pour qui utilise les IDE de Microsoft (puisqu'il en reprend le look et les icônes) : l'Assembly Explorer.
Tout juste regrettera-t-on de ne pas pouvoir exporter le code source ainsi décompié vers un nouveau projet C# prêt à utilise, ce qui pourrait tout de même s'avérer pratique pour de très gros projets. Il semble aussi impossible pour le moment d'exporter une ressource, telle qu'une icône par exemple. Celles-ci seront uniquement disponible au sein des fichiers .resx, sous forme de texte au sein d'un champ « value ».
Pour tester dotPeek 1.0 il vous suffit de vous rendre par ici. Vous en apprendrez plus sur ses différentes fonctionnalités par là. Une vidéo de présentation a d'ailleurs été mise en ligne :
Cet outil est distribué sous la forme d'un fichier MSI ou d'un fichier zip de 15 / 20 Mo environ. Une fois installé, vous pourrez tenter d'ouvrir n'importe quelle application ou DLL .Net, mais aussi des archives qui en contiennent. Vous pourrez alors explorer leur code dans une interface qui se veut assez proche de celle de Visual Studio.
Comme souvent avec des outils du genre, les commentaires et les noms de variables ne seront pas les mêmes qu'à l'origine, mais cela pourra s'avérer pratique lorsque vous avez perdu la source d'un fichier par exemple. Nous avons d'ailleurs tenté l'expérience avec un petit outil que nous avions créé pour relever la mémoire totale utilisée par un navigateur, mais dont nous avions perdu le code. Celui-ci a été parfaitement été retrouvé et nous allons donc pouvoir le remettre à jour.
Il en a été de même pour d'autres outils que nous avons créés pour nos besoins internes et qui se basent sur C# : nous avons même pu naviguer dans les différentes classes de ces applications. Il en est de même pour leurs méthodes et les différentes variables, le tout étant simplifié par un menu dédié qui s'avère plutôt pratique et intuitif pour qui utilise les IDE de Microsoft (puisqu'il en reprend le look et les icônes) : l'Assembly Explorer.
Tout juste regrettera-t-on de ne pas pouvoir exporter le code source ainsi décompié vers un nouveau projet C# prêt à utilise, ce qui pourrait tout de même s'avérer pratique pour de très gros projets. Il semble aussi impossible pour le moment d'exporter une ressource, telle qu'une icône par exemple. Celles-ci seront uniquement disponible au sein des fichiers .resx, sous forme de texte au sein d'un champ « value ».
Pour tester dotPeek 1.0 il vous suffit de vous rendre par ici. Vous en apprendrez plus sur ses différentes fonctionnalités par là. Une vidéo de présentation a d'ailleurs été mise en ligne :
David Legrand
Journaliste, responsable des PCi Labs. Geek de l'extrême spécialisé dans l'analyse des produits high-tech, les réseaux sociaux et les trios d'écrans. Adepte du libre.
Le 14 mai 2012 à 14:41
(17 766
lectures)
Il y a 45 commentaires
Cet outil ne fait-il pas doublon avec ildasm ?
Dans le même style il y a aussi ILSpy qui est gratuit et open-source et permet l'export du code :
http://wiki.sharpdevelop.net/ILSpy.ashx
http://wiki.sharpdevelop.net/ILSpy.ashx
De toute façon avec des outils comme Reflector cela fait de nombreuses années qu'on peut retrouver explorer le code source d'une application .NET.
La parade s'appelle "obfuscation".
La parade s'appelle "obfuscation".
Cet outil ne fait-il pas doublon avec ildasm ?
D'autres outils du genre existent déjà, mais c'est toujours pas mal d'en voir de nouveau arriver avec leurs avantages propres, puis tous ne sont pas toujours simple à utiliser / efficaces / bons... Mais ILSpy est plutôt pas mal oui, même si l'interface est un peu plus austère. Après il a l'avantage de permettre l'export du projet complet, ce qui est plutôt pratique
Je ne m'y connais pas trop dans le domaine, étant développeur "amateur" en .NET (C# plus précisément), mais ce genre d'outil ce n'est pas la porte ouverte aux cracks et bypass en tout genre (vu que plus besoin de passer par un éditeur hexa ou je ne sais quelle autre joyeuseté).
Ou alors, j'ai rien compris
?
Ou alors, j'ai rien compris
?
C'est pas vraiment nouveau, ça fait déjà plusieurs mois que dotPeek existe en beta. En gros, quand Reflector est devenu payant, tous les éditeurs se sont mis à créer leur propre décompileur...
Bah rigole pas, j'utilise ce genre de chose quasiment tous les jours ;)
ildasm, ça te donne le code en IL c'est à dire le langage machine du CLR (la machine virtuelle de .NET), donc c'est pas vraiment facile à lire.
dotPeek, Reflector etc décompilent le code en C# ou VB.NET (ou autre langage .NET)
Ah ben tiens, on en avait justement besoin 
Bah rigole pas, j'utilise ce genre de chose quasiment tous les jours ;)
Cet outil ne fait-il pas doublon avec ildasm ?
ildasm, ça te donne le code en IL c'est à dire le langage machine du CLR (la machine virtuelle de .NET), donc c'est pas vraiment facile à lire.
dotPeek, Reflector etc décompilent le code en C# ou VB.NET (ou autre langage .NET)
cela pourra s'avérer pratique lorsque vous avez perdu la source d'un fichier par exemple.
Ou comment éviter l'épineux problème de la légalité de la décompilation...
Pour un décompilateur qui exporte le projet et les ressources, il y a JustDecompile de Telerik
Edité par actionthomas le lundi 14 mai 2012 à 15:06
Edité par actionthomas le lundi 14 mai 2012 à 15:06
Pas mal du tout ! :) Et moi il m'a même retrouvé le nom des variables ! .NET stocke pas mal de méta-données pour utiliser la réflexion de code. C'est vrai que c'est dommage qu'on puisse pas exporter directement le résultat dans un projet. Peut être dans une mise à jour, ou un plugin vu qu’apparemment on peu en intégrer d'après ce que j'ai vu dans les options.
Il y avait Reflector à un moment qui était gratuit... Avant qu'il pète les plombs niveau tarif.
Il y avait Reflector à un moment qui était gratuit... Avant qu'il pète les plombs niveau tarif.
Je ne m'y connais pas trop dans le domaine, étant développeur "amateur" en .NET (C# plus précisément), mais ce genre d'outil ce n'est pas la porte ouverte aux cracks et bypass en tout genre (vu que plus besoin de passer par un éditeur hexa ou je ne sais quelle autre joyeuseté).
Ou alors, j'ai rien compris
?
Ou alors, j'ai rien compris
?Ah clairement. Surtout quand un plugin pour Reflector (un autre logiciel du même genre, qui a longtemps été la référence) permet de modifier directement une assembly sans même avoir à en exporter le code. Mh, la variable TrialTime qui vaut 15 jours, allez hop je la mets à 9999 jours

Edité par KooKiz le lundi 14 mai 2012 à 15:10
Il n'est plus possible de commenter cette actualité
Vous devez être connecté ou vous inscrire en haut pour pouvoir participer aux commentaires.










