
Uma biblioteca para criar, ler e editar arquivos PE e módulos .NET.
O AsmResolver é uma biblioteca para ler, modificar e reconstruir arquivos Portable Executable (PE). Ele suporta imagens PE executadas nativamente no Windows, bem como imagens contendo metadados gerenciados (.NET).
O AsmResolver é distribuído sob a licença MIT.
O AsmResolver tem muitos recursos. Abaixo está uma lista não exaustiva dos destaques:
System.Reflection.
Builds Estáveis:
Builds Noturnos:
| Branch | Status da compilação |
|---|---|
| master | |
| development |
A solução pode ser compilada usando o .NET SDK ou um IDE compatível (por exemplo, Visual Studio e JetBrains Rider). Os pacotes principais têm como alvo versões LTS de vários 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).
Para compilar o projeto pela linha de comando, use:
$ dotnet build
Para executar todos os testes, use:
$ dotnet test
Para que os testes sejam executados com sucesso, você precisará ter versões adicionais do runtime .NET instaladas (incluindo versões STS ou versões declaradas EOL), pois os testes unitários verificam a leitura de binários direcionados a vários runtimes .NET.
Para executar os testes com sucesso no MacOS e no Linux, espera-se que mono e wine também estejam instalados.
O AsmResolver começou como um projeto de hobby, mas cresceu e se tornou um projeto comunitário com vários contribuidores. Sem essas pessoas, o AsmResolver não estaria onde está hoje!
Um agradecimento especial a todas as pessoas que contribuíram diretamente com commits de código ou financeiramente por meio dos patrocinadores do GitHub.
Um agradecimento especial às pessoas do @MonoMod por ajudarem com a compatibilidade com o .NET Framework 3.5.
Outro grande agradecimento a todas as pessoas que sugeriram novos recursos, forneceram feedback sobre o design da API, realizaram testes extensivos e/ou relataram bugs no quadro de problemas, por e-mail ou por mensagens diretas.
Se você sentir que foi sub-representado nestes agradecimentos, sinta-se à vontade para entrar em contato.