
UpdatedAug 7, 2026
shellcode — Updated!
私のシェルコードサンプルのコレクション。
shellcode
“脆弱性は、これまでプログラムされたことがなく、プログラマビリティを念頭に設計されていないコンピュータに、アセンブリ言語を提供する。”
-- Halvar Flake
新旧のシェルコードサンプルのコレクションです。

記事
シェルコード
x86
- setuid-linux.c. Linux/x86 用の古い setuid/execve シェルコード(30バイト)。
- portbind-linux.c. Linux/x86 用の古い setuid/portbind シェルコード(96バイト)。
- reusage-linux.c. .rodata 内の "/bin/sh" を再利用する Linux/x86 用の古い execve シェルコード(16バイト)。
- gets-linux.c. gets() バッファオーバーフローに対して有効な、Linux/x86 用の古い stdin 再オープン/execve シェルコード。
- raptorcode.c. 現在の tty にメッセージを書き込む Linux/x86 用の古いシェルコード。
- setuid-bsd.c. BSD/x86 用の古い setuid/execve シェルコード(30バイト)。
- portbind-bsd.c. BSD/x86 用の古い setuid/portbind シェルコード(94バイト)。
- leetcode.c. コード内に ASCII メッセージが埋め込まれた BSD/x86 用の古い setuid/execve シェルコード。
x86_64
- read-no-H.s. 0x48 バイトを含まない Linux/x86_64 sendfile シェルコード。
- exec-no-H.s. 0x48 バイトを含まない Linux/x86_64 exec シェルコード。
- read-no-syscall.s. 0x0f05 バイトを含まない Linux/x86_64 sendfile シェルコード。
- read-write.s. Linux/x86_64 ファイル読み取り/書き込みシェルコード。
- chmod-tiny.s. 12バイトの Linux/x86_64 chmod 4 シェルコード。
- exec-tiny.s. 12バイトの Linux/x86_64 exec シェルコード。
SPARC
- sparc_solaris_exec.c. Solaris/SPARC 用の setuid/execve シェルコード(60バイト)。
- sparc_solaris_chmod.c. Solaris/SPARC 用の setuid/chmod/exit シェルコード(64バイト)。
- sparc_solaris_chmod2.c. 非常に小さな Solaris/SPARC chmod シェルコード(36バイト)。
MIPS
- mips_n32_msb_linux_revsh.c. 基本的な MIPS N32 MSB Linux リバースシェルコード。