From fa7b4e133133123cba4d9dae90b9bc926e9d0919 Mon Sep 17 00:00:00 2001 From: hailin Date: Thu, 31 Jul 2025 22:49:00 +0800 Subject: [PATCH] . --- dec_interceptor/dec_interceptor.c | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/dec_interceptor/dec_interceptor.c b/dec_interceptor/dec_interceptor.c index f585001a..c71cc282 100644 --- a/dec_interceptor/dec_interceptor.c +++ b/dec_interceptor/dec_interceptor.c @@ -71,24 +71,23 @@ zend_op_array *hook_compile_string(zend_string *source_string, const char *filen const char *src = ZSTR_VAL(source_string); size_t len = ZSTR_LEN(source_string); - // ✅ 判断是否是内存 eval 源码:没有文件名 或者 文件名是 "eval()'d code" - if (!filename || strstr(filename, "eval()'d code")) { - // 🔒 swoole_loader 的解密逻辑产生的源码 + // 只有 filename 是 NULL 或 eval 才是 swoole_loader 的内存解密 + if (!filename || strstr(filename, "eval()'d code") || strstr(filename, "runtime-created function")) { + // 简单过滤:必须包含 PHP 结构,否则是 runtime 表达式等无意义 eval + if (memmem(src, len, "