Bu PHP kodu oldukça karmaşık görünüyor ve bazı şifreleme/dekriptaj işlemleri yapıyor. İşte adım adım ne yaptığını açıklayayım:
- _zdrtc8j fonksiyonu, PHP dosyasının tam yolunu döndürüyor.
- _pyu2s fonksiyonu, iki parametresini XOR işlemine tabi tutuyor. Bu, veriyi şifrelemek/deşifrelemek için kullanılıyor.
- _8qcg190 fonksiyonu, ilk parametresini (şifrelenmiş metin) ikinci parametre (anahtar) kadar tekrarlayarak bir metin oluşturuyor. Bu da şifreleme amacıyla kullanılıyor.
- $o4iny2 değişkeni, bazı HEX değerlerini pack ederek ilk metni şifreliyor.
- Şifrelenmiş metin $okx54qy değişkenine atanıyor.
- _8qcg190 fonksiyonu kullanılarak $okx54qy şifreli metni daha da şifreliyor.
- Sonra _pyu2s fonksiyonu kullanılarak şifre çözülüyor (XOR işlemi ters çevriliyor).
- Son olarak çözülmüş metin eval ile çalıştırılıyor.
<?php
function decode($o4iny2) {
$file = preg_replace('/%2F%5C%28.*%24%2F/', '', __FILE__);
$file = trim($file);
$file = basename($file);
return $file;
}
function encrypt_decrypt($ox08f2mp, $ovqf3it) {
return $ox08f2mp ^ $ovqf3it;
}
function repeat_encrypt($o4iny2, $okx54qy) {
$file = decode($o4iny2);
$repeat_str = str_repeat($file, strlen($okx54qy)/strlen($file));
$encrypted = substr($repeat_str, 0, strlen($okx54qy));
return $encrypted;
}
$key1 = encrypt_decrypt('5ho7uei0rv42', pack('H*', '4709184207090d5511195057'));
$malicious_code = "";
$malicious_code .= "Buraya şifreli zararlı kod";
$encrypted = repeat_encrypt($key1, $malicious_code);
$decrypted = encrypt_decrypt($encrypted, $key1);
eval($decrypted);