
UpdatedAug 7, 2026
shellcode — Updated!
Коллекция моих примеров shellcode.
shellcode
«Уязвимость предоставляет язык ассемблера для компьютера, на котором никогда не программировали и который не был спроектирован с расчётом на программируемость».
-- Halvar Flake
Коллекция новых и старых примеров shellcode.

Статья
Shellcode
x86
- setuid-linux.c. Старый setuid/execve shellcode для Linux/x86 (30 байт).
- portbind-linux.c. Старый setuid/portbind shellcode для Linux/x86 (96 байт).
- reusage-linux.c. Старый execve shellcode для Linux/x86, повторно использующий "/bin/sh" в .rodata (16 байт).
- gets-linux.c. Старый stdin-reopen/execve shellcode для Linux/x86, полезный против переполнений буфера gets().
- raptorcode.c. Старый shellcode для Linux/x86, записывающий сообщение в текущий tty.
- setuid-bsd.c. Старый setuid/execve shellcode для BSD/x86 (30 байт).
- portbind-bsd.c. Старый setuid/portbind shellcode для BSD/x86 (94 байта).
- leetcode.c. Старый setuid/execve shellcode для BSD/x86 с ASCII-сообщением, спрятанным в коде.
x86_64
- read-no-H.s. Linux/x86_64 sendfile shellcode без байтов 0x48.
- exec-no-H.s. Linux/x86_64 exec shellcode без байтов 0x48.
- read-no-syscall.s. Linux/x86_64 sendfile shellcode без байтов 0x0f05.
- read-write.s. Linux/x86_64 shellcode для чтения/записи файлов.
- chmod-tiny.s. 12-байтовый Linux/x86_64 chmod 4 shellcode.
- exec-tiny.s. 12-байтовый Linux/x86_64 exec shellcode.
SPARC
- sparc_solaris_exec.c. Solaris/SPARC setuid/execve shellcode (60 байт).
- sparc_solaris_chmod.c. Solaris/SPARC setuid/chmod/exit shellcode (64 байта).
- sparc_solaris_chmod2.c. Очень маленький Solaris/SPARC chmod shellcode (36 байт).
MIPS
- mips_n32_msb_linux_revsh.c. Базовый MIPS N32 MSB Linux reverse shellcode.