Keystone Engine: Next Generation Assembler Framework
summary
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
chapters (13)
- 0:00Introduction
- 0:12Meet Keystone
- 1:53The missing link
- 3:28The role of assemblers
- 5:00Challenges in assembling
- 6:42The need for Keystone
- 8:14Building on LLVM
- 10:20Implementation details
- 13:00Overcoming obstacles
- 15:33Keystone features
- 16:57Python demo
- 17:57Keypatch plugin
- 21:19Conclusion and Q&A
related talks
52mCapstone: Next Generation Disassembly Framework
01h 07mKeynote – Andy Keep
12mTool Talk: KLEE
47mThe (Long) Journey to a Multi-Architecture Disassembler
01h 00mJust Enough Assembly for Compiler Explorer
46mWhat C and C++ can do and when do you need Assembly?
01h 11mKeynote: C++ Horizons
19m"ClangBuiltLinux: What's Next?"
