Back to browse
Using LLMs and differential testing to convert code

Using LLMs and differential testing to convert code

by seddonm1·Feb 23, 2026·2 points·0 comments

AI Analysis

●●SolidBig BrainWizardry

LLM-powered decompilation with differential testing beats guesswork, but verification burden remains.

Strengths
  • Clever use of Claude to handle borrow-checker and language idioms automatically, not just direct translation.
  • Differential testing approach genuinely solves the hard problem: verifying correctness of LLM-generated code.
  • Real-world validation on complex runtime code (spell casting logic) shows practical viability beyond toy examples.
Weaknesses
  • Narrow audience: primarily academic or security researchers; most developers won't reverse engineer binaries.
  • Verification still relies on behavioral testing—doesn't catch subtle memory safety bugs or side-channel issues in critical code.
Target Audience

Reverse engineers, binary analysis researchers, systems programmers

Similar To

Ghidra (NSA's reverse engineering framework) · Radare2 · Sourcegraph Cody for code migration

Post Description

This is the second part of a post aligned with a talk I gave recently at the Sydney Rust meetup.

I have found significant success in this process converting decompiled code and also converting source code from python to go. Give an LLM a target and they can be extremely stubborn (in a good way).

Similar Projects

AI/MLPass

Binary is no longer safe

Uses differential-property testing as an automated feedback loop to validate LLM-driven rewrites — that's the clever bit that turns flaky translations into repeatable refinement. The author targets a closed-source MUD DLL to avoid model memorization and walks through why raw assembly prompts failed and how decompiled C+tests + LLM translation to Rust succeeds. It's a thoughtful, slightly alarming demo with concrete techniques you can try yourself, not just vaporware.

WizardryBig BrainNiche Gem
seddonm1
303mo ago