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) //将这个字符串当代码执行
本文详细解析了一段PHP代码的功能及实现方式,包括字符串处理函数的使用,如strlen(), ord() 和 chr(),并最终通过eval执行重构后的字符串。文章通过实例展示了如何逐个字符地调整ASCII值来形成新的字符串表达式。
1514

被折叠的 条评论
为什么被折叠?



