• Fonzie!
      link
      fedilink
      arrow-up
      5
      ·
      edit-2
      1 month ago
      global _main
          extern  _GetStdHandle@4
          extern  _WriteFile@20
          extern  _ExitProcess@4
      
          section .text
      _main:
          ; DWORD  bytes;    
          mov     ebp, esp
          sub     esp, 4
      
          ; hStdOut = GetstdHandle( STD_OUTPUT_HANDLE)
          push    -11
          call    _GetStdHandle@4
          mov     ebx, eax    
      
          ; WriteFile( hstdOut, message, length(message), &bytes, 0);
          push    0
          lea     eax, [ebp-4]
          push    eax
          push    (message_end - message)
          push    message
          push    ebx
          call    _WriteFile@20
      
          ; ExitProcess(0)
          push    0
          call    _ExitProcess@4
      
          ; never here
          hlt
      message:
          db      '¯\\\_(ツ)\_/¯', 10
      message_end:
      
      • Lightscription@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        1 month ago

        Do you want to show us what that looks like in assembly, ASCII from machine code? …ha, ha, ha, no!

        Depends on the device, I know. Such a pain without the higher level languages.

        What would it look like for ARM android touch screens? Just for one character…

        But if some characters go missing or are exchanged for others for no discernable reason, then might that be an exploit on a EC or assembly level?