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) //将这个字符串当代码执行

原文地址:https://www.cnblogs.com/Archie-s/p/7170849.html