Normalde
eval(gzinflate(base64_decode('FZ3HjuvQlUV...')));
veya
eval(gzinflate(str_rot13(base64_decode('FZ3HjuvQlUV...'))));
Şeklinde şifrelenmiş kodları decode etmek çok basittir eval yerine
print yada
echo yazarak
php kodlarını ekrana yazdırabiliriz.
eval'ın ne işe yaradığını bilmeyenler için örnekleyerek basitçe anlatacak olursak.
eval("phpinfo();");
eval("system('id');");
şeklinde php kodu çalıştırmanıza yarıyor daha fazla bilgi için
php.net/eval adresini ziyaret edin.
Herneyse sadede gelecek olursak kodlar eğer arka arkaya defalarca şifrelenmiş olursa o zaman işler biraz değişiyor
birde işin içine şu şekilde fonksiyon isimleride değişkenlere atılınca
içinden çıkılmaz bir kod karmaşası oluşuyor
$xztuljbestl = 'base64_decode';
$sviujiujpilbkl = 'gzinflate';
eval($sviujiujpilbkl($xztuljbestl('XJ3HjoPc....')));
Kendi yazmış olduğum decoderi sizlerle paylaşıyorum.
Decoderin aşağıdaki şekilde şifrelenmiş kodları çözdüğü test edilmiştir..
eval(gzinflate(base64_decode('FZ3HjuvQlUV...')));
eval(gzinflate(str_rot13(base64_decode('FZ3HjuvQlUV...'))));
$xztuljbestl = 'base64_decode';
$sviujiujpilbkl = 'gzinflate';
eval($sviujiujpilbkl($xztuljbestl('FZ3HjuvQlUV....')));
Decoder sonuç olarak size kodların kaç defa şifrelendiğini ve decode edilmiş
kodları metin şeklinde ve renklendirilmiş şekilde gösterecektir.
Aşağıdaki betik
kod.txt dosyasında olan şifreli kodu alacak ve decode ederek size sunacaktır..
<?php
//Kodlama By s4l1h
//http://pehepe.blogspot.com/2009/07/eval-gzinflate-strrot13-base64decode.html
$ac=@file_get_contents("kod.txt") or die("Kod.txt Dosyasını Okuyamıyorum");
$ac=preg_replace("/<\?php|\?>/", "", $ac);
$ac=preg_replace("/<\?|\?>/", "", $ac);
$desen="|eval\((.*)\((.*)\(\'(.*)\'\)\)\)\;|siU"; // eval(gzinflate(base64_decode('FZ3HjuvQlUV...')));
$desen2="|eval\((.*)\((.*)\((.*)\(\'(.*)\'\)\)\)\)\;|siU"; //eval(gzinflate(str_rot13(base64_decode('FZ3HjuvQlUV...'))));
$x=1;
while(preg_match($desen,$ac,$cik) OR (preg_match($desen2,$ac,$cik))){
eval(str_replace('eval','$ac=',$ac));
$x++;
}
echo "<font color='red'>$x Defa Şifrelenmiş</font><br>";
$sonuc=('<?php
//=======================================
// !! Script Decoded By s4l1h !!
// !! http://pehepe.blogspot.com/ !!
// !! '.date('d-m-Y').'
//=======================================
'.
$ac
.'?>');
echo "<h1>Düz Metin</h1>";
echo "<textarea cols=100 rows=20>$sonuc</textarea><br>";
echo "<h1>Renklendirilmiş</h1>";
highlight_string($sonuc);
?>