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?


I tested REA with Qwen 3.8 27B with a narrow solver capability from some commercial 3d software and it was quick to extract 20,000 lines of Ghidra C-like pseudocode, but painfully slow to turn it into actual C++. It struggled interpreting all the matrix math and making something that actually worked. I stopped after a couple days of it churning, figuring it could spend a couple weeks and end up with worthless slop. I’m a software engineer and don’t have a background in RE, so maybe someone with more experience would do better.
Qwen 3.8 is not the smartest cookie when it comes to math. If the math is based on a research paper you can usually chug it in the context and it actually manages to one-shot the solution. But just from code alone it’s not smart enough to figure out what the purposes of some matrices are and formulae are. I’d say it’s on a junior coder level, it needs to get access to further research to actually understand implementations.
It would seem so and I’m guessing it might do better with REA and something that isn’t math-heavy. What surprised me most is that it dove right in even though it’s supposed to refuse RE.