Deterministic Fully-Static Whole-Binary Translation Without Heuristics
matt_d
63 points
6 comments
May 13, 2026
Related Discussions
Found 5 related stories in 740.2ms across 14,015 title embeddings via pgvector HNSW
- Low-Compilation-Cost Register Allocation in LLVM-Based Binary Translation matt_d · 68 pts · April 29, 2026 · 52% similar
- The mechanics of autonomous software translation alpaylan · 11 pts · March 11, 2026 · 52% similar
- Programmable Probabilistic Computer with 1M p-bits rbanffy · 48 pts · June 28, 2026 · 50% similar
- Coding agents think ahead of time andre15silva · 89 pts · July 14, 2026 · 49% similar
- Unified Controllable and Faithful Text-to-CAD Generation with LLMs PaulHoule · 58 pts · June 09, 2026 · 46% similar
Discussion Highlights (2 comments)
dmitrygr
Cute, but Rice's theorem remains, and while they translated every byte as code, still no handling is possible for char buf[] = {0xB8, 0x2A, 0x00, 0x00, 0x00, 0xC3}; return ((int (*)(void))buf)(); static translation is only possible when you assume no adversarial code AND mostly assume compiler-produced binaries. hand-rolled asm gets hard, and adversarial code is provably unsolvable in all cases. still, pretty cool for cooperative binaries
jonhohle
This is neat. I haven’t looked into it, but I would think relative offsets could still be an issue, but it seems there must be some translation layer/mmu since the codegen will be different sizes anyway. This would impact jump tables and internal branches, primarily. I mostly work on stuff from the 90s, but disassemblers make a lot of assumptions about where code starts and ends, but occasionally a binary blob is not discoverable unless you have some prior knowledge (pointer at a fixed location to an entry point). I would think after a few passes you could refine the binary into areas that are definitely code.