小编在这里给大家推荐亲测的sg11解密教程,学习需要一定的PHP功底有些难度。在淘宝及市面上找人付高昂费用sg11解密(大约10-30个/文件),远不如自己动手学习,请看下文!
SG11介绍:
Sg11是SourceGuardian的简写,Sg11加密的PHP文件运行需安装SG11加密组件使用,支持WINDOW及LINUX等版本。
sg11加密号称目前最安全的组件加密,代码特征是文件中包含:sg_load
其实,这类加密,加大源码文件,影响服务器性能。如果碰到这样的加密文件是不是无法解密呢?
通过学习本教程可以99%解密。
小编所准备的工作:PHP扩展VLD、宝塔面板PHP7.4
- 步骤一、魔改PHP扩展VLD,可直接下载魔改版,如需亲自体验修改魔改版过程1.1-1.4均为教程,使用已下载好魔改版直接看1.2即可;
- 1.1、下载PHP扩展VLD:下载地址https://pecl.php.net/package/vld,点击vld-0.17.1.tgz (21.3kB)下载至自己服务器中
- 1.2、这边使用的是宝塔面板为例,所上传的压缩包
tar zxvf vld-0.17.1.tgz
进行解压缩;
- 1.3、在
vld-0.17.1
中修改vld.c文件, - 1.3.1、将130行
if (VLD_G(active)) {
、132}
行代码注释,并在358行 // nothing to do
增加vid_dump_oparray($execute_data->func->op_array);
如图:
return old_execute_ex(execute_data TSRMLS_DC);
#原代码
if (VLD_G(active)) {
zend_compile_file = vld_compile_file;
zend_compile_string = vld_compile_string;
if (!VLD_G(execute)) {
zend_execute_ex = vld_execute_ex;
}
}
if (VLD_G(save_paths)) {
char *filename;
#修改后
if (VLD_G(active)) {
zend_compile_file = vld_compile_file;
zend_compile_string = vld_compile_string;
130行此代码注释 //if (!VLD_G(execute)) {
zend_execute_ex = vld_execute_ex;
132行此代码注释 //}
}
if (VLD_G(save_paths)) {
char *filename;
- 1.3.2、358行下增加代码
#原代码
{ // nothing to do } /* }}} */
#修改后
{
358行 // nothing to do
vid_dump_oparray(&execute_data->func->op_array);
return old_execute_ex(execute_data TSRMLS_DC);
}
/* }}} */
- 1.4、修改srm_oparray.c文件
- 1.4.1、在23行增加代码,如下:
#原代码
#修改后
#include "php.h"
#include "zend_alloc.h"
#include "branchinfo.h"
#include "srm_oparray.h"
#include "ext/standard/url.h"
#include "set.h"
#include "php_vld.h"
#include "zend_smart_str.h"
#include "ext/standard/php_var.h"
ZEND_EXTERN_MODULE_GLOBALS(vld)
- 1.4.2、在371行将g改为f
#原代码
#修改后
- 1.4.3将385行中代码修改,387行代码删除改为以下代码,如下:
#原代码
#修改后
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;
}
static inline int vld_dump_zval_object(ZVAL_VALUE_TYPE value)
- 1.4.4、修改460行中代码
#原代码
#修改为
switch (val.u1.v.type) {
case IS_NULL: return vld_dump_zval_null (val.value);
case IS_LONG: return vld_dump_zval_long (val.value);
case IS_DOUBLE: return vld_dump_zval_double (val.value);
case IS_STRING: return vld_dump_zval_string (val.value);
case IS_ARRAY: return vld_dump_zval_array (&val);
case IS_OBJECT: return vld_dump_zval_object (val.value);
case IS_RESOURCE: return vld_dump_zval_resource (val.value);
#if PHP_VERSION_ID < 70300
case IS_CONSTANT: return vld_dump_zval_constant (val.value);
- 步骤二、正式进入安装步骤
- 2.1、进入终端命令行,运行魔改版所在的路径,这边以小编为例:
cd /www/cxszn/vld-0.17.1
再次运行PHP7.4所在路径
/www/server/php/74/bin/phpize
- 2.2、继续运行以下代码
./configure --with-php-config=/www/server/php/74/bin/php-config --enable-vld
#运行安装 make && make install
make && make install
#切换至PHP74
cd /www/server/php/74/etc
#运行dir
dir
#编辑php.ini,直接在宝塔面板修改或使用以下命令
vim php.ini
#php.ini最后一行添加扩展命令
extension = vld.so
#进入宝塔面板,选择PHP74重载配置
#运行解密
cd /www/wwwroot/sg解密
php i.php
php -dvld.active=1 i.php
更多内容请看视频解说!
sg11解密视频教程一共4段,详细介绍了sg11解密方法。
sg11解密教程学习需要一定的PHP功底,要不然你学习会像天书。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)