~/talk

Keystone Engine: Next Generation Assembler Framework

links:none on file
slides:none on file

Keystone is an assembler engine that compiles assembly to machine code for many CPUs and returns ready-to-run encodings; it ships as a single, thread-safe library and is open source. It bases its backend on LLVM MC so new instructions arrive quickly, fixes relative-branch encoding by accepting an assembly base address, propagates errors instead of exiting, and shrinks LLVM to a 10x smaller runtime. It includes an IDA patching plugin that works across architectures and supports Arm, Arm64, Hexagon, Mips, PowerPC, Sparc, SystemZ, x86 and has Python, NodeJS, Ruby, Go & Rust bindings.

AI-written summary · about

  1. 0:00Introduction
  2. 0:12Meet Keystone
  3. 1:53The missing link
  4. 3:28The role of assemblers
  5. 5:00Challenges in assembling
  6. 6:42The need for Keystone
  7. 8:14Building on LLVM
  8. 10:20Implementation details
  9. 13:00Overcoming obstacles
  10. 15:33Keystone features
  11. 16:57Python demo
  12. 17:57Keypatch plugin
  13. 21:19Conclusion and Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.