• @0x0@lemmy.zip
    link
    fedilink
    English
    323 months ago

    Sure, bring back Crowdstrike, that went well…

    Btw I wasn’t aware XOR was encrytion…

    • @Neverclear@lemmy.dbzer0.com
      link
      fedilink
      English
      21
      edit-2
      3 months ago

      XOR cleartext once with a key you get ciphertext. XOR the ciphertext with the same key you get the original cleartext. At its core this is the way the old DES cipher works.

      A bit of useful trivia: If you XOR any number with itself, you get all zeros. You can see this in practice when an assembly programmer XOR’s a register with itself to clear it out.

      • Quazatron
        link
        fedilink
        English
        143 months ago

        That’s how it was done in the old days to save a few cycles in Z80 assembly. XOR A instead of LD A, 0.

      • @PetteriPano@lemmy.world
        link
        fedilink
        English
        53 months ago

        Apple had this undocumented function for screenshotting back on iOS 3.1, and kind of let you use it while waiting for better frameworks in iOS 4.0

        At some point they started rejecting your app automatically if they found the symbol for that function in your app. I didn’t want to leave my 3.1 users in the dust for no reason, so I did the same trick to obfuscate the symbol name before dynamically linking it in.

        It worked right up until they stopped supporting iOS 3.1 completely.

      • @Malfeasant@lemm.ee
        link
        fedilink
        English
        4
        edit-2
        3 months ago

        an x86 assembly programmer

        Ftfy. not all CPUs have an xor register with itself instruction.

        • Q*Bert Reynolds
          cake
          link
          fedilink
          English
          43 months ago

          There are a lot more architectures than just x86 that are capable of XORing a register with itself (ie. ARM and RISC-V), and if you took OP to mean the accumulation register specifically, pretty much all CPUs going back as far as I can think have had that functionality.

          • @Malfeasant@lemm.ee
            link
            fedilink
            English
            03 months ago

            Yes, but it’s not universal that xoring a register with itself is more performant than simply loading it with 0.

                • Q*Bert Reynolds
                  cake
                  link
                  fedilink
                  English
                  13 months ago

                  No argument there. It’s also why it’s done in ARM, 8080, SM83, z80, 6502, and basically every other assembly language. It’s only not done in RISC-V because you can fold 0 into any instruction as an operand, therefore eliminating the need to clear a register before an instruction.

                  So why correct the person with a more narrow claim that makes it seem like xor being faster than loading zero is a rarity in CPU architectures? If I said “birds can fly”, and your response was “eagles can fly. Ftfy. Not all birds can fly”, it would be both true and utterly unhelpful.

    • @Zwuzelmaus@feddit.org
      link
      fedilink
      English
      43 months ago

      Btw I wasn’t aware XOR was encrytion…

      It’s even better than ROT13, because you always need to apply ROT13 twice for getting the good results…