2010-03-04 8 views
3
$o="QAAAOzh3b3cnYGJzWG9iZmNidQAgLy48Jzg5Cg0KDQGjbmlka3IAAGNiJy9TQkpXS0ZTQldGU08ABScpJyAoYGZra2J1fikEACADXIQABPFhaGhzBPU="; 

eval(base64_decode("JGxsbD0wO2V2YWwoYmFzZTY0X2RlY29kZSgiSkd4c2JHeHNiR3hzYkd4c1BTZGlZWE5sTmpSZlpHVmpiMlJsSnpzPSIpKTskbGw9MDtldmFsKCRsbGxsbGxsbGxsbCgiSkd4c2JHeHNiR3hzYkd3OUoyOXlaQ2M3IikpOyRsbGxsPTA7JGxsbGxsPTM7ZXZhbCgkbGxsbGxsbGxsbGwoIkpHdzlKR3hzYkd4c2JHeHNiR3hzS0NSdktUcz0iKSk7JGxsbGxsbGw9MDskbGxsbGxsPSgkbGxsbGxsbGxsbCgkbFsxXSk8PDgpKyRsbGxsbGxsbGxsKCRsWzJdKTtldmFsKCRsbGxsbGxsbGxsbCgiSkd4c2JHeHNiR3hzYkd4c2JHdzlKM04wY214bGJpYzciKSk7JGxsbGxsbGxsbD0xNjskbGxsbGxsbGw9IiI7Zm9yKDskbGxsbGw8JGxsbGxsbGxsbGxsbGwoJGwpOyl7aWYoJGxsbGxsbGxsbD09MCl7JGxsbGxsbD0oJGxsbGxsbGxsbGwoJGxbJGxsbGxsKytdKTw8OCk7JGxsbGxsbCs9JGxsbGxsbGxsbGwoJGxbJGxsbGxsKytdKTskbGxsbGxsbGxsPTE2O31pZigkbGxsbGxsJjB4ODAwMCl7JGxsbD0oJGxsbGxsbGxsbGwoJGxbJGxsbGxsKytdKTw8NCk7JGxsbCs9KCRsbGxsbGxsbGxsKCRsWyRsbGxsbF0pPj40KTtpZigkbGxsKXskbGw9KCRsbGxsbGxsbGxsKCRsWyRsbGxsbCsrXSkmMHgwZikrMztmb3IoJGxsbGw9MDskbGxsbDwkbGw7JGxsbGwrKykkbGxsbGxsbGxbJGxsbGxsbGwrJGxsbGxdPSRsbGxsbGxsbFskbGxsbGxsbC0kbGxsKyRsbGxsXTskbGxsbGxsbCs9JGxsO31lbHNleyRsbD0oJGxsbGxsbGxsbGwoJGxbJGxsbGxsKytdKTw8OCk7JGxsKz0kbGxsbGxsbGxsbCgkbFskbGxsbGwrK10pKzE2O2ZvcigkbGxsbD0wOyRsbGxsPCRsbDskbGxsbGxsbGxbJGxsbGxsbGwrJGxsbGwrK109JGxsbGxsbGxsbGwoJGxbJGxsbGxsXSkpOyRsbGxsbCsrOyRsbGxsbGxsKz0kbGw7fX1lbHNlJGxsbGxsbGxsWyRsbGxsbGxsKytdPSRsbGxsbGxsbGxsKCRsWyRsbGxsbCsrXSk7JGxsbGxsbDw8PTE7JGxsbGxsbGxsbC0tO31ldmFsKCRsbGxsbGxsbGxsbCgiSkd4c2JHeHNiR3hzYkd4c2JEMG5ZMmh5SnpzPSIpKTskbGxsbGw9MDtldmFsKCRsbGxsbGxsbGxsbCgiSkd4c2JHeHNiR3hzYkQwaVB5SXVKR3hzYkd4c2JHeHNiR3hzYkNnMk1pazciKSk7JGxsbGxsbGxsbGw9IiI7Zm9yKDskbGxsbGw8JGxsbGxsbGw7KXskbGxsbGxsbGxsbC49JGxsbGxsbGxsbGxsbCgkbGxsbGxsbGxbJGxsbGxsKytdXjB4MDcpO31ldmFsKCRsbGxsbGxsbGxsbCgiSkd4c2JHeHNiR3hzYkM0OUpHeHNiR3hzYkd4c2JHd3VKR3hzYkd4c2JHeHNiR3hzYkNnMk1Da3VJajhpT3c9PSIpKTtldmFsKCRsbGxsbGxsbGwpOw==")); 

return;?> 

Répondre

4

Remplacez eval par echo et exécutez votre script.

Cela donne (reformatée):

$lll=0; 
eval(base64_decode("JGxsbGxsbGxsbGxsPSdiYXNlNjRfZGVjb2RlJzs=")); 
$ll=0; 
eval($lllllllllll("JGxsbGxsbGxsbGw9J29yZCc7")); 
$llll=0; 
$lllll=3; 
eval($lllllllllll("JGw9JGxsbGxsbGxsbGxsKCRvKTs=")); 
$lllllll=0; 
$llllll=($llllllllll($l[1])<<8)+$llllllllll($l[2]); 
eval($lllllllllll("JGxsbGxsbGxsbGxsbGw9J3N0cmxlbic7")); 
$lllllllll=16; 
$llllllll=""; 

for(;$lllll<$lllllllllllll($l);) 
{ 
    if($lllllllll==0) 
    { 
    $llllll=($llllllllll($l[$lllll++])<<8); 
    $llllll+=$llllllllll($l[$lllll++]);$lllllllll=16; 
    } 

    if($llllll&0x8000) 
    { 
    $lll=($llllllllll($l[$lllll++])<<4); 
    $lll+=($llllllllll($l[$lllll])>>4); 
    if($lll) 
    { 
     $ll=($llllllllll($l[$lllll++])&0x0f)+3; 

     for($llll=0;$llll<$ll;$llll++) 
     $llllllll[$lllllll+$llll]=$llllllll[$lllllll-$lll+$llll]; 

     $lllllll+=$ll; 
    } 
    else 
    { 
     $ll=($llllllllll($l[$lllll++])<<8); 
     $ll+=$llllllllll($l[$lllll++])+16; 
     for($llll=0;$llll<$ll;$llllllll[$lllllll+$llll++]=$llllllllll($l[$lllll])); 

     $lllll++;$lllllll+=$ll; 
    } 
    } 
    else 
    $llllllll[$lllllll++]=$llllllllll($l[$lllll++]); 

    $llllll<<=1;$lllllllll--; 
} 

eval($lllllllllll("JGxsbGxsbGxsbGxsbD0nY2hyJzs=")); 
$lllll=0; 
eval($lllllllllll("JGxsbGxsbGxsbD0iPyIuJGxsbGxsbGxsbGxsbCg2Mik7")); 
$llllllllll=""; 

for(;$lllll<$lllllll;) 
{ 
    $llllllllll.=$llllllllllll($llllllll[$lllll++]^0x07); 
} 

eval($lllllllllll("JGxsbGxsbGxsbC49JGxsbGxsbGxsbGwuJGxsbGxsbGxsbGxsbCg2MCkuIj8iOw==")); 
eval($lllllllll); 

$lllllllllll='base64_decode'; 
$l=$lllllllllll($o); 
$lllllllll.=$llllllllll.$llllllllllll(60)."?";$llllllllllll='chr'; 

Effectuer l'opération base64_decode des chaînes restantes, et vous AHVE le code complet. Bel échantillon de code obfusqué, amusez-vous avec!

+0

Aussi, 'O' $ est utilisé. –

+1

il peut être utilisé dans le code crypté suivant, alors gardez-le. Il se peut que vous deviez faire plus d'échos que d'évals. C'est un moyen commun d'obfuscation. ET ne pas exécuter le script jusqu'à ce que vous sachiez ce qu'il fait. –

1

C'est assez simple: la soupe alphabet est Base64 code PHP codé, qui est décodé via base64_decode() et exécuté via eval(). Si l'on regarde le code source décodé, on constate qu'il reste très obscur. Qui que ce code est de vraiment ne veut pas que vous le déchiffriez. Ils ont probablement une raison à cela.

+0

C'est ma ligne de fav: '$ llllllll [$ lllllll + $ llll ++] = $ llllllllll ($ l [$ lllll]))' :) – Gordon

0

Vous pouvez utiliser this online decryptor pour cela ou tout simplement remplacer eval mot-clé avec echo car il est déjà se décryptée à l'aide base64_decode fonction.

3

C'est ce que ce code évalue:

<?php get_header(); ?> 
<?php include (TEMPLATEPATH . '/gallery.php'); ?> 
<?php get_footer(); ?> 

Comme cela fait partie d'une fonction (je suppose que par la déclaration « retour » dans le code d'origine) ce code ne fait rien d'autre que ce dit plus haut. Je l'ai analysé étape par étape. Code bien crypté toi.

0

C'est simple, j'ai dû faire quelque chose de similaire.

  1. au lieu de eval(base64_decode(...)); faire:

    $ temp = base64_decode (...); print $ temp;

  2. Voir le dernier événement() dans la chaîne imprimée. Faites un substr() pour le supprimer, par ex.

    $ temp = substr ($ temp, 0, -17);

  3. ajouter un print $lllllllll; à la place: $temp=$temp."print $lllllllll;";

  4. Recommencez le eval(): eval($temp);

Cela affichera le code au lieu de l'évaluer.

code

est:

$temp = base64_decode(...); 
$temp = substr($temp, 0, -<your eval offset here>); 
$temp=$temp."print $lllllllll;" 
eval($temp); 

Ou directement le résultat :):

<?php get_header(); ?> 

<?php include (TEMPLATEPATH . '/gallery.php'); ?> 

<?php get_footer(); ?>