• Treczoks@lemmy.world
    link
    fedilink
    arrow-up
    6
    arrow-down
    1
    ·
    3 days 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
      3
      ·
      3 days 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?

      • Treczoks@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        1 day ago

        No, there are tools like “hex editors” that allow to edit a file in a more controlled way. I don’t think opening a binary file in notepad would do anything good to that file…

      • mdk@feddit.org
        link
        fedilink
        arrow-up
        7
        ·
        edit-2
        2 days 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
          3
          ·
          edit-2
          2 days ago

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