• Fonzie!@ttrpg.network
    link
    fedilink
    arrow-up
    5
    ·
    edit-2
    4 months 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
      4 months 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?