Random thought -- academic research in decompilation technology often assumes that correctness is the highest goal of decompilation. I'd actually argue it's not always. There are other priorities that are often just as important!
Comments
Log in with your Bluesky account to leave a comment
I've found it extremely useful in the past that I can sometimes copy and paste decompiled code into a file, compile, and run it. I don't really know if this requires absolute correct output or just functionally identical. Really nice for both work and ctf. Compile errors in decompiled code are sad.
Consider a decompiler that emits inline asm. It's more correct than one that emits C but is sometimes wrong. Which one is more useful? I love Zion Basque's (and others) work who also focus on readability. Correctness is important, but it's often over-emphasized in literature.
Related: how you deal with adversarial code vs how you handle typical compiler output. Which do you optimize for? Totally different approaches are required and optimizing for one will hurt your ability to do the other.
Comments