The first programs were written in binary/hexadecimal, and only later did we invent coding languages to convert between human readable code and binary machine code.

So why can’t we just do the same thing in reverse? I hear a lot about devices from audio streaming to footware rendered useless by abandonware. Couldn’t a very smart person (or AI) just take the existing program and turn it into code?

  • @Naich
    link
    -204 months ago

    You could chuck it at an AI to reverse compile it into something readable.

    • peopleproblems
      link
      fedilink
      244 months ago

      Instead of just getting the down votes, I’ll explain why that wouldnt work.

      1. The AI itself cannot decompile it without the same tools I would use. The AI would then end up with the same starting spot I have.
      2. Current LLMs do not know how to interpret code logic, and would likely make mistakes in Syscalls, register addresses, and instructions.
      3. Assembly languages themselves have nothing further than instruction sets. I’m sure there are ways to organize it in the super rare case of actually writing assembly, but not to the effect of object oriented or functional programming.

      Lastly, other comments have pointed out decompiled code is extremely expensive to analyze. The output from whatever we decompile would easily exceed the input limits for all existing LLMs.

      • @Naich
        link
        04 months ago

        Thanks. I was thinking that you could have an AI “looking over the shoulder” of a compiler, seeing what comes out for the code going in to it. Basically training it to spot sequences in compiled code in order to guess the instructions that compiled into that code.