Skip to content

X86/64 lightweight JIT-assembler library written in Rust

Notifications You must be signed in to change notification settings

m4drat/spark-jit

Repository files navigation

Spark JIT

Warning

Work in progress

This project originally started as an unrealized CTF task. I wanted to write a custom JIT compiler for a simple language. The challenge has since been abandoned (mostly because I started to work on it a day before the CTF 😅), but the core of it - the JIT compiler - has been extracted and is now being developed as a standalone project.

The goal of this project is to practice writing some Rust code as well as to study instrution encodings, and of course to reinvent the wheel :)

P.S. This project in no way is intended to be used in production (or anywhere close). If you're looking for something more serious, check some of these projects:

  1. iced
  2. yaxpeax-x86
  3. dynasm-rs
  4. zydis
  5. nyxstone
  6. keystone

References

  1. A lot of inspiration was taken from this great project: juicebox-asm.
  2. As a reference implementation I used LibJIT from SerenityOS.
  3. As instructions encoding reference I used

About

X86/64 lightweight JIT-assembler library written in Rust

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages