ronin-code-asm icon indicating copy to clipboard operation
ronin-code-asm copied to clipboard

A Ruby DSL for crafting assmebly programs and shellcode.

Results 20 ronin-code-asm issues
Sort by recently updated
recently updated
newest added

[displacement](https://en.wikipedia.org/wiki/ModR/M#SIB_byte) is the correct terminology wrt x86/x86-64.

enhancement
rename

Add a common `Operand` base class that all other operand classes inherits from.

enhancement

Add code generation code which parses the x86 ISA XML file and generates Ruby `Instruction` classes for all instructions. It should also generate one giant `instructions.rb` file which uses `autoload`...

feature
x86
codegen

Initialize `Register` using keyword arguments for `width:` and `general_purpose:`.

enhancement

Rename all methods and instance variables called `width` to `size`.

enhancement

Add a command which can disassemble a file, a raw string, or a hex escaped string, and print the disassembled instructions. Bonus feature would be to print the instructions with...

feature
command

Add parsers for parsing assembly source. We could use [racc](https://github.com/ruby/racc) which was also used in [aarch64's `parser.y`](https://github.com/tenderlove/aarch64/blob/main/lib/aarch64/parser.y). We should have separate parsers for ATT and Intel syntax. We may be...

feature

Use the ISA XML codegen functionality from #27 to generate disassemblers for x86-64 and arm64. This will allow us to disassemble raw shellcode back into a stream of instructions and...

feature

Add a pure-Ruby assembler backend, instead of relying on YASM to produce shellcode. This would likely take the form of having each architecture module define it's own `Assembler` class. These...

feature
idea
help-wanted
future