Tiny ExitProcess ShellCode 32 or 26 bytes,微型32或26字节退出进程的ShellCode:

    ExitProcess 32 or 26 bytes,一段微型推出进程ShllCode。今天在做PE优化的时候,挖掘的一种方法,这样任意情况下都可以退出进程了(PE里可以无ExitProcess的引入表项目)。

    64 A1 00 00 00 00 83 38 FF 74 0A 8B 00 64 A3 00 00 00 00 EB F1 8B 40 08 8B 40 08 83 C0 13 FF E0

代码:
        MOV EAX,DWORD PTR FS:[0]
    L001:
        CMP DWORD PTR DS:[EAX],-1
        JE L006
        MOV EAX,DWORD PTR DS:[EAX]
        MOV DWORD PTR FS:[0],EAX
        JMP L001
    L006:
        MOV EAX,DWORD PTR DS:[EAX+8]
        MOV EAX,DWORD PTR DS:[EAX+8]
        ADD EAX,13
        JMP EAX

方法及特点:
    枚举SEH链接至顶层,动态定位到 ExitProcess 点。适用于 Win2000/XP/2003,没有 Vista 未测试。

26字节退出进程:
    64 A1 00 00 00 00 80 38 FF 74 04 8B 00 EB F7 8B 40 08 8B 40 08 83 C0 13 FF E0

还有个变态1字节的:
    xor esp, esp
    (这个跟本文无关,另外收集来的,顺道发出来。)