[BITS 16]
[ORG 0x7C00]
jmp start

banner: db 13,10,"NULLOS RGB PASTEL",13,10,"h=help w=wifi s=scan b=ble u=usb r=rf n=net t=tb",13,10,"KEYBOARD ONLY - SEC LAB AUTH",13,10,0
prompt: db "nullos> ",0
hlp: db 13,10,"h=HELP c=CLS w=WIFI s=SCAN b=BLE u=USB r=RF n=NET t=TB",13,10,0
wfi: db 13,10,"[WIFI] airmon/airodump/deauth/handshake",13,10,0
scn: db 13,10,"[SCAN] nmap -sS -sV 10.0.0.0/24",13,10,0
ble: db 13,10,"[BLE] hcitool/gatttool/btlejuice/glitch",13,10,0
usb: db 13,10,"[USB] rubberducky/teensy/badusb/hid",13,10,0
rfi: db 13,10,"[RF] rtl-sdr/gqrx/433/915/replay/jam",13,10,0
net: db 13,10,"[NET] ettercap/mitmproxy/arp-spoof",13,10,0
tbt: db 13,10,"[TB4] DMA/pcileech/REQUIRES THUNDERBOLT 4",13,10,0
unk: db "Unknown. h for help.",13,10,0
crlf: db 13,10,0

start:
    mov ax,0x0003
    int 0x10
    mov si,banner
    call p
main:
    mov si,prompt
    call p
    xor di,di
rd:
    xor ah,ah
    int 0x16
    cmp al,13
    je cmd
    cmp al,8
    je bs
    cmp di,31
    je rd
    mov ah,0x0E
    int 0x10
    mov [buf+di],al
    inc di
    jmp rd
bs:
    cmp di,0
    je rd
    dec di
    mov ah,0x0E
    mov al,8
    int 0x10
    mov al," "
    int 0x10
    mov al,8
    int 0x10
    jmp rd
cmd:
    mov byte [buf+di],0
    cmp byte [buf],0
    je main
    mov al,[buf]
    cmp al,"h"
    je hp
    cmp al,"c"
    je clr
    cmp al,"w"
    je wf
    cmp al,"s"
    je sc
    cmp al,"b"
    je bl
    cmp al,"u"
    je us
    cmp al,"r"
    je rf
    cmp al,"n"
    je nt
    cmp al,"t"
    je tb
    mov si,unk
    jmp pdone
hp:
    mov si,hlp
    jmp pdone
clr:
    mov ax,0x0003
    int 0x10
    mov si,banner
    jmp pdone
wf:
    mov si,wfi
    jmp pdone
sc:
    mov si,scn
    jmp pdone
bl:
    mov si,ble
    jmp pdone
us:
    mov si,usb
    jmp pdone
rf:
    mov si,rfi
    jmp pdone
nt:
    mov si,net
    jmp pdone
tb:
    mov si,tbt
pdone:
    call p
    jmp main
p:
    lodsb
    cmp al,0
    je .r
    mov ah,0x0E
    int 0x10
    jmp p
.r:
    ret
buf: times 32 db 0
times 510-($$-$$) db 0
dw 0xAA55
