Konctantin / CSharpAssembler

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.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

License:GNU General Public License v3.0


Languages

Language:C# 100.0%Language:Assembly 0.0%