09月22日, 2014 6882次
https://github.com/imaben/php-beast-binaries
windows下 可以直接在这里下载dll
根据自己的php版本 还有是不是线程安全的 来选择下载对应的
放到对应的扩展目录 中
在配置文件 php.ini中加入扩展配置
extension=php_beast_x86_nts.dll
但是秘钥是一样的 编译的话很多时候 会失败 或者出现lib版本不匹配问题
老版本 我用vs编译过 dll收到版本限制比较麻烦处理
官方提供的版本很稳定 直接二进制修改对应秘钥部分就可以了
【1】处理aes的部分
ida分析到 变了对应的位置
static uint8_t key[] = {
0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6,
0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c,
};
根据文件偏移 用ue二进制编辑 找到对应位置 修改 保存即可
【2】处理des部分
ida逆向分析出秘钥变量的位置 和源码里面
static char key[8] = {
0x01, 0x1f, 0x01, 0x1f,
0x01, 0x0e, 0x01, 0x0e,
};
正好对应上
用ue二进制编辑 修改保存
测试通过 其他加密方式就不处理了 就到这里
另外有朋友问encrypt_file_header_sign 这个在哪里修改
ida分析到 头 信息 位置
这个数据应该是在加密的文件最前面来标示文件是否被加密了
尽量特别一点
我的版本 在7760这个位置长度是8
php-beast 加密解密