破解魔力图片

来源:互联网 发布:米内网数据库 编辑:程序博客网 时间:2024/04/30 03:02
 1. Photoshop 
2. 记事本
3. 免费空间


 首先用PS编辑一副图片用作底图。当然,因为只是演示,所以就做的简单一点。
打开PS编辑底图。



然后保存成.png格式的图片。




然后我们就可以把PS关闭了。
接着打开记事本(习惯记事本,用DW等也可以)。
我们来写一段代码。
代码内容
 
<?phperror_reporting(0); $address=$_SERVER['HTTP_address'];                                                 if(!strpos($address,'infocenter'))                {                $str='不在个人中心';                }                else                {                                        $url=explode('/',$address);                                        $str=$url['3'];                                        }        header('Content-Type: image/png');        $img = @imagecreatefrompng('底图.png');         $grey = imagecolorallocate($img, 0, 0, 0);        $font = 'simkai.ttf';        imagettftext($img,30, 0,50, 50, $grey, $font, $str);        imagepng($img);        imagedestroy($img);?>


 




然后我们再去申请一个免费空间,例如我申请的这个。然后使用FTP软件将写好的脚本文件和字体文件还有底图上传到FTP服务器上,接着进入空间发表日志插入网络图片输入脚本的地址就可以了。这里我们的重点是分析脚本。




首先看第一句代码error_reporting(0); 指禁用错误报告,也就是屏蔽了所有的错误提示。


然后下一行是读取环境变量HTTP_address的值,取到的值也就是浏览器的地址。
例如:http://user.qzone.qq.com/123/infocenter 


看这一行,if(!strpos($address,'infocenter')) 
Strpos函数返回要寻找的字符串出现的位置,如果没有找到infocenter关键词则表示不在个人中心,一般这个时候图片就会变成其他的例如一些广告。


接着看这两句:$url=explode('/',$address);
$str=$url['3'];


将地址变量根据”/”符号分割,然后取出了其中的QQ号码(用于显示在图片上)


接下来的header就相当于是告诉了浏览器即将输出格式为png的图片


然后使用的是imagecreatefrompng函数载入图片然后返回一个图片标识。


变量grey和font分别保存的是要绘制的颜色和字体文件地址


然后使用imagettftext函数进行图像处理。这个函数参数有些复杂,具体可以看百度。


最后就是输出图片和销毁。
0 0