|
Utilisation de l’outil de décompilation ILSpy. Cependant, ILspy exige que le .NET Framework 4.0 soit installé sur votre ordinateur. ILspy peut convertir un fichier dll en langage C# ou VB. ILspy peut enregistrer un seul fichier en fichier .cs ou .vb, et lorsqu’il y a beaucoup de fichiers, vous pouvez choisir de l’enregistrer comme fichier projet. Les instructions C# peuvent être décompilées par ILspy, et peuvent supporter la décompilation des instructions yield return et des expressions lambdas. J’utilisais Reflector pour consulter certaines informations sur la bibliothèque .NET, mais depuis février 2011, Reflector est passé aux logiciels payants, donc les développeurs passionnés de logiciels libres se sont tournés vers le développement de leurs propres logiciels décompilés. Donc ILspy est né grâce à la chance. ILSPY est un outil open source qui remplace les réflecteurs, et il décompile le code de manière similaire aux réflecteurs. SharpDevelop est un autre et unique . .NET est open source. Il offre aussi de très bonnes fonctionnalités, réécrivant presque Visual Studio. Dans la dernière version, le support des fichiers de sécurité de la solution et des fichiers de projet de Visual Studio a été ajouté directement. ILSpy est un outil de décompilation du groupe SharpDevelop et est également open source, et son débogueur et son décompilateur sont décrits ci-dessous.
Capture d’écran de l’interface d’ILspy.
L’interface d’ILSpy est similaire à celle de Reflector, avec des contrôles arborescentes affichant l’assemblage et son type à gauche et le code source correspondant à droite. La fonction de décompilation de base n’est pas mauvaise comparée à Reflector, et parfois elle peut même être décompilée avec ILSpy pour des assemblages qui ne peuvent pas être décompilés (à cause du chiffrement) avec Reflector.
ILspy exige que .NET Framework 4.0 soit installé sur votre ordinateur.Plusieurs fonctionnalités couramment utilisées dans ILspy sont courantesLa fonction de base de décompilation des types est disponible Désormais, seule la décompilation du code source en langages C# et IL est prise en charge, pas VB. Les rendus sont :
La fonction d’enregistrement de code d’ILSpy En cliquant sur un type, sélectionner File-> Save Code décompile le type courant et l’enregistre dans le fichier spécifié, et lors de la sélection d’un assembleur, le Save Code est enregistré comme un fichier projet (csproj) et tous ses types sont ajoutés au projet.
La fonction de déboguage d’ILSpy Le débogueur ici ne fait pas référence à Visual Studiosourceniveau de déboguage, mais désigne le débogueur de l’assemblage. Reflector dispose d’un addin qui peut être attaché directement à Visual Studio pour déboguer des bibliothèques de types tierces sans avoir à décompiler les bibliothèques tierces et à les ajouter au projet sous forme de code source. ILSpy propose également cette fonctionnalité, qui permet de déboguer directement les assemblages tiers, avec deux options Si la bibliothèque de types tierce est un exécutable, vous pouvez lancer le programme avec Débogue d’un exécutable. Si la bibliothèque de type tierce est un assembleur (DLL), vous pouvez l’associer avec un Attach à une application en cours d’exécution pour commencer à déboguer l’assembleur.
Comme vous pouvez déjà le voir sur l’image ci-dessus, son utilisation est la même que celle du débogage du code source. Il faut surveiller la valeur de la variable, définir un point d’arrêt, et lorsque le programme s’exécute jusqu’à ce point, vous pouvez observer la valeur de la variable en surveillant la forme. La différence entre les deux est que lorsque Attach à une application en cours d’exécution est débogué, si le code est optimisé par le compilateur, le moniteur n’en recevra pas la valeur.
Comme montré sur l’image, la valeur de la variable num débogée ne peut pas être affichée car le code a été optimisé. La méthode officiellement recommandée est Debug d’un exécutable Comme pour le débogage du code source .NET dans Visual Studio, vous pouvez entrer, passer dessus, continuer, et la barre d’état affichera « attendez-vous », exécute et débogage.
En plus de déboguer le code sous forme C#/VB de l’assembleur, il peut aussi être débogué en code IL, comme montré dans la figure ci-dessous
Le débogueur d’ILSpy existe en tant que plugin, assurez-vous d’inclure le plugin ILSpy.Debugger.
Mais le débogage. Les assemblages .NET doivent nécessiter des fichiers PDB. Cependant, ILSpy ne génère pas de fichiers PDB (aucun fichier PDB n’est généré), et il ne peut pas déboguer ASP.NET applications web et services web.
|