PHP-Beast代码保护扩展:Windows与Linux安装使用指南及常见解密问题处理

php-beast 是一个非常易于使用且高效的 PHP 代码保护扩展。介绍了Windows和Linux上的安装和使用问题,以及常见解密问题的处理方法。

PHP-Beast代码保护扩展:Windows与Linux安装使用指南及常见解密问题处理

1)Windows版本加密处理

windows下可以直接在这里下载dll

根据你的PHP版本以及是否线程安全选择下载对应的。

放到对应的扩展目录下

在配置文件php.ini中添加扩展配置

扩展名=php_beast_x86_nts.dll

但如果秘钥相同的话,编译往往会失败或者会出现lib版本不匹配的问题。

老版本我用VS编译dll,处理版本限制很麻烦。

官方提供的版本非常稳定。直接用二进制修改对应的秘钥部分即可。

【1】部分处理aes

ida分析出对应位置发生了变化

静态 uint8_t key[] = {

0x2b、0x7e、0x15、0x16、0x28、0xae、0xd2、0xa6、

0xab、0xf7、0x15、0x88、0x09、0xcf、0x4f、0x3c、

};

使用ue二进制编辑根据文件偏移找到对应位置,修改,保存。

【2】加工des部分

ida逆向分析秘钥变量所在位置及源码

静态字符键[8] = {

0x01、0x1f、0x01、0x1f、

0x01、0x0e、0x01、0x0e、

};

正好对应

使用ue二进制进行编辑、修改和保存

如果测试通过其他加密方式,则不予处理。

[3] encrypt_file_header_sign修改

加密文件头标志修改

ida分析头部信息位置

此数据应位于加密文件的开头,以指示文件是否已加密。

尝试尽可能特别

我的版本在位置76760的长度是8

2)Linux版本加密处理

编译前需要修改秘钥。新版本加密方式更多,需要修改的地方也更多。

旧版本在key.c中修改,新版本在header.c中修改

aes_algo_lib.c

des_algo_handler.c

头文件.c

编译步骤如下

120wget

第121章 解压master.zip

122 cd php-beast-master/

124phpize

125 ./configure --with-php-config=/apps/php/bin/php-config

错误:找不到 php-config

找到你的配置在哪里

130 查找/-名称“php-config”

确定配置文件位置

131./configure --with-php-config=/usr/local/php/bin/php-config

第132章

133 sudo 进行测试

134php-m

如果您发现它不起作用,请重试。

135./configure --with-php-config=/usr/local/php/bin/php-config

第136章 136

稍后您还需要添加 sudo root 权限。

第137章

138php-m

140 sudo 进行测试

成功

添加到php配置文件

第141章 141

142 gedit /usr/local/php/etc/php.ini

添加扩展名=“beast.so”

146 php -i|grep 扩展

153 服务 php-fpm 重新启动

重启php开始加密测试

154 光盘工具/

161 php 编码文件.php --加密 DES --旧文件 1.php --新文件 22.php

162php 22.php

163 猫 22

1.php加密后生成。 2.php加密后正常运行。

3)php-beast解密

[1] 修改后的密钥难以解密

未知的密钥只能通过暴力破解。分析加密文件头以确定其加密类型。三种加密类型中的大多数是 AES des 和 base64。没有人应该使用它。

分析加密类型并破解文件主体。

-----------------------分析说明B------------------------ -----

#define INT_SIZE (sizeof(int)) 在 x64 上为 4 字节

php_stream_write(output_stream,加密文件头标志,加密文件头长度);

php_stream_write(output_stream, (const char *)&dumplen, INT_SIZE);长度

php_stream_write(output_stream, (const char *)&expireval, INT_SIZE);到期时间

php_stream_write(output_stream, (const char *)&dumptype, INT_SIZE);加密类型 des=1

BEAST_ENCRYPT_TYPE_DES = 1,dumptype默认des值为1

BEAST_ENCRYPT_TYPE_AES,

BEAST_ENCRYPT_TYPE_BASE64,

使用beast_encode_file()函数对文件进行加密。函数原型如下:

east_encode_file(字符串$input_file,字符串$output_file,int expire_timestamp,int encrypt_type)。

$input_file:要加密的文件

$output_file:输出加密文件路径

$expire_timestamp: 文件过期时间戳

$encrypt_type:用于加密的算法(支持:BEAST_ENCRYPT_TYPE_DES、BEAST_ENCRYPT_TYPE_AES)

-----------------------分析说明E------------------------ - ----

【2】默认密钥加密,

大多数保护代码的未经修改的第三方都会使用默认的密钥加密方法,以便于安装。否则,在一台服务器上部署多个版本的php-beast会增加难度,降低易用性。

默认键如下。自己解密主题即可。

des_key =“11”

aes_key=2b,

懒人也可以使用免费工具来解密php-beast默认加密的文件。点击传送门phpbeast-beast解密decode-online工具。

—————————————————

版权声明:本文为CSDN博主“哈尔王”原创文章,遵循CC 4.0 BY-SA版权协议。转载时请附上原文出处链接及本声明。

原文链接:

你可能想看:
« 上一篇
下一篇 »

相关推荐

php实时推送,php实地培训

2026年10月05日

53阅读

php乱码出现问号的原因,php乱码出现问号的原因有哪些

2026年10月05日

44阅读

php一句话木马,一句话木马ctf

2026年10月05日

48阅读

php获取数组长度,php中如何获取数组的长度

2026年10月05日

50阅读

php面试题库及答案,php程序员面试真题库

2026年10月05日

47阅读

phpcontent-type修改,php源码二次修改需要多少钱

2026年10月05日

42阅读