are decompilers accurate? i know nothing about compilers or the sorcery involved fwiw

are decompilers accurate?

i know nothing about compilers or the sorcery involved fwiw

Mike Stoklasa's Worst Fan Shirt $21.68

UFOs Are A Psyop Shirt $21.68

Mike Stoklasa's Worst Fan Shirt $21.68

  1. 1 month ago
    Anonymous

    >accurate
    What is this supposed to mean? Decompilers preserve the semantics of the machine code, which is hard enough. They can't restore the original code.

    • 1 month ago
      Anonymous

      > the decompiled code they spit out does the same thing as the binary/assembly
      I would love to know what magic decompiler you are using, because I am not aware of such tool that is good enough to create correct working code.

      They're accurate in the sense that the decompiled code they spit out does the same thing as the binary/assembly you feed into them. Whether it's comprehensible or useful to you is another matter.

      No, not even close. You would probably need AGI to implement an accurate decompiler. Also, there is a major difficulty with decompiling, no good target language, C with all its undefined behavour and other issues makes it a terrible language to decompile into, and there really arn't any other good low-level systems languages.

      #[naked]
      unsafe extern "C" fn decompiled() {
      asm! {
      // code goes here
      }
      }

  2. 1 month ago
    Anonymous

    I think that mostly depends on how much information you have about the binary you're decompiling, for example if you know what compiler was used then configure your decompiler to parse the binary based on that compiler.

    In the process of building a binary the source code is also converted to assembly, which can heavily optimize the code to the point where information from the source code is lost. So the binary may be missing information from that step.

  3. 1 month ago
    Anonymous

    Nakaadashi

  4. 1 month ago
    Anonymous

    it depends

    • 1 month ago
      Anonymous
      • 1 month ago
        Anonymous

        go I would love having a yunyun to hug and make passionate love.

    • 1 month ago
      Anonymous

      They're accurate in the sense that the decompiled code they spit out does the same thing as the binary/assembly you feed into them. Whether it's comprehensible or useful to you is another matter.

      Dumb tranime poster

      • 1 month ago
        Anonymous

        Why do i have a hunch op does not have self awareness and is most likely an NPC? Is it just me? am i schizo?

      • 1 month ago
        Anonymous

        yunyun is straight man choice by default so frick off homosexual

        • 1 month ago
          Anonymous

          no women like yunyun. they are chad only. if you identify with yunyun you are either gay or incel.

          • 1 month ago
            Anonymous

            Straight men are incels. No one in their right mind would ever mingle with a woman anymore, their days are over.

          • 1 month ago
            Anonymous

            How does it feel like having a gf?
            I bet its nice when u cuddle.
            I wish I had a gf to cuddle with.
            Instead I just bite the bullet and do the real hard work you never will. I am superior to normies like you.

          • 1 month ago
            Anonymous

            Human beings are disgusting. The only good human is a dead human.

  5. 1 month ago
    Anonymous

    No, not even close. You would probably need AGI to implement an accurate decompiler. Also, there is a major difficulty with decompiling, no good target language, C with all its undefined behavour and other issues makes it a terrible language to decompile into, and there really arn't any other good low-level systems languages.

  6. 1 month ago
    Anonymous

    They're accurate in the sense that the decompiled code they spit out does the same thing as the binary/assembly you feed into them. Whether it's comprehensible or useful to you is another matter.

    • 1 month ago
      Anonymous

      > the decompiled code they spit out does the same thing as the binary/assembly
      I would love to know what magic decompiler you are using, because I am not aware of such tool that is good enough to create correct working code.

      • 1 month ago
        Anonymous

        Ghidra?

  7. 1 month ago
    Anonymous

    No decompiled code isn't the same without seeing the slurs in the comments.

  8. 1 month ago
    Anonymous

    Decompilers cannot work in principle. There is no decompile to a a high level language that compiles back to the same bytecode. High level languages are simply too limited for this.

    • 1 month ago
      Anonymous

      >simply
      gtfo youre not qualified

      • 1 month ago
        Anonymous

        So what are your qualifications?

        • 1 month ago
          Anonymous

          Just you know not being moronic. Maybe a little bit of critical thinking too.

          • 1 month ago
            Anonymous

            >none whatsoever
            Got it.

    • 1 month ago
      Anonymous

      Actually languages which compile to bytecode are some of the easiest to decompile. Java and C# decompilers are so good you can often execute their output. This is because the format is standard, there is a single compiler, and there is extensive metadata.

      Native decompilers cannot be so accurate, there is often no metadata at all. In a natively compiled binary the first problem is to separate the code from data and disassemble it. This is difficult and often inaccurate, the user is expected to correct it. You can forget about things like data "types", it's all bytes. You can forget about recovering structure accurately because the compiler does what's efficient; unrolls loops, inlining function calls, etc. There are many more challenges to decompiling that you can look into if you're interested.

      So a native decompiler's job really isn't to be accurate or to produce source equivalent output. It's to make the job of the reverse engineer simper by taking what you give it, and doing its best to make it easier to understand.

    • 1 month ago
      Anonymous

      There's a lot of manual intervention required to fix things that are mangled or misinterpreted in the process, but in general yes. And also, to gain any meaning or complete understanding of how logic flows within the program, a lot more work is needed.

      You need to get the frick off IQfy and take a CS101 class. Any Turing complete system can be used to emulate another Turing complete system, which means you can use any given programming language to emulate any other programming language with enough effort. People have made full on RISC-V computers within Terraria and Scratch, which themselves are made up of extremely high level languages.

      • 1 month ago
        Anonymous

        >Turing complete
        Christ, it's only getting stupider in here.

        Next time just google, OP. Only idiots in IQfy.

  9. 1 month ago
    Anonymous

    With full debugging symbols they can do a reasonable job. Not perfect, but recognizable.
    Without debugging symbols... well, what you see is just awful (for C) or worse (for C++) in that you can get SOMETHING but it won't necessarily bear even a passing resemblance to the original. I've never tried reversing other languages that go direct to machine code.
    I believe you can do better when going from JVM bytecode to Java or .NET CIL to C#; there's more information there.

Your email address will not be published. Required fields are marked *