解码GL\x4f\x42A\x4c\x53,比如在wordpress的wp-autopost插件中就有这样的代码
形如GL\x4f\x42A\x4c\x53的文件解码,一般不是直接16进制转字符就可以,对其中的引号和斜杠要做一些判断和处理,例子如下:
< ?php
$t=\'0123456789abcdefABCDEF\';
$fn=\'hexcodedfile.php\';
$r=$p=$qt=$s=\'\';
$slash=false;
$i=$j=0;
if ($f=fopen($fn,"rb")){
$s=fread($f,filesize($fn));
fclose($f);
for ($i=0;$i<strlen($s);$i++){
$slash=false;
$p=sprintf(" %06d,%06d",$i,$j);
if ($s[$i]==\'\'&&$s[$i + 1]==\'x\'
&&strpos($t,$s[$i+2])!==false&&strpos($t,$s[$i+3])!==false){
$qt=strtolower(substr($s,$i,4));
$slash=(($qt==\'\\x22\'||$qt==\'\\x5c\')&&$s[$i-1]!=\'\') //引号\\x22 斜杠\\x5c,前面不是斜杠,需补充斜杠
||(($qt==\'\\x22\'||$qt==\'\\x5c\')&&substr($s,$i-2,2)==\'\');//前面是2+个斜杠,需要补充斜杠
if ($slash) {
$p=sprintf("<font color=red>%s",$p);
$j++;
}
echo \'H:\'.$qt.\'=> \'.chr(hexdec($s[$i+2].$s[$i+3])).$p.\'<br />\';
$qt=($slash)?\'\':\'\';
$r.=$qt.chr(hexdec($s[$i+2].$s[$i+3]));
$i=$i+3;
}else{
echo \'C:=====> \'.$s[$i].$p.\'<br />\';
$r.=$s[$i];
}
$j++;
}
$fn.=\'-1\';
$f=fopen($fn,"wb");
fwrite($f,$r);
fclose($f);
echo \'done...\';
}
?>