
Une bibliothèque pour créer, lire et modifier des fichiers PE et des modules .NET.
AsmResolver est une bibliothèque pour lire, modifier et reconstruire des fichiers Portable Executable (PE). Elle prend en charge les images PE s'exécutant nativement sous Windows, ainsi que les images contenant des métadonnées managées (.NET).
AsmResolver est publié sous la licence MIT.
AsmResolver possède de nombreuses fonctionnalités. Voici une liste non exhaustive des points forts :
System.Reflection.
Builds stables :
Builds nocturnes :
La solution peut être compilée à l'aide du SDK .NET ou d'un IDE compatible (par exemple, Visual Studio et JetBrains Rider). Les principaux packages ciblent les versions LTS de différents runtimes .NET (.NET Framework 3.5, .NET Standard 2.0, .NET Standard 2.1, .NET Core 3.1, .NET 6.0, .NET 8.0, .NET 9.0, .NET 10.0).
Pour compiler le projet à partir de la ligne de commande, utilisez :
$ dotnet build
Pour exécuter tous les tests, utilisez :
$ dotnet test
Pour que les tests s'exécutent correctement, vous devez avoir installé des versions supplémentaires du runtime .NET (y compris les versions STS ou les versions déclarées en fin de vie), car les tests unitaires vérifient la lecture de binaires ciblant différents runtimes .NET.
Pour exécuter les tests avec succès sur MacOS et Linux, mono et wine doivent également être installés.
Le projet AsmResolver a commencé comme un projet de loisir, mais il est devenu un projet communautaire avec de nombreux contributeurs. Sans ces personnes, AsmResolver n'en serait pas là aujourd'hui !
Merci tout particulier à toutes les personnes qui ont contribué directement par des commits de code ou financièrement via les sponsors GitHub.
Un merci tout particulier aux personnes de @MonoMod pour leur aide sur la compatibilité .NET Framework 3.5.
Un autre grand merci à toutes les personnes qui ont suggéré de nouvelles fonctionnalités, fourni des commentaires sur la conception de l'API, effectué des tests approfondis et/ou signalé des bogues sur le tableau des problèmes, par e-mail ou par messages directs.
Si vous estimez que vos contributions ne sont pas suffisamment représentées dans ces remerciements, n'hésitez pas à nous contacter.