`
hanyh
  • 浏览: 235279 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

php vld 安装使用

    博客分类:
  • php
阅读更多
cvs -d :pserver:cvsread@cvs.xdebug.org:/repository login
# passwd = srmread
cvs -d :pserver:cvsread@cvs.xdebug.org:/repository co -d vld vle
cd vld
./configure && make && make install
php -dextension=vld.so -dvld.active=1 script.php



能够看到编译后的OPCODE
执行:
php -dextension=vld.so -dvld.active=1 xml.php
<?php
$xw = new xmlWriter();
$xw->openMemory();
$xw->startDocument('1.0','UTF-8');
$xw->startElement('html');
$xw->startElement('head');
$xw->writeElement('title', 'Hello World!');
$xw->endElement();
$xw->startElement('body');
$xw->text('Hello World!');
$xw->endElement();
$xw->endElement();
$xw->endDocument();
echo $xw->outputMemory(true);
?>


Branch analysis from position: 0
Return found
filename:       /home/hanyh/workspace/php/learn/xml.php
function name:  (null)
number of ops:  40
compiled vars:  !0 = $xw
line     #  op                           fetch          ext  return  operands
-------------------------------------------------------------------------------
   2     0  ZEND_FETCH_CLASS                                 :0      'xmlWriter'
         1  NEW                                              $1      :0
         2  DO_FCALL_BY_NAME                              0          
         3  ASSIGN                                                   !0, $1
   3     4  ZEND_INIT_METHOD_CALL                            $4      !0, 'openMemory'
         5  DO_FCALL_BY_NAME                              0          
   4     6  ZEND_INIT_METHOD_CALL                            $6      !0, 'startDocument'
         7  SEND_VAL                                                 '1.0'
         8  SEND_VAL                                                 'UTF-8'
         9  DO_FCALL_BY_NAME                              2          
   5    10  ZEND_INIT_METHOD_CALL                            $8      !0, 'startElement'
        11  SEND_VAL                                                 'html'
        12  DO_FCALL_BY_NAME                              1          
   6    13  ZEND_INIT_METHOD_CALL                            $10     !0, 'startElement'
        14  SEND_VAL                                                 'head'
        15  DO_FCALL_BY_NAME                              1          
   7    16  ZEND_INIT_METHOD_CALL                            $12     !0, 'writeElement'
        17  SEND_VAL                                                 'title'
        18  SEND_VAL                                                 'Hello+World%21'
        19  DO_FCALL_BY_NAME                              2          
   8    20  ZEND_INIT_METHOD_CALL                            $14     !0, 'endElement'
        21  DO_FCALL_BY_NAME                              0          
   9    22  ZEND_INIT_METHOD_CALL                            $16     !0, 'startElement'
        23  SEND_VAL                                                 'body'
        24  DO_FCALL_BY_NAME                              1          
  10    25  ZEND_INIT_METHOD_CALL                            $18     !0, 'text'
        26  SEND_VAL                                                 'Hello+World%21'
        27  DO_FCALL_BY_NAME                              1          
  11    28  ZEND_INIT_METHOD_CALL                            $20     !0, 'endElement'
        29  DO_FCALL_BY_NAME                              0          
  12    30  ZEND_INIT_METHOD_CALL                            $22     !0, 'endElement'
        31  DO_FCALL_BY_NAME                              0          
  13    32  ZEND_INIT_METHOD_CALL                            $24     !0, 'endDocument'
        33  DO_FCALL_BY_NAME                              0          
  14    34  ZEND_INIT_METHOD_CALL                            $26     !0, 'outputMemory'
        35  SEND_VAL                                                 true
        36  DO_FCALL_BY_NAME                              1          
        37  ECHO                                                     $27
  16    38  RETURN                                                   1
        39* ZEND_HANDLE_EXCEPTION                                    

<?xml version="1.0" encoding="UTF-8"?>
<html><head><title>Hello World!</title></head><body>Hello World!</body></html>
分享到:
评论

相关推荐

    利用PHP扩展vld查看PHP opcode操作步骤

    首先,要使用vld扩展,需要将其下载并编译安装到PHP环境中。操作步骤大致如下: 1. 下载vld扩展:可以通过PECL下载,也可以直接访问其在GitHub上的仓库。在这个例子中,我们使用的是wget命令从PECL网站下载vld的...

    sg11解密 php vld 扩展 显示sg11解密后opcode补丁

    sg11解密 php vld 扩展 显示sg11解密后opcode补丁 1.将vld_patch.c 和srm_oparray_patch.c 拷贝到vld扩展源码根目录...3.参照正常的编译vld扩展进行编译安装即可 4.需将php.ini vld扩展参数vld.execute设置为0时才有效

    VLD Available Releases(PHP)

    Provides functionality to dump the internal representation of PHP scripts,The Vulcan Logic Disassembler hooks into the Zend Engine and dumps all the opcodes (execution units) of a script.

    Zend文件解密工具

    #cd -R vld ../php-4.3.8/ext //拷贝vld目录到php的解压目录下的ext中 #cd php-4.3.8 #rm configure //删除configure, 因为下面的buildconf会重新生成新的configure #./buildconf //如果出现错误, 就按提示加上...

    SourceGuardian sg11解密视频教程

    SourceGuardian 是php号称最安全的加密方式,通过学习该视频,可以对...第一个视频讲的是如何修改vld文件,我把修改好的文件也放在压缩包里了,可以节省修改的时间,所以直接从第二个视频开始看。希望能够帮助到大家!

    PHP内核扩展教程及文档_ppt_code等

    4. **编译和安装**:编写完扩展后,使用PHP的配置工具编译并安装扩展,使其成为PHP的一部分。 5. **测试和调试**:使用PHP的测试框架和调试工具(如Xdebug)对扩展进行测试和调试。 这个教程可能还包括实际的开发...

    基于python机器学习的ScanWebShell识别项目

    php vld 插件安装 http://pecl.php.net/package/vld 安装后php -m来确定是否安装 settings.py cp ScanWebShell/settings.example.py ScanWebShell/settings.py celery启动 celery -A ScanWebShell worker -l info ...

    ioncubeLegacy9解密.zip

    "ioncubeLegacy9解密.zip"这个文件包显然涉及到一个特定的PHP加密解决方案,即ionCube,它是一个广泛使用的PHP代码保护和加速工具。ionCube主要用于防止源代码被未经授权的用户查看或修改,通常用于商业软件的分发。...

    PHP解密专家(完全免费真对zend加密的PHP文件,可获得zend 加密后的php文件的源码)

    PHP解密专家(完全免费真对zend加密的PHP文件,可获得zend 加密后的php文件的源码) DeZend是一个专业对用Zend Encoder/SafeGuard, ionCube, SourceGuardian,phpcipher、codelock或SourceCop加密过的PHP文件进行破解的...

    深化理解PHP原理之执行周期分析_.docx

    安装VLD通常涉及解压源码、配置、编译和激活扩展。然后,通过在命令行中设置-Dvld.active=1运行PHP,即可查看opcode详细信息。 例如,一个简单的`hello.php`脚本: ```php &lt;?php echo 'hello, world.'; ?&gt; ``` 运行...

    Zend php 反编译工具

    然而,为了保护源代码的安全,许多开发者会选择使用Zend Optimizer或者后来的Zend Guard来编译PHP代码,将源代码转换为无法直接阅读的格式。这种加密方式可以防止未经授权的访问和复制,但同时也给调试和维护带来了...

    基于机器学习的ScanWebShell识别项目源码+项目说明.zip

    * `php vld` 插件安装 http://pecl.php.net/package/vld 安装后`php -m`来确定是否安装 * `settings.py` ```bash cp ScanWebShell/settings.example.py ScanWebShell/settings.py ``` 出于安全角度,`SECRET_...

    深入理解PHP原理之执行周期分析

    为了查看PHP代码编译后的中间语言(即opcode),可以使用PECL(PHP扩展社区库)中的VLD(Vulcan Logic Disassembler)模块。VLD模块是一个 opcode 分析器,它能够将PHP脚本的opcode输出,帮助开发者分析脚本的执行...

    PHP 解密工具包

    PHP 解密工具包

    为PHP5.4开启Zend OPCode缓存

    - 利用PHP扩展vld查看PHP opcode操作步骤,vld是一个用于调试的PHP扩展,可以帮助你理解OPCode的工作方式。 - 深入理解PHP之OpCode原理详解,了解OPCode在PHP解释器中的作用和作用原理。 - 理解php原理的opcodes...

    如何使用PHP Embed SAPI实现Opcodes查看器

    最终,结合这些功能,我们可以创建一个类似vld(Visualize PHP opcodes)的工具,它能够分析PHP脚本的执行流程,帮助开发者理解代码在底层如何工作,优化性能,或者调试问题。在编译和运行这个C程序后,它将输出解析...

    基于神经网络的PHPwebshell检测器,目前有Attention与LSTM两种网络结构python源码+文档说明

    php环境,安装vld拓展 python库:tensorflow(1或2)、numpy、sklearn等 文件结构 bin: 储存二进制文件,如内存中加载好的数据 data: 数据集 etc: 杂项、临时文件等 log: 训练记录 model: 模型存放 result: 准确率等...

    PHP内核探索之解释器的执行过程

    首先,当我们通过命令行使用PHP时,CLI(命令行接口)会启动,这是PHP的一种SAPI(Server API)。通常在服务器上安装PHP后会生成一个可执行文件,比如在/usr/local/bin/php。通过这个可执行文件,我们可以直接在...

    探讨:如何编写PHP扩展

    另外,开发者还可以研究其他已有的PHP扩展,如cURL、Image_Tool或VLD(Visualize PHP Opcode),学习它们的实现方式,以便更好地理解和编写自己的扩展。在实际开发中,建议查阅PHP官方文档和社区资源,以便获取最新...

Global site tag (gtag.js) - Google Analytics