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

The Kind of Tired That Sleep Won’t Fix Shirt $21.68

UFOs Are A Psyop Shirt $21.68

The Kind of Tired That Sleep Won’t Fix Shirt $21.68

  1. 4 weeks 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.

    • 4 weeks 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. 4 weeks 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. 4 weeks ago
    Anonymous

    Nakaadashi

  4. 4 weeks ago
    Anonymous

    it depends

    • 4 weeks ago
      Anonymous
      • 4 weeks ago
        Anonymous

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

    • 4 weeks 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

      • 4 weeks 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?

      • 4 weeks ago
        Anonymous

        yunyun is straight man choice by default so frick off homosexual

        • 4 weeks ago
          Anonymous

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

          • 4 weeks ago
            Anonymous

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

          • 4 weeks 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.

          • 4 weeks ago
            Anonymous

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

  5. 4 weeks 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. 4 weeks 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.

    • 4 weeks 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.

      • 4 weeks ago
        Anonymous

        Ghidra?

  7. 4 weeks ago
    Anonymous

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

  8. 4 weeks 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.

    • 4 weeks ago
      Anonymous

      >simply
      gtfo youre not qualified

      • 4 weeks ago
        Anonymous

        So what are your qualifications?

        • 4 weeks ago
          Anonymous

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

          • 4 weeks ago
            Anonymous

            >none whatsoever
            Got it.

    • 4 weeks 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.

    • 4 weeks 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.

      • 4 weeks ago
        Anonymous

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

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

  9. 4 weeks 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 *