Accueil
Articles
Astuces
Actualités
Auteurs
A propos
Contact
S'enregistrer
|
S'identifier
S'identifier
Authentification invalide
N
om d'utilisateur
M
ot de Passe
S
e souvenir de moi la prochaine fois.
S'identifier
Annuler
S'enregistrer
Mot de passe oublié ?
Modification d'assemblage et injection de code C# / VB.NET à la volée
Reflexil est un plugin pour Reflector permettant la modification des assemblages .NET. Il permet par exemple d'altérer le code IL d'un assemblage ou de travailler à plus haut niveau en injectant directement du code C#/VB dans le corps d'une méthode.
Par
Sébastien Lebreton
publié le 17/09/2007 à 00:34, lu 2823 fois, 9 pages
2 commentaire(s)
Tags:
C#
,
CLI
,
Framework .NET
,
Outils
6 | Retour sur l'injection de code C# / VB.NET
1 | Introduction
2 | Notre application de démonstration
3 | Modification du code à l'aide de l'éditeur d'instructions
4 | Retour sur l'éditeur d'instructions
5 | Compilation et injection de code C# / VB.NET à la volée
6 | Retour sur l'injection de code C# / VB.NET
7 | Gestionnaires d'exceptions
8 | Le cas des assemblages signés
9 | Conclusion et retour sur Mono.Cecil
Retour sur l'injection de code C# / VB.NET
La compilation du code s'effectue dans un AppDomain séparé pour une libération correcte des ressources. Elle repose sur le mécanisme offert par System.CodeDom. Une fois l'assemblage temporaire compilé, les instructions sont extraites puis réinjectés dans le corps de la méthode originale. Les références aux différents éléments (paramètres, variables, types, etc) sont ajustées pour correspondre aux attentes de l'assemblage original.
Il existe des limitations car pour l'instant il n'est pas possible de faire référence aux champs ni aux méthodes définis dans les types ancestraux du type propriétaire de la méthode originale.
1
2
3
4
5
6
7
8
9
»
Démarrer une discussion
Modification en cour d'éxécution
Chargement ...
Discussion démarée par
Noham Choulant
le 18/04/2008 à 13:53, 2 commentaire(s).
Ecrire un commentaire
Titre
Commentaire
Annuler