其实就是把代码转化为十六进制
function unicode_encode($name)
{
$name = iconv('UTF-8', 'UCS-2', $name);
$len = strlen($name);
$str = '';
for ($i = 0; $i < $len - 1; $i = $i + 2)
{
$c = $name[$i];
$c2 = $name[$i + 1];
if (ord($c) > 0)
{ // 两个字节的文字
$str .= '\u'.base_convert(ord($c), 10, 16).base_convert(ord($c2), 10, 16);
}
else
{
$str .= $c2;
}
}
return $str;
}
$str='var aaa="你好啊";document.write(aaa)';//这里替换成你要混淆的js代码
$str=bin2hex(unicode_encode($str));
$res='';
for($i=0;$i<strlen($str)-1;$i+=2){
$tmp='\x'.$str[$i].$str[$i+1];
$res.=$tmp;
}
echo 'eval(\''.$res.'\')';