I am aware of existing decompilation tools like Ghidra which give you close-to-original pseudocode.
But I think reverse engineering might be a place for ML to shine… After all, you got an empty source file, and a target binary to reach. You can automatically check everything by doing test compilations and comparing with the target binary.
ML is really good for pattern recognition, which is a huge part of reverse engineering. Though at the same time, I experienced firsthand how bad LLMs are in assembly since they don’t “think” or have a hard time tracking state machines.
I am aware that a big part of reverse engineering is not getting something that compiles, but rather, figuring out variable names, function definitions and how a piece of software works in general. But I think, with human help, it could help decompilations drastically. What do you think?


It works and I’ve been playing around with it for the past week. Not really knowing what I’m doing, because my background is in software development, not reverse engineering, I’ve been running into the usual problems with badly guided agents. My project is cluttered, I don’t really know what’s important, progress is rather slow. But there is progress and I’m sure someone with more RE knowledge can make the process more efficient.
I’m looking forward to getting some of my favourite old games running on modern systems using this.