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?

  • melfie@lemmy.zip
    link
    fedilink
    arrow-up
    8
    ·
    edit-2
    2 days ago

    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.

    • LouNeko@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      4 hours ago

      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.

      • melfie@lemmy.zip
        link
        fedilink
        arrow-up
        1
        ·
        3 hours ago

        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.