• Treczoks@lemmy.world
      link
      fedilink
      arrow-up
      5
      arrow-down
      1
      ·
      22 hours ago

      Well, a software (I.e. a. exe file) is a long list of numbers. Some are commands like “do something when the user clicks there”, some are data, like text on a button.

      If you are very familiar with those intricacies, you can change a few bytes here or there to change what the program does.

      • datavoid@sh.itjust.works
        link
        fedilink
        arrow-up
        2
        ·
        17 hours ago

        I’m more curious as to the process than the concept I guess. Open your exe in notepad, hold alt, and mash the numpad?

        • mdk@feddit.org
          link
          fedilink
          arrow-up
          3
          ·
          edit-2
          7 hours ago

          This all is under the umbrella of reverse engineering or software cracking. This is an old e-magazine (https://www.exploit-db.com/ezines/kr5hou2zh4qtebqk.onion/ARTeam/ARTeam.Ezine.Number2.pdf) showing a rather easy way to add a menu to notepad (Windows XP/7/10) to add functionality. This is in chapter 1. In this case only small modifications are done in the original software (resources and loading a dll), but the changes could have been done without a dll library using code caves or a new section instead.

          Reverse engineering is a very large area containing many topics, depending on the software, the methods, the hardware, and even the operating systems. So you need to learn a lot. It starts from crackmes, patching, debugging and reading assembler code. Then it goes to anti debugging techniques, manual unpacking of protections/packers, understanding protocols and file formats, keygenning, custom authentication servers, inline patching, copy protections (disc based and online) hypervisors and drivers and much much more.

          • datavoid@sh.itjust.works
            link
            fedilink
            arrow-up
            1
            ·
            edit-2
            2 hours ago

            That’s for sharing, now im wondering why my highly relevant degree never bothered to discuss reverse engineering!