什么是SG11?
• Source Guardian,一种PHP加密器,可以说是目前最好的加密方式了,多用于保护源代码不被盗取倒卖。
• 它的代码特征是文件中包含:sg_load(
• 搜索后,发现这类SG11解密方面的教程非常少,几乎没有。但也能看到有一些Decoder提供解密服务,价格基本在100-200元/文件。价格之贵,足以说明它的保密性了。
解密原理
通过安装PHP vld扩展,用操作码OP对PHP文件进行逆向解密。
vld.c 文件
//if (!VLD_G(execute)) {
//}
vld_dump_oparray(&execute_data->func->op_array);
return old_execute_ex(execute_data TSRMLS_DC);
----------------------------------------------------------------
srm_oparray.c 文件
#include "zend_smart_str.h"
#include "ext/standard/php_var.h"
static inline int vld_dump_zval_double(ZVAL_VALUE_TYPE value)
{
return vld_printf (stderr, "%f", value.dval);
}
static inline int vld_dump_zval_array(zval* value)
{
smart_str buf = {0};
php_var_export_ex(value,1,&buf);
smart_str_0 (&buf);
ZVAL_VALUE_STRING_TYPE *new_str;
new_str = php_url_encode(ZSTRING_VALUE(buf.s), buf.s->len);
int ret = vld_printf(stderr,"%s",ZSTRING_VALUE(new_str));
efree(new_str);
smart_str_free(&buf);
return ret;
}
case IS_ARRAY: return vld_dump_zval_array (&val);
发表回复
要发表评论,您必须先登录。