• ono@lemmy.ca
    link
    fedilink
    English
    arrow-up
    56
    arrow-down
    3
    ·
    2 years ago

    Cute. It would be funnier if it was correct.

      • slst@lemmy.blahaj.zone
        link
        fedilink
        arrow-up
        21
        arrow-down
        1
        ·
        2 years ago

        A decompiler doesnt give you access to the comments, variable names, which is an important part of every source code

        • over_clox@lemmy.world
          link
          fedilink
          arrow-up
          4
          arrow-down
          6
          ·
          2 years ago

          And? Decompilers aren’t for noobs. So what if it gives you variable and function names like A000, A001, etc?

          It can still lead a seasoned programmer where to go in the raw machine code to mod some things.

        • over_clox@lemmy.world
          link
          fedilink
          arrow-up
          1
          arrow-down
          1
          ·
          2 years ago

          No, it’s actually better when you can read the machine code.

          Most folks don’t care to recompile the whole thing when all they wanna do is bypass the activation and tracker shit.

          • SpaceNoodle@lemmy.world
            link
            fedilink
            arrow-up
            2
            ·
            2 years ago

            Having access to the source code actually makes reading machine code easier, so you’re also wrong on this entirely different thing you’re going on about.

            • over_clox@lemmy.world
              link
              fedilink
              arrow-up
              1
              arrow-down
              1
              ·
              2 years ago

              I never said disassembly or decompiling was easier in any way. I’ll agree with you on that, it’s way more difficult.

              Back to the point of the meme though, if you can read assembly, you can read it all.

                • over_clox@lemmy.world
                  link
                  fedilink
                  arrow-up
                  1
                  arrow-down
                  1
                  ·
                  2 years ago

                  I’ve written drivers in 65 bytes of code. I don’t tend to use high level languages that hide what’s going on behind the scenes.

            • over_clox@lemmy.world
              link
              fedilink
              arrow-up
              1
              arrow-down
              1
              ·
              2 years ago

              You’ve clearly never used a disassembler such as HIEW have you? You get the entire breakdown of the assembly code.

                • over_clox@lemmy.world
                  link
                  fedilink
                  arrow-up
                  1
                  arrow-down
                  1
                  ·
                  2 years ago

                  I didn’t say it was. I just said loosely what the OG meme said, if you know how to read assembly, you know how to read (and write) what some of the code does.

  • just_ducky_in_NH@lemmy.world
    link
    fedilink
    arrow-up
    22
    arrow-down
    1
    ·
    2 years ago

    Okay, boomer here, be gentle.

    So back in the ‘70s I dabbled in programming (now called “coding”, I hear). I only did higher-level languages like Fortran, Cobol, IBM Basic, but a friend had a job (at age 13!) programming in assembler. Is assembler now called assembly, or are they different?

    • fidodo@lemm.ee
      link
      fedilink
      arrow-up
      23
      ·
      2 years ago

      It’s still called programming, coding is the same thing. Assembler more commonly refers to the utility program that converts the assembly code to machine code while assembly refers to the code itself, but the term assembler code is also valid. It’s uncommon to simply call the code assembler because it would be easily confused with the utility program.

    • Thwompthwomp@lemmy.world
      link
      fedilink
      arrow-up
      9
      ·
      2 years ago

      I thought that the assembler is a specific program that translates mnemonics into the corresponding machine code. Perhaps in early computing this was done by hand so a person was the assembler (and worked in assembler), but now that is handled by software (and supports various macros). So programming in assembly would generate a stream of text that must be assembled by an assembler. (Although I have heard people refer to programming in assembler as well, just not often.)

      • lhamil64@programming.dev
        link
        fedilink
        arrow-up
        6
        ·
        2 years ago

        I hear people say “program in assembler” but IMO that’s wrong. I’d say you write the code in “assembly language” (or better yet, the actual architecture you’re using like “x86 assembly”) but you “assemble” it with an “assembler”. Kind of like how you could write a program in the “C language” and “compile” it with a “compiler”

    • Psythik@lemm.ee
      link
      fedilink
      arrow-up
      24
      ·
      2 years ago

      I can’t wait for AI to make a PC port of every console game ever so that we can finally stop using emulators.

    • perviouslyiner@lemm.ee
      link
      fedilink
      English
      arrow-up
      7
      ·
      2 years ago

      It was a staple of Asimov’s books that while trying to predict decisions of the robot brain, nobody in that world ever understood how they fundamentally worked.

      He said that while the first few generations were programmed by humans, everything since that was programmed by the previous generation of programs.

      This leads us to Asimov’s world in which nobody is even remotely capable of creating programs that violate the assumptions built into the first iteration of these systems - are we at that point now?

  • kamen@lemmy.world
    link
    fedilink
    English
    arrow-up
    16
    ·
    2 years ago

    Joke aside, that’s kind of like claiming that any web frontend is open source because you can access the built, minified and often obfuscated source of it.

    • Jocker Black@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      2 years ago

      So true! I have been “hacking” some chrome extensions recently, do you know of a tool for reverse engineering JS?

  • oldfart@lemm.ee
    link
    fedilink
    arrow-up
    14
    arrow-down
    1
    ·
    2 years ago

    IDA Pro (a disassembler) is closed source but came with a license that allowed disassembly and binary modification. Unfortunately, that’s no longer the case.

  • over_clox@lemmy.world
    link
    fedilink
    arrow-up
    10
    ·
    2 years ago

    If you wanna skip a few inconvenient instructions in X86 assembly, throw a few No Operation instructions in the right places.

    NOP = 0x90

    • SzethFriendOfNimi@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      1
      ·
      2 years ago

      And so you add a hashing check. But then that can be removed.

      So you need one in the OS but that can be removed.

      So you need one in hardware.

      In other words no matter how clever you are there’s always a way to monkey with something unless you have absolute control from silicon on up.

      Here’s a really interesting video the Xbox team did on the challenges of trying to make sure that the content running wasn’t pirated.

      https://youtu.be/U7VwtOrwceo

      While DRM is the bane of everybody there are cases where trust and integrity is important and it’s an intriguing look into how hard it is to manage.

      • grue@lemmy.ml
        link
        fedilink
        arrow-up
        5
        arrow-down
        1
        ·
        2 years ago

        While DRM is the bane of everybody there are cases where trust and integrity is important and it’s an intriguing look into how hard it is to manage.

        Nah, when the user wants to ensure trust and integrity in his own system, it works just fine. The problem comes when the user who needs to be able to access the data is simultaneously the adversary who needs to be stopped from accessing the data.

        In other words, it’s one of those situations where the fact that it’s hard to manage is a gigantic clue that it’s wrongheaded to try to do so in the first place.

        • SzethFriendOfNimi@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          ·
          2 years ago

          I agree. I mean when doing secure channel communications or weapons systems or health biometrics.

          There are cases where you need to be sure of the integrity of the data and environment

  • Cyborganism@lemmy.ca
    link
    fedilink
    arrow-up
    5
    arrow-down
    1
    ·
    2 years ago

    You can have the code of any software with a decompiler. Especially with Java and C# for example.