0x00 前言
洪哥给我一个加密 的PHP代码,问我有没有办法搞出来,没有接触过PHP混淆加密,百度了一下加密特征,使用的是魔方二代加密方法。
从52破解上找了一个魔方二代加密反编译 代码对加密的PHP代码进行解密,记录一下过程
[调试逆向] PHP解密:魔方加密2代 全自动反编译器
汇编这块看不懂,直接拉到最下面,大佬给出了反编译代码
PHP mfenc Decompiler
0x01 常用的加密类型及特征
加密类型
加密特征
Zend/PHP5.3/5.4
Zend/PHP5.5/5.6
文件头部
阅读次数
0x00 前言
洪哥给我一个加密的PHP代码,问我有没有办法搞出来,没有接触过PHP混淆加密,百度了一下加密特征,使用的是魔方二代加密方法。
从52破解上找了一个魔方二代加密反编译代码对加密的PHP代码进行解密,记录一下过程
[调试逆向] PHP解密:魔方加密2代 全自动反编译器
汇编这块看不懂,直接拉到最下面,大佬给出了反编译代码
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
文件头部 二进制数据 “xe8x16xa4x0c”一般是定制版本, 文件特征各不相同
ZoeeyGuard
调用函数 zoeey_run等一般是定制版本, 文件特征各不相同
0x02 解密
对比一下加密特征,符合魔方二代加密
下载PHP mfenc反编译器代码
删除composer.lock
使用composer安装依赖的库文件
注意PHP版本 > 7.0
通过rebuild对member.php进行解密
1
# php bin/rebuild.php member.php
会在当前目录下生成member.rebuilt.php文件
解密结果
Centos7 安装PHP 7
我的PHP版本是PHP 5.4,在使用composer安装依赖报错提示需要 PHP > 7.0
通过yum安装报错,只能通过源码编译安装,速度比较慢
可以使用remi源
https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/
安装compoeser
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
下载安装脚本 - composer-setup.php - 到当前目录。
# php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
执行安装过程
# php composer-setup.php
删除安装脚本
# php -r "unlink('composer-setup.php');"
全局安装
# mv composer.phar /usr/local/bin/composer
切换为国内镜像
# composer config -g repo.packagist composer https://packagist.phpcomposer.com
更新 composer
# composer selfupdate
安装依赖
# composer install
更多请参考Composer 安装与使用
-->
发布者:常山赵子龙,转载请注明出处:https://www.qztxs.com/archives/science/technology/12047