0x00 前言
最近在尝试了解wordpress的主题加密方法,特意看了下本站的begin主题,于是百度了一圈加密特征,推测使用的是魔方二代加密方法。
之前吾爱破解上有魔方二代加密反编译代码的文章,对加密的PHP代码进行解密,不过现在没有了。
这篇文章还能恢复吗?【调试逆向】PHP解密:魔方加密2代 全自动反编译器
虽然文章不在了,不过大佬给的反编译代码项目还是可以用的,可以在GitHub上看到:PHP mfenc Decompiler
0x01 常用的加密类型及特征
加密类型 | 加密特征 |
---|---|
Zend/PHP5.3/5.4 Zend/PHP5.5/5.6 | 文件头部 <?php @Zend或Zend PHP 5.3 2004072201 65540 PHP 5.4 2004072201 65541 PHP 5.5 2004072201 65542 PHP 5.6 2004072201 65543 |
微擎加密 | 主要使用goto语法打乱代码顺序 |
魔方一代加密 | function 开头包含很多function |
魔方二代加密 | if(isset($乱码){array_push$乱码... 开头 |
ionCube | 文件头部 <?php //00xxx(16进制数字) 或 HR+c |
php-screw | 文件头部 PM9SCREW等一般是定制版本, 文件特征各不相同 |
php-beast | 文件头部 二进制数据 “\xe8\x16\xa4\x0c”一般是定制版本, 文件特征各不相同 |
ZoeeyGuard | 调用函数 zoeey_run等一般是定制版本, 文件特征各不相同 |
0x02 解密
对比一下加密特征,符合魔方二代加密
下载PHP mfenc反编译器代码
# git clone https://github.com/ganlvtech/php-mfenc-decompiler.git
删除composer.lock
使用composer安装依赖的库文件
# composer install
注意PHP版本 > 7.0
通过rebuild对解密
# php bin/rebuild.php member.php
会在当前目录下生成member.rebuilt.php文件