Nouveautés de dotPeek

Cette page détaille les dernières nouveautés et modifications apportées à dotPeek.

Télécharger dotPeek

Gratuit, pas de clé de licence requise

Nouvelle fenêtre d'outils Assembly Diff dédiée

Code IL pour le manifeste d'assembly 2024.3

La fenêtre d'outil IL Viewer fournit désormais du code IL pour le manifeste d'assembly, notamment :

  • Informations sur l'assembly et le module telles que le nom, les attributs personnalisés, etc.
  • Assemblies et modules référencés.
  • Types transférés.
  • Une liste de fichiers et de ressources.

Ce code IL s'affiche lorsque le curseur dans l'éditeur de texte se trouve sur un attribut d'assembly ou de module ou quelque part dans un fichier <AssemblyName>.cs pour les assemblies externes.

Prise en charge des constructeurs principaux 2024.3

Lorsque vous travaillez avec des classes qui déclarent un constructeur principal, dotPeek affiche maintenant le constructeur et ses paramètres correctement et fournit une vue complète sur la façon dont les objets sont instanciés directement à partir du code décompilé.

Améliorations générales 2024.2

  • Paramètres des lambdas : nous avons introduit la prise en charge de la décompilation des lambdas avec des paramètres optionnels et des tableaux de paramètres, afin d'améliorer la lisibilité et la précision du code décompilé.
  • Attributs des lambdas : la nouvelle version de l'outil permet de mieux traiter les attributs des expressions lambdas afin que toutes les métadonnées pertinentes soient prises en compte dans la sortie décompilée.
  • Assemblies protégées : vous avez désormais la possibilité de spécifier si vous souhaitez décompiler les assemblies protégées, ce qui permet un examen du code plus complet.

Traitement des sources externes 2024.2

  • PDB avec SrcSrv et SourceLink : le décompilateur prend maintenant en charge la navigation vers le code source depuis les fichiers PDB contenant à la fois SrcSrv et SourceLink.
  • Directives du préprocesseur : le décompilateur reconnaît désormais correctement les directives du préprocesseur (telles que NET6_0_OR_GREATER) du framework cible ou du PDB Portable de l'assembly associé, ce qui garantit une représentation rapide du code.
  • Action Open in Browser : vous pouvez désormais naviguer vers le code source dans le référentiel pour les types ou vers un référentiel pour les paquets NuGet ou les assemblies.

Détection de configuration de build 2024.2

La fenêtre d'outils Assembly Explorer peut maintenant détecter et présenter la configuration du build des assemblies et ainsi fournir des informations plus claires sur le contexte de compilation de l'assembly.

Nouvelle fenêtre d'outil dédiée Assembly Diff

Nouvelle fenêtre d'outil dédiée Assembly Diff 2024.1

La version 2024.1 a ajouté une nouvelle fenêtre d'outil Assembly Diff à dotPeek. Il en a résulté les changements suivants :

  • La possibilité de comparer des assemblies, paquets NuGet, dossiers et archives .zip a été déplacée de la fenêtre Assembly Explorer vers la fenêtre d'outils Assembly Diff.
  • Le sélecteur Diff mode et les boutons Compare et Diff Options ont été relocalisés dans la barre Actions de la fenêtre d'outil Assembly Diff.
Prise en charge du format de package WebCIL

Prise en charge du format de package WebCIL 2024.1

dotPeek prend désormais en charge le format de package WebCIL pour WebAssemblies. Cette prise en charge inclut :

  • La décompilation pour WebCIL.
  • La possibilité de visualiser les fichiers .wasm dans la fenêtre Assembly Explorer.
  • Les sous-arborescences de métadonnées pour les nœuds WASM dans Assembly Explorer, ce qui inclut les en-têtes WASM et WebCIL.
Davantage de fonctionnalités du langage C#

Améliorations des diffs d’assemblages 2023.3

dotPeek 2023.3 est capable de comparer des paquets, dossiers et fichiers .zip NuGet.

La possibilité de comparer des assemblages se dote d'options de comparaison supplémentaires. Vous pouvez choisir entre plusieurs modes de diff (Show all, Show only differences, Show only signature differences, ou Show only public API differences). Vous pouvez en outre spécifier si vous souhaitez que le diff ignore les différences dans l'ordre des membres/attributs, ainsi que les différences dans les annotations des types de référence nullables.

Davantage de fonctionnalités du langage C#

Assembly Explorer updates 2023.3

  • Lorsque vous explorez des paquets NuGet dans l'Assembly Explorer, vous pouvez désormais afficher tous les fichiers et dossiers contenus dans ces paquets NuGet.
  • Les nœuds de ressources Win32, notamment leur taille et leur type (si ceux-ci peuvent être déterminés), peuvent maintenant être visualisés dans l'arborescence de présentation des nœuds et dans le volet Properties.

Autres mises à jour 2023.3

  • Décoder les ressources de chaînes Win32 dans les tables est maintenant possible.
  • dotPeek affiche maintenant la taille des fichiers ouverts dans le volet Properties pour un assemblage/non-assemblage, pour les fichiers à l'intérieur de bundles, les archives, les paquets NuGet, les assemblages comparés et les ressources Win32.
  • La validation de la signature du code d'authentification de l'assembly est désormais disponible.
  • Les directives explicites #nullable disable s'affichent dans les sources décompilées.
Davantage de fonctionnalités du langage C#

Comparaison d'assemblies 2023.2

dotPeek 2023.2 permet de comparer deux assemblies en détail. Cette fonctionnalité est particulièrement utile pour examiner les différences entre les deux versions d'un assembly donné et rechercher les éventuelles vulnérabilités qui peuvent avoir été introduites dans une version plus récente.

Cliquez ici pour plus d'informations.

Fenêtre d'outil IL Viewer 2023.1

La version 2023.1 de dotPeek apporte plusieurs améliorations à la fenêtre d'outil IL Viewer :

  • Les noms de variables locales sont désormais utilisés dans le code C# de bas niveau et de haut niveau, et les noms d'élément de tuple variables pour le code C# de haut niveau, comme dans le code source.
  • Les noms d'éléments de tuple commentés sont obtenus à partir du PDB/décompilateur pour les déclarations de variables locales dans le code de langage intermédiaire (IL).
  • La synchronisation a été améliorée pour les initialiseurs de champs et de propriétés, les déclarations dans les itérateurs, les méthodes async, les lambdas, les fonctions locales, les déclarations de fonctions locales et de fonctions locales imbriquées pour le code C# de haut niveau.
Autres fonctionnalités du langage C#

Plus de fonctionnalités du langage C# 2022.3

dotPeek 2022.3 fournit la prise en charge des éléments suivants :

  • les membres static abstract et static virtual dans les interfaces.
  • les attributs génériques.
  • les opérateurs checked définis par l'utilisateur.
  • l'opérateur de décalage à droite non signé.
Code C# de haut et bas niveau dans IL Viewer

Code C# de haut et bas niveau dans IL Viewer 2022.2

Une nouvelle option permet d'afficher le code C# décompilé, qu'il soit de haut ou de bas niveau, dans la fenêtre d'outil IL Viewer. Le code décompilé est toujours synchronisé avec le code source dans l'éditeur de code.

Prise en charge des assemblies ReadyToRun et NGen dans Assembly Explorer

Assemblies ReadyToRun et NGen dans Assembly Explorer 2022.2

  • La présentation des assemblies ReadyToRun (R2R) et NGen dans Assembly Explorer a été améliorée. Dorénavant, une petite icône de processeur et l'étiquette ngen ou R2R s'affichent à côté du nom de chaque assembly.
  • L'arborescence Metadata a un en-tête ReadyToRun.
  • La fenêtre Properties inclut la section ReadyToRun.
Onglet Aperçu

Onglet Preview 2022.1

Vous pouvez maintenant afficher les fichiers dans un seul onglet d'aperçu Preview, comme vous le faites dans Visual Studio. Cela facilite la recherche d'éléments spécifiques et évite d'avoir à garder des fichiers ouverts dans des onglets séparés.

Si vous souhaitez conserver le fichier dans un onglet séparé, cliquez sur l'icône Keep open de l'onglet Preview. Pour désactiver l'onglet Preview, allez dans Tools | Options | Tabs et sélectionnez Allow new files to be opened in the preview tab.

Volet Quick Find dans l'éditeur de texte

Volet Quick Find dans l'éditeur de texte 2022.1

La fonctionnalité Quick Find, qui se trouvait auparavant dans une fenêtre d'outil distincte, est maintenant disponible dans l'onglet de l'éditeur de texte. Désormais, lorsque vous appelez Quick Find (Ctrl+F) pour un fichier, le volet Quick Find apparaît dans l'onglet de l'éditeur de texte du fichier.

Nous avons également ajouté les raccourcis F3 et Maj+F3, qui permettent de naviguer rapidement vers l'occurrence suivante ou précédente lorsque vous recherchez un élément en utilisant le volet Quick Find.

Commentaires de documentation XML

Commentaires de documentation XML 2022.1

dotPeek affiche désormais les commentaires de la documentation XML pour les assemblies de plateforme, y compris pour les assemblies dont le nom diffère des noms des fichiers de la documentation XML, System.Private.CoreLib par exemple. Le chemin de la documentation XML s'affiche maintenant dans l'en-tête du fichier décompilé.

Mises à jour d'Assembly Explorer 2022.1

Assembly Explorer prend maintenant en charge les types transférés (les attributs TypeForwardedTo). L'action Locate in Metadata fonctionne également pour les types transférés, les références d'assemblies et de modules, et les ressources.

Autres mises à jour 2022.1

  • Nous avons désactivé la redirection de la navigation dans la vue Metadata.
  • Nous avons ajouté des présentations de blob décodés/bruts dans les propriétés des nœuds de blob.
  • Nous avons amélioré la navigation PDB pour les types sans points de séquence, comme les interfaces et les enums par exemple.
Prise en charge des applications à fichier unique

Prise en charge des records et record structs 2021.3

dotPeek fournit la prise en charge des types record et record struct. L'expression with est prise en charge pour les records, record structs et structs.

Comme pour les autres fonctionnalités de C# incluses dans cette version, le décompilateur prend désormais en charge la méthode asynchrone dispose (await using).

Prise en charge étendue des applications à fichier unique

Prise en charge étendue des applications à fichier unique 2021.3

Nous poursuivons l'amélioration de la prise en charge de la lecture et de la décompilation des applications à fichier unique :

  • Vous verrez le contenu des fichiers .json groupés. Par exemple, le fichier .runtimeconfig.json.
  • Vous pouvez afficher la liste des fichiers intégrés ainsi que certaines informations techniques sur l'application à fichier unique (version du format d'en-tête et ID) en cliquant sur le nœud racine dans Assembly Explorer.
  • Vous pouvez extraire tous les fichiers dans un dossier (en utilisant l'action Extract Bundle Content to Folder du menu contextuel) ou l'un des fichiers du lot en tant que fichier externe (en utilisant l'action Extract to File du menu contextuel).
Prise en charge des applications à fichier unique

Prise en charge des applications à fichier unique 2021.2

Désormais, dotPeek peut décompiler les applications à fichier unique. Il vous permet également de parcourir les assemblies groupés à l'intérieur d'une application à fichier unique, comme vous le faites habituellement. Il prend en charge les formats de fichier unique utilisés dans les SDK .NET Core 3.1, .NET 5 et .NET 6 à venir.

Gestion des onglets

Gestion des onglets 2021.1

Lorsque vous travaillez avec plusieurs onglets à la fois, vous pouvez désormais les épingler. Par ailleurs, la couleur d'un onglet indique le type de code que vous verrez : vert pour une vue de métadonnées et marron pour les sources des fichiers de symboles. Les options permettant d'épingler les onglets et de leur attribuer un code couleur peuvent être désactivées dans Tools | Options | Environment | Tabs.

Styles et Mise en forme du code

Styles et Mise en forme du code 2021.1

Nous avons mis à jour l'outil de formatage pour le code décompilé avec un ensemble d'options permettant de contrôler la façon dont le code est présenté. Vous pouvez maintenant définir le style et la taille de l'indentation, choisir si l'accolade ouvrante doit être placée sur une nouvelle ligne et si vous préférez utiliser des membres expression-bodied. Vous pouvez trouver les trouver dans Tools | Options | Decompiler | Code style and formatting.

Télécharger dotPeek

Gratuit, pas de clé de licence requise