Deterministic Binary Translation
- Experts achieve performance on par with or better than QEMU’s user-mode JIT emulation
- Translation technology has limitations, including handling self-modifying code and adversarial binaries
- Static translation is only possible when assuming no adversarial code and mostly compiler-produced binaries
Introduction
Deterministic fully-static whole-binary translation without heuristics is a complex topic. Experts have made significant progress in this field.
The Buzz Score
The Internet’s Verdict: 70% Hyped, 30% Skeptical
Experts have mixed opinions on the technology. Some are impressed with its performance, while others are skeptical about its limitations.
Expert Opinions
One expert notes that
> Elevator achieves performance on par with or better than QEMU’s user-mode JIT emulation.
Another expert comments that
relative offsets could still be an issue, but it seems there must be some translation layer/mm since the codegen will be different sizes anyway.
A third expert warns that
static translation is only possible when you assume no adversarial code AND mostly assume compiler-produced binaries.
Conclusion
Deterministic fully-static whole-binary translation without heuristics is a promising technology with significant performance gains. However, it also has limitations that need to be addressed.
Focus Keyword: Binary Translation