DnSpy : Débogueur, décompilateur et éditeur d'assembly DotNet

Présentation
DnSpy est un outil open source codé en C# destiné au reverse engineering d'assembly .NET. Il comprend un décompilateur, un débogueur et un éditeur d'assembly et peut être facilement étendu en écrivant vos propres extensions. Il utilise dnlib pour lire et écrire des assembly de sorte qu'il est capable de traiter des assembly obfusqué sans planter.

Téléchargement
Compatibilité
Windows
0  0 
Téléchargé 81 fois Voir le commentaire
Détails
Éditeur : 0xd4d   +
Licence : GPL
Date de mise en ligne : 21 novembre 2016




Avatar de wallace1 wallace1 - Membre expert https://www.developpez.com
le 21/11/2016 à 20:54
Quelques précisions sur cet excellent outil :

Fonctionnalités :

--> Éditeur d'Assembly
  • Utiliser C# ou Visual Basic ou IL pour modifier toute méthode, propriété et événement
  • Editeur de code et IntelliSense (achèvement de code, aide signature, info rapide)
  • Des classes entières peuvent être ajoutées aux assemblys en copiant/collant du code C # ou Visual Basic
  • Modifier toutes les métadonnées de types (classes), méthodes, propriétés, événements, champs
  • Ajouter, supprimer, renommer tout type (classe), méthode, propriété, événement, champ
  • Modifier, ajouter, supprimer les ressources .NET et les enregistrer sur le disque
  • L'éditeur IL permet d'éditer des corps de méthode au niveau IL: instructions IL, variables, gestionnaires d'exceptions


--> Débogueur :
  • Déboguer n'importe quel assembly .NET, pas de code source requis
  • Définir des points d'arrêt dans tout assembly, y compris les assembly du framework, les assembly dans le GAC et les assembly existantes
  • chargées en mémoire
  • Fenêtre de mémoire
  • Fenêtre de sortie
  • Joindre au processus
  • Fenêtre Locale
    • Les contenus bruts des variables (par exemple les tableaux d'octets déchiffrés) peuvent être sauvegardés sur le disque
  • Fenêtre de pile d'appels
  • Fenêtre de threads
  • Fenêtre Modules
    • Les modules (par ex. Modules déchiffrés en mémoire) peuvent être sauvegardés sur le disque
  • Paramètres d'exception
  • Peut déboguer des assembly dynamiques
  • Le débogage des assemblys CoreCLR est pris en charge


--> Decompile vers C #, Visual Basic, IL
--> Thèmes: bleu, sombre, léger (et contraste élevé)
--> Supporte les écrans plus petits (par exemple, ordinateurs portables)
  • La hauteur de ligne peut être optimisée pour les petits écrans
    • Les lignes blanches et non alphanumériques sont 75% de la hauteur normale
    • Pas d'espacement supplémentaire entre les lignes (enregistre 1 pixel vertical par ligne)
  • Le menu et la barre d'outils partagent la même ligne
  • Le mode plein écran (Maj + Alt + Entrée) enregistre certains pixels verticaux


--> Prise en charge du DPI élevé et prise en charge par le DPI
--> Traduit en plusieurs langues
--> Très extensible
  • Ecrivez vos propres extensions et ajoutez vos propres fonctionnalitées
  • Toutes les principales fonctionnalités sont déjà des extensions (éditeur d'assembly, debugger, decompilateur)


--> Plusieurs onglets et groupes d'onglets
  • Votre écran est trop grand? Ne le coupez pas en deux, ajoutez un autre groupe d'onglets verticaux et lisez deux classes à la fois!
  • Les onglets et les positions dans les éditeurs de texte sont enregistrés lorsque vous fermez dnSpy et restaurés au démarrage afin que vous puissiez continuer où vous avez quitté


--> Recherche d'assembly
  • Rechercher des types (classes), des méthodes, des propriétés, des événements, des champs
  • Rechercher des chaînes ou des nombres dans le code


--> Analyseur d'assembly
  • Trouver les usages des types (classes), des méthodes, des propriétés, des événements, des champs


--> Décompilateur BAML à XAML
--> Rapide
--> Références, mots clés
  • Les références sous le caret sont mises en surbrillance pour faciliter la visualisation de toutes les utilisations de la référence dans le code
  • Tab, Shift + Tab, Ctrl + Maj + Haut, Ctrl + Maj + Bas se déplace à la référence suivante ou précédente
  • Alt + Bas et Alt + Haut se déplacent vers la définition suivante ou précédente (type (classe), méthode, propriété, événement, champ)


--> Visualisateur de structure
  • Lignes de guidage verticales indiquées entre le début et la fin des blocs de code
  • Différentes couleurs sont utilisées pour différents blocs, par exemple. Boucle, conditionnel, méthode, etc


--> Dnlib est utilisé pour lire et écrire des assembly de sorte qu'il peut gérer le code obscurci (par exemple, les logiciels malveillants) sans planter
--> Aller aux commandes
  • Point d'entrée
  • Méthode d'initialisation statique de l'assembly (<Module> .. cctor)
  • Tout jeton de métadonnées
  • Toute ligne de métadonnées


--> La syntaxe et les commentaires sont mis en évidence dans des infos bulles lors d'un survol d'un type (classe), d'une méthode, d'une propriété, d'un événement, d'un champ
--> Les méthodes, les propriétés et les événements sont décompilés dans l'ordre du code source ou un ordre personnalisé défini par l'utilisateur
  • Ordre de code source signifie que les méthodes connexes sont généralement les unes à côté de l'autre, comme le programmeur le souhaite.


--> Les images d'arrière-plan peuvent être affichées dans l'éditeur de texte
--> Exporter vers projet décompile tous les assembly sélectionnés et crée une solution Visual Studio

  • Plusieurs assembly peuvent être exportés en même temps
  • Crée une solution Visual Studio (prend en charge VS2005 - VS-le plus récent) et les fichiers de projet
  • Supporte les classes WinForms et WPF (crée un fichier code-behind .cs / .vb et un fichier WinForms .resx / WPF .xaml)
  • Convertit les ressources .NET en fichiers .resx


--> Ouvert depuis le GAC
--> Décompilateur de ligne de commande

  • Prise en charge de Windows, Linux et Mac
  • La syntaxe affiche la sortie sur l'écran


--> Scripter avec C # REPL
  • Appeler des méthodes dnSpy publiques à partir de scripts
  • Script depuis le débogueur et d'autres extensions


--> Hex éditeur
--> Les tokens et les adresses des méthodes sont affichés dans les commentaires et peuvent être cliqués pour aller aux métadonnées brutes ou aux octets IL
--> Éditeur de métadonnées
--> Réduire la commande des nœuds de l'Explorateur d'assemblage pour effacer rapidement les nœuds non utilisés
--> Bien plus encore......
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.
Responsable bénévole de la rubrique Microsoft DotNET : Hinault Romaric -