5 points
*
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:
1 point
*
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?