我最近获得了一个Wordpress主题,无法弄清楚包含大量下划线的所有这些编码是什么。我已经弄清楚它做了什么,但我还没弄明白如何比一个一个更快地解码它。你能
吗?1)告诉我编码是什么?和 2)如何解码它,更快?
function aj_________e() {
global $_GET, $wt___q;
$dw________e = rk_______g();
$xt____________m = pc__p();
$zq_______o = iw__________h();
$ci______m = "full";
if ($_GET["wp_cache_cl"] == "197ab5deb39daad8baacae1bdd5a8852") {
if ($zq_______o == "file") {
$rd_________v = $dw________e["dir_upload"]["path"]."/".$xt____________m.".jpg";
if ($wt___q($rd_________v)) {
@unlink($rd_________v);
$ci______m = "deleted";
}
}
$uk___s = array(
"s" => $ci______m,
"t" => time(),
"v" => WP_ID
);
echo "<!--";
foreach ($uk___s AS $ce_____________t => $ik__________m) echo " [$ce_____________t:$ik__________m]";
echo " -->";
}
}
答案 0 :(得分:2)
Wordpress被强奸了。你不能这么容易阅读它们。关于这个:http://en.wikipedia.org/wiki/Obfuscation
答案 1 :(得分:1)
我认为原作者通过某种混淆器运行此代码。或许联系他们获得一个干净的版本?
答案 2 :(得分:1)
此代码会定期使用主题供应商控制的更新广告替换某些文件内容。混淆代码通常会通过广告获得一磅肉,包括您不想要的广告。 (好吧,这段代码没有做到这一点 - 但你只是在这里提供了一段代码。)
你错过的是这样的东西,它将值base64_decode
赋给一个方便地命名为$csGIYFfb
的变量。一旦知道了所有字符串的值,就可以阅读代码:
$HnSjwuR='e';
$JBzO='s';
$CiCHjis='6';
$APNhIK='d';
$TWmEOd='d';
$jygti='_';
$PuGIIg='4';
$nyyif='e';
$mgtv='o';
$AJAsO='a';
$LRRqTj='e';
$KCHbUS='b';
$DjstEZ='c';
$csGIYFfb=$KCHbUS.$AJAsO.$JBzO.$LRRqTj.$CiCHjis.$PuGIIg.$jygti.$TWmEOd.$HnSjwuR.$DjstEZ.$mgtv.$APNhIK.$nyyif;
这里要清楚的是,你提供的代码几乎没有被混淆 - 它只是被丑化了,可能有意义的变量和函数名称被包含大量下划线的随机字符串替换。您未提供的代码部分定义了这些功能的含义,这些功能碰巧使用curl
来填充系统中可能不需要的广告。