💀
NASM & Microsoft Win64 Calling Convention
Pasamos los punteros de los strings usando los registros `RCX` y `RDX`, llamamos el Call nativo del DLL, y la pila hace el resto. Protocol Orzatty procesará todo internamente usando intrinsics AVX2.
section .data
bind_port db "0", 0
remote_addr db "127.0.0.1:4433", 0
msg db "Soy un Hacker Orzatty usando Assembly x64", 0
section .text
global main
extern po_client_new
extern po_client_send
main:
; Configurar sombra de pila (32 bytes) para Win64
sub rsp, 40
lea rcx, [rel bind_port] ; Argumento 1: bind a puerto estandar
lea rdx, [rel remote_addr] ; Argumento 2: IP Destino
call po_client_new ; LLAMADA AL PROTOCOLO ORZATTY
mov r8, rax ; Guardar puntero del Handshake
add rsp, 40
ret
💡 Para que lo entiendas súper fácil: Usar Assembly es como bajar a la sala de motores del barco donde todo es ruido, grasa y calor, y mover unas tuercas en específico con una llave maestra (Registros de CPU) para que el motor acelere en lugar de pedírselo al capitán. Eres dios de la máquina.