Skip to content
This repository has been archived by the owner on May 23, 2020. It is now read-only.

SharpAssembler is a library that assembles machine instructions (e.g. x86-64) represented as managed .NET objects. It provides an intuitive object model that can be manipulated and emitted to various object file formats (e.g. bin, elf) from C# and other .NET languages.

License

Konctantin/CSharpAssembler

Repository files navigation

SharpAssembler is a library that assembles machine instructions (e.g. x86-64) represented as managed .NET objects. It provides an intuitive object model that can be manipulated and emitted to various object file formats (e.g. bin, elf) from C# and other .NET languages.

Current status

There is support for:

  • x86-64 general instructions
  • BIN file format Soon there will be support for:
  • x86-64 special instructions
  • ELF file format

Installation instructions

Extract the ZIP archive somewhere, and reference the DLL files from your project. You'll need to reference at least the Core library (SharpAssembler Core.dll), and add anything you may want to use. The following add-on libraries are included:

  • x86-64 architecture (in SharpAssembler x86-64.dll)
  • BIN file format (in SharpAssembler Bin File Format.dll)

The libraries have Code Contracts applied to them. You are not required to support them, and it will still work. However, if you want to support them, you can get the Code Contracts Development Tools from the Microsoft DevLabs website.

Support

You can get support at the SharpAssembler website. For anything from bugs, feature requests, suggestions, documentation errors, inconsistencies and things that are not clear you may create a new ticker or start a new forum discussion topic.

License

SharpAssembler is licensed under GPL version 3. The intention is to make this library a contribution to the open source community. If you or your open source project have any specific license requirements, please contact us and we can talk about it.

About

SharpAssembler is a library that assembles machine instructions (e.g. x86-64) represented as managed .NET objects. It provides an intuitive object model that can be manipulated and emitted to various object file formats (e.g. bin, elf) from C# and other .NET languages.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages