今天,在做一个小PHP项目时,用到了别人的PHP源代码,当用编辑器打开看时,发现这堆代码里有部分文件是经过编码变换的,摘取其中一个文件的开头部分样本如下:
<?php /* PHP Encode by http://Www.PHPJiaMi.Com/ */error_reporting(0);ini_set("display_errors", 0);if(!defined('nvtuqmrb')){define('nvtuqmrb',__FILE__);if(!function_exists("
可以看出,这个PHP文件是经过 http://www.phpjiami.com/ 网站提供的工具变换过的。由于需要改造一下这个PHP文件的功能,因此,需要源码,但这个不是源码,于是想获得源码,由于这些文件是编码过的,因此必须将它们解码。
我们知道对PHP代码加密有真加密与伪加密两种,真加密一般要通过运行PHP ext(一般用C实现)代码来加载PHP文件进行解码,要对这种文件解密,必须自己编译PHP解释器的源代码,通过Hook PHP解释器的解码函数来截取源代码,比较麻烦一些;而伪加密是通过php内置的eval函数(必须的,无法绕过)来实现的,其原理是将PHP代码经过这些流程:
源码 -> 加密处理(压缩,替换,BASE64,转义)-> 安全处理(验证文件 MD5 值,限制 IP、限域名、限时间、防开心、防命令行调试)-> 加密程序成品,再简单的说:源码 + 加密外壳 == 加密程序。
而这个http://www.phpjiami.com/ 实现的加密正是伪加密。由于这个伪加密代码不需要PHP ext,因此可以自己解码它。为了不浪费时间,首先找找别人有没有做过这件事情,发现在 github上有仁兄已经做好了,因此,在此介绍宣传一下:
网址:
PHPJiaMi 文件的解码 步骤:
1)从 以上网址下载工具代码到 D:phpjiami目录
2)将PHPJiaMi 加密过的PHP文件(可以是很多文件)复制到D:phpjiamiencode文件夹中
3) CMD 打开控制台,进入D:,进入D:phpjiami
cd D:phpjiami
4)运行phpjiami.php ,命令如下:
php phpjiami.php
5)执行完毕后,打开D:phpjiamidecode目录获得解码后的文件。
浪费时间自己来解决 这个 自欺欺人的phpjiami 伪加密非常不值得,还是用别人的解决办法吧 。
1.将要加密文件放入encode文件夹中
2.运行phpjiami.php
3.decode文件夹中就是解密文件
phpjiami网站解密脚本
标签:
本文链接:http://78moban.cn/post/8300.html
版权声明:站内所有文章皆来自网络转载,只供模板演示使用,并无任何其它意义!