标签 php解密 下的文章

PHPJiaMi免扩展加密分析及解密

0x00 前言

前几天去玩了pwnhub公开赛的题目,源码下载之后发现是PHPJiaMi加密。之前有分析过phpjm加密并写出过解密文件,所以研究下这个PHPJiaMi。
PHP免扩展加密的主流加密方法采用了ascii码 129-255的乱码来实现变量名、函数名混淆,编辑器打开后就是一堆乱码,造成不可读。

加密流程:源码->加密处理(压缩,替换,BASE64,转义)->安全处理(验证文件MD5值,限制IP、限域名、限时间、防破解、防命令行调试)->加密程序成品,再简单的说:源码+加密外壳==加密程序 (该段出处)

0x01 解密准备

这里做演示,我写了phpinfo()然后去http://www.phpjiami.com/生成加密文件,打开之后,果然都是一片乱码。
使用代码修复工具http://zhaoyuanma.com/phpcodefix.html将ascii不可见字符的变量修复成正常的变量名,再PHP代码美化,方便下一步分析。

0x02 函数分析

代码内有三个函数,由于每次加密这三个函数的顺序都不一样,这个以传参方式区分这三个函数
fun1 = ($var1, $var2 = '') = 核心函数,将乱码转成正常字符串
fun2 = (&$var1, $var2) = 校验IP、域名,防止被破解。最后一句是解密整个php文件
fun3 = ($var1) = 将需要用到的函数赋值给N个全局变量

Continue Reading...