Examiner IL avec un œil en C#
Pour explorer le cœur de l'ASP.NET 1.1, il me fallait un outil un peu plus élaboré que le désassembleur ILDASM.EXE, inclus dans le kit de développement .NET Framework . Si j'avais été plus intelligent, j'aurai peut-être réussi à isoler le System.Web avec ILDASM uniquement, mais lire du IL n'est pas très aisé et j'avais un planning à tenir. J'ai découvert l'outil voulu sur le réflecteur de Luz Roeder. Le réflecteur (Reflector) est un navigateur d'objet qui vous offre une très bonne vue en arborescence de tous les espaces de noms et classes que fournit la bibliothèque de classes de base (BCL).
Mais là où Reflector se distingue le plus, c'est dans sa capacité à décompiler les assemblys .NET et à présenter les résultats, non pas en IL mais en équivalent C# ou Microsoft® Visual Basic® .NET. Bien sûr, la fidélité du procédé n'est pas absolue (on perd par exemple les noms de variables locales), mais ainsi va la vie (et la programmation).
Donc, j'ai donc examiné le System.Web de fond en comble jusqu'à ce que je trouve une classe appelée CrossSiteScriptingValidation. Nom prometteur...
Etc.
Maintenant, nous avons besoin d'une classe personnalisée Exception qui est dérivée de ApplicationException et qui sera appelée avec pertinence HttpRequestValidationException. C'est incidemment le même nom que celui qu'utilise ASPNET 1.1, mais dans un espace de noms différent.
Partager