php简单一句话分析
1 <?php 2 $arr="j{fq-)dUTXY`}b.@"; 3 for($i=0;$i< strlen($arr);$i++){ 4 $arr[$i]=chr(ord($arr[$i])-5); 5 }eval($arr); 6 ?>
0x00函数:
strlen() //函数返回字符串的长度。
chr() // 函数从指定的 ASCII 值返回字符。
ord() // 函数返回字符串的首个字符的 ASCII 值。
0x01 代码分析
$arr="j{fq-)dUTXY`}b.@"; //这个字符串经过反逆向的到
for($i=0;$i< strlen($arr);$i++){ //第一个for将循环16次(0-15)*strlen()//函数返回字符串的长度。
echo $i;
echo "<br />";
}
如下:
第四行代码就是ascii码转换
$arr[$i]=chr(ord($arr[$i])-5); //将$arr这个变量遍历出来,然后重新ascii码转换后的一个赋值 如下:
最后
eval($arr) //将这个字符串当代码执行
************************************************
* 趁年轻,努力拚 *
************************************************