{"id":18745666,"url":"https://github.com/washi1337/asmresolver","last_synced_at":"2025-05-16T10:07:36.497Z","repository":{"id":7037906,"uuid":"8314265","full_name":"Washi1337/AsmResolver","owner":"Washi1337","description":"A library for creating, reading and editing PE files and .NET modules.","archived":false,"fork":false,"pushed_at":"2025-05-12T08:48:21.000Z","size":9910,"stargazers_count":953,"open_issues_count":20,"forks_count":133,"subscribers_count":37,"default_branch":"master","last_synced_at":"2025-05-16T10:07:26.953Z","etag":null,"topics":["assembler","cil","disassembler","dotnet","il","malware-analysis","msil","parser","pe","portable-executable","reader","reverse-engineering","writer"],"latest_commit_sha":null,"homepage":"https://docs.washi.dev/asmresolver/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Washi1337.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2013-02-20T14:07:25.000Z","updated_at":"2025-05-15T16:01:39.000Z","dependencies_parsed_at":"2024-05-17T15:37:20.282Z","dependency_job_id":"6c3d674c-1855-4448-9fa4-36bec7e5e54c","html_url":"https://github.com/Washi1337/AsmResolver","commit_stats":{"total_commits":2275,"total_committers":29,"mean_commits":78.44827586206897,"dds":"0.23208791208791213","last_synced_commit":"d70c022e90972046bd70648adf900d2aedd99267"},"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Washi1337%2FAsmResolver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Washi1337%2FAsmResolver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Washi1337%2FAsmResolver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Washi1337%2FAsmResolver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Washi1337","download_url":"https://codeload.github.com/Washi1337/AsmResolver/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254509476,"owners_count":22082891,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["assembler","cil","disassembler","dotnet","il","malware-analysis","msil","parser","pe","portable-executable","reader","reverse-engineering","writer"],"created_at":"2024-11-07T16:19:07.100Z","updated_at":"2025-05-16T10:07:31.465Z","avatar_url":"https://github.com/Washi1337.png","language":"C#","funding_links":["https://github.com/sponsors/Washi1337"],"categories":[],"sub_categories":[],"readme":"# AsmResolver\n\n [![Master branch build status](https://img.shields.io/appveyor/ci/Washi1337/AsmResolver/master.svg)](https://ci.appveyor.com/project/Washi1337/asmresolver/branch/master)\n [![Nuget feed](https://img.shields.io/nuget/v/AsmResolver.svg)](https://www.nuget.org/packages/AsmResolver/)\n [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n [![Discord](https://img.shields.io/discord/961647807591243796.svg?label=\u0026logo=discord\u0026logoColor=ffffff\u0026color=7389D8\u0026labelColor=6A7EC2)](https://discord.gg/Y7DTBkbhJJ)\n\nAsmResolver is a library for reading, modifying and reconstructing Portable Executable (PE) files. It supports PE images running natively on Windows, as well as images containing managed (.NET) metadata.\n\nAsmResolver is released under the MIT license.\n\n\n## Main Features\n\nAsmResolver has a lot of features. Below is a non-exhaustive list of the highlights:\n\n- [x] Create, read, modify, write and patch PE files.\n  - [x] Full access to sections, data directories and their interpretations.\n  - [x] Import Address Table (IAT) reconstruction and trampolining.\n  - [x] Full control over the layout of the final PE file output.\n- [x] Rich support for various Win32 resource types.\n- [x] Rich support for .NET metadata with an intuitive API similar to `System.Reflection`.\n  - [x] Managed, native and dynamic method body support.\n  - [x] Easy metadata importing and cloning.\n  - [x] Managed resource file serializers and deserializers.\n  - [x] Support for AppHost / SingleFileHost bundles.\n  - [x] Support for ReadyToRun (R2R) binaries.\n- [x] Rich read support for PDB and PortablePdb symbols.\n  - [x] Fully managed cross-platform API (No DIA or similar required).\n- [x] .NET 3.5 compatible.\n- [x] Cross-platform (Windows and *nix, .NET standard 2.0 and Mono compatible).\n- [x] Documented.\n- [x] Unit tested.\n\n\n## Documentation\n\n- [Guides](https://docs.washi.dev/asmresolver)\n- [API Reference](https://docs.washi.dev/asmresolver/api/core/AsmResolver.html)\n\n\n## Support\n\n- [Issue Tracker](https://github.com/Washi1337/AsmResolver/issues)\n- [Discussion Board](https://github.com/washi1337/asmresolver/discussions)\n- [Discord](https://discord.gg/Y7DTBkbhJJ)\n\n## Binaries\n\nStable Builds:\n\n- [NuGet Feed](https://www.nuget.org/packages/AsmResolver/)\n- [GitHub Releases](https://github.com/Washi1337/AsmResolver/releases)\n\nNightly Builds:\n\n- [AppVeyor](https://ci.appveyor.com/project/Washi1337/asmresolver/build/artifacts)\n- [Nightly Nuget Feed](https://nuget.washi.dev/)\n\n| Branch | Build status |\n|--------|--------|\n| master | [![Master branch build status](https://img.shields.io/appveyor/ci/Washi1337/AsmResolver/master.svg)](https://ci.appveyor.com/project/Washi1337/asmresolver/branch/master) |\n| development | [![Development branch build status](https://img.shields.io/appveyor/ci/Washi1337/AsmResolver/development.svg)](https://ci.appveyor.com/project/Washi1337/asmresolver/branch/development)\n\n\n## Compiling\n\nThe solution can be built using the .NET SDK or an IDE that works with it (e.g., Visual Studio and JetBrains Rider). The main packages target LTS versions of various .NET runtimes (.NET 3.5, .NET Standard 2.0, .NET Standard 2.1, .NET Core 3.1, .NET 6.0, .NET 8.0).\n\nTo build the project from the command line, use:\n```bash\n$ dotnet build\n```\n\nTo run all tests, use:\n```bash\n$ dotnet test\n```\nFor running the tests successfully, you will need to have additional versions of .NET installed (including STS versions or versions declared EOL), as the unit tests verify reading binaries targeting various .NET runtimes.\nTo run the tests successfully on MacOS and Linux, `mono` and `wine` are expected to be installed as well.\n\n\n## Contributing\n\n- See [CONTRIBUTING.md](CONTRIBUTING.md).\n\n\n## Acknowledgments\n\nAsmResolver started as a hobby project but has grown into a community project with various contributors. Without these people, AsmResolver would not have been where it is today!\n\n- Special thanks to all the people who contributed [directly with code commits](https://github.com/Washi1337/AsmResolver/graphs/contributors) or monetarily via [GitHub sponsors](https://github.com/sponsors/Washi1337).\n\n- Special thanks to the people at [@MonoMod](https://github.com/MonoMod) for helping with .NET 3.5 compatibility.\n\n- Another big thank you to all the people that suggested new features, provided feedback on the API design, have done extensive testing, and/or reported bugs on the [issue board](https://github.com/Washi1337/AsmResolver/issues), by e-mail, or through DMs.\n\nIf you feel you have been under-represented in these acknowledgments, feel free to reach out.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwashi1337%2Fasmresolver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwashi1337%2Fasmresolver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwashi1337%2Fasmresolver/lists"}