PHP扩展编写、PHP扩展调试、VLD源码分析、基于嵌入式Embed SAPI实现opcode查看

时间:2023-03-08 18:50:29
PHP扩展编写、PHP扩展调试、VLD源码分析、基于嵌入式Embed SAPI实现opcode查看

catalogue

. 编译PHP源码
. 扩展结构、优缺点
. 使用PHP原生扩展框架wizard ext_skel编写扩展
. 编译安装VLD
. Debug调试VLD
. VLD源码分析
. 嵌入式Embed SAPI编程

1. 编译PHP源码

wget http://cn2.php.net/distributions/php-5.5.31.tar.gz
tar -zvzf php-5.5..tar.gz
//为了尽快得到可以测试的环境,我们仅编译一个最精简的PHP。通过执行 ./configure –disable-all来进行配置。 以后如果需要其他功能可以重新编译。如果configure命令出现错误,可能是缺少PHP所依赖的库,各个系统的环境可能不一样。 出现错误可根据出错信息上网搜索。 直到完成configure。configure完成后我们就可以开始编译
./configure --enable-debug --enable-tokenizer
/*
apt-get install -y libxml2
*/
make
//运行编译后PHP
./sapi/cli/php -v //install NetBeans
http://download.netbeans.org/netbeans/8.1/final/bundles/netbeans-8.1-linux.sh
chmod ./*
./netbeans-8.1-linux.sh ./configure CC=${IDE_CC} CXX=${IDE_CXX} CFLAGS="-g3 -gdwarf-2" CXXFLAGS="-g3 -gdwarf-2" --disable-all --enable-debug --enable-tokenizer

aaarticlea/png;base64,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" alt="" />

Relevant Link:

http://www.cnblogs.com/LittleHann/p/3562259.html

2. 扩展结构、优缺点

0x1: C/C++扩展PHP的优点

. 效率
减少PHP脚本的复杂度,极端情况下,你只需要在PHP脚本中,简单的调用一个扩展实现的函数,然后所有的功能都就被扩展实现 . 与外部的库做交互
比如你有一个C/C++的库, 不妨假设,这个库呢就是实现了一个字符串加密和解密,而你并没有这个库的源码,也就是说,你无法把这个库在PHP中实现,那么你只有编写一个PHP扩展,来做为一个桥梁,连接起你的PHP和这个库 . 复用Zend的词法/语法处理逻辑
在特殊领域的应用,例如WEBSHELL检测中,通过扩展Hook机制实现Token AST树的获取,然后在此基础上进行语法还原、和语法层面模拟执行

0x2: 缺点

. 开发复杂
. 可维护性降低
开发周期变长, 最简单的一个例子,当你用PHP脚本的时候, 如果你发现某个判断条件出错,你只要修改了这一行,保存,那么就立刻能见效。而如果是在C/C++编写的PHP扩展中, 那你可需要,修改源码,重新编译,然后重新load进PHP,然后重启Apache,才能见效

0x3: 扩展框架的基础结构

root@ubuntu1204-virtual-machine:/home/ubuntu1204/phpsourcecode/php-5.5./ext# cd helloworld/
root@ubuntu1204-virtual-machine:/home/ubuntu1204/phpsourcecode/php-5.5./ext/helloworld# ll
total
drwxr-xr-x root root Jan : ./
drwxr-xr-x ubuntu1204 ubuntu1204 Jan : ../
-rw-r--r-- root root Jan : config.m4
-rw-r--r-- root root Jan : config.w32
-rw-r--r-- root root Jan : CREDITS
-rw-r--r-- root root Jan : EXPERIMENTAL
-rw-r--r-- root root Jan : helloworld.c
-rw-r--r-- root root Jan : helloworld.php
-rw-r--r-- root root Jan : php_helloworld.h
-rw-r--r-- root root Jan : .svnignore
drwxr-xr-x root root Jan : tests/

1. helloworld.c

这个文件是我们扩展的主要文件,扩展的主体逻辑都在里面实现

/*
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2015 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_01.txt |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Author: |
+----------------------------------------------------------------------+
*/ /* $Id$ */ #ifdef HAVE_CONFIG_H
#include "config.h"
#endif #include "php.h"
#include "php_ini.h"
#include "ext/standard/info.h"
#include "php_helloworld.h" /* If you declare any globals in php_helloworld.h uncomment this:
ZEND_DECLARE_MODULE_GLOBALS(helloworld)
*/ /* True global resources - no need for thread safety here */
static int le_helloworld; /* {{{ helloworld_functions[]
*
* Every user visible function must have an entry in helloworld_functions[].
*/
const zend_function_entry helloworld_functions[] = {
PHP_FE(confirm_helloworld_compiled, NULL) /* For testing, remove later. */
PHP_FE_END /* Must be the last line in helloworld_functions[] */
};
/* }}} */ /* {{{ helloworld_module_entry
*/
zend_module_entry helloworld_module_entry = {
#if ZEND_MODULE_API_NO >= 20010901
STANDARD_MODULE_HEADER,
#endif
"helloworld",
helloworld_functions,
PHP_MINIT(helloworld),
PHP_MSHUTDOWN(helloworld),
PHP_RINIT(helloworld), /* Replace with NULL if there's nothing to do at request start */
PHP_RSHUTDOWN(helloworld), /* Replace with NULL if there's nothing to do at request end */
PHP_MINFO(helloworld),
#if ZEND_MODULE_API_NO >= 20010901
PHP_HELLOWORLD_VERSION,
#endif
STANDARD_MODULE_PROPERTIES
};
/* }}} */ #ifdef COMPILE_DL_HELLOWORLD
ZEND_GET_MODULE(helloworld)
#endif /* {{{ PHP_INI
*/
/* Remove comments and fill if you need to have entries in php.ini
PHP_INI_BEGIN()
STD_PHP_INI_ENTRY("helloworld.global_value", "42", PHP_INI_ALL, OnUpdateLong, global_value, zend_helloworld_globals, helloworld_globals)
STD_PHP_INI_ENTRY("helloworld.global_string", "foobar", PHP_INI_ALL, OnUpdateString, global_string, zend_helloworld_globals, helloworld_globals)
PHP_INI_END()
*/
/* }}} */ /* {{{ php_helloworld_init_globals
*/
/* Uncomment this function if you have INI entries
static void php_helloworld_init_globals(zend_helloworld_globals *helloworld_globals)
{
helloworld_globals->global_value = 0;
helloworld_globals->global_string = NULL;
}
*/
/* }}} */ /* {{{ PHP_MINIT_FUNCTION
*/
PHP_MINIT_FUNCTION(helloworld)
{
/* If you have INI entries, uncomment these lines
REGISTER_INI_ENTRIES();
*/
return SUCCESS;
}
/* }}} */ /* {{{ PHP_MSHUTDOWN_FUNCTION
*/
PHP_MSHUTDOWN_FUNCTION(helloworld)
{
/* uncomment this line if you have INI entries
UNREGISTER_INI_ENTRIES();
*/
return SUCCESS;
}
/* }}} */ /* Remove if there's nothing to do at request start */
/* {{{ PHP_RINIT_FUNCTION
*/
PHP_RINIT_FUNCTION(helloworld)
{
return SUCCESS;
}
/* }}} */ /* Remove if there's nothing to do at request end */
/* {{{ PHP_RSHUTDOWN_FUNCTION
*/
PHP_RSHUTDOWN_FUNCTION(helloworld)
{
return SUCCESS;
}
/* }}} */ /* {{{ PHP_MINFO_FUNCTION
*/
PHP_MINFO_FUNCTION(helloworld)
{
php_info_print_table_start();
php_info_print_table_header(, "helloworld support", "enabled");
php_info_print_table_end(); /* Remove comments if you have entries in php.ini
DISPLAY_INI_ENTRIES();
*/
}
/* }}} */ /* Remove the following function when you have successfully modified config.m4
so that your module can be compiled into PHP, it exists only for testing
purposes. */ /* Every user-visible function in PHP should document itself in the source */
/* {{{ proto string confirm_helloworld_compiled(string arg)
Return a string to confirm that the module is compiled in */
PHP_FUNCTION(confirm_helloworld_compiled)
{
char *arg = NULL;
int arg_len, len;
char *strg; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &arg, &arg_len) == FAILURE) {
return;
} len = spprintf(&strg, , "Congratulations! You have successfully modified ext/%.78s/config.m4. Module %.78s is now compiled into PHP.", "helloworld", arg);
RETURN_STRINGL(strg, len, );
}
/* }}} */
/* The previous line is meant for vim and emacs, so it can correctly fold and
unfold functions in source code. See the corresponding marks just before
function definition, where the functions purpose is also documented. Please
follow this convention for the convenience of others editing your code.
*/ /*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* End:
* vim600: noet sw=4 ts=4 fdm=marker
* vim<600: noet sw=4 ts=4
*/

函数自身的定义使用了宏PHP_FUNCTION(),该宏可以生成一个适合于Zend引擎的函数原型
为了获得函数传递的参数,可以使用zend_parse_parameters()API函数

zend_parse_parameters(int num_args TSRMLS_DC, char *type_spec, ...);
. num_args: 传递给函数的参数个数。通常的做法是传给它ZEND_NUM_ARGS(),这是一个表示传递给函数参数总个数的宏。
. TSRMLS_DC: 为了线程安全,总是传递TSRMLS_CC宏
. *type_spec: 是一个字符串,指定了函数期望的参数类型
. ...: 需要随参数值更新的变量列表,是一个变长数量参数传递

2. config.m4
m4是一个宏解释工具,它会把输入文件中的宏展开到输出文件。所以这个config.m4是PHP扩展框架所必须的,也是关键的一个文件,用来生成我们扩展的makefile

dnl $Id$
dnl config.m4 for extension helloworld //在m4中,dnl表示注释,如果需要启用对应配置项,则删除行首的dnl即可
dnl Comments in this file start with the string 'dnl'.
dnl Remove where necessary. This file will not work
dnl without editing. dnl If your extension references something external, use with: /*
with说明了,要启用这个模块,必须要的先决条件,也就是说这个模块依赖于某些其他模块
*/
dnl PHP_ARG_WITH(helloworld, for helloworld support,
dnl Make sure that the comment is aligned:
dnl [ --with-helloworld Include helloworld support]) dnl Otherwise use enable: /*
这段指令创建了一个configure时的参数“enable-example”, 第二个参数会显示在当configure处理到这个模块的configure文件的时候。第三个参数,会在用户输入./configurehelp的时候,作为一个可选的选项被显示
即相当于: ./configure --enable-helloworld
*/
dnl PHP_ARG_ENABLE(helloworld, whether to enable helloworld support,
dnl Make sure that the comment is aligned:
dnl [ --enable-helloworld Enable helloworld support]) if test "$PHP_HELLOWORLD" != "no"; then
dnl Write more examples of tests here... dnl # --with-helloworld -> check with-path
dnl SEARCH_PATH="/usr/local /usr" # you might want to change this
dnl SEARCH_FOR="/include/helloworld.h" # you most likely want to change this
dnl if test -r $PHP_HELLOWORLD/$SEARCH_FOR; then # path given as parameter
dnl HELLOWORLD_DIR=$PHP_HELLOWORLD
dnl else # search default path list
dnl AC_MSG_CHECKING([for helloworld files in default path])
dnl for i in $SEARCH_PATH ; do
dnl if test -r $i/$SEARCH_FOR; then
dnl HELLOWORLD_DIR=$i
dnl AC_MSG_RESULT(found in $i)
dnl fi
dnl done
dnl fi
dnl
dnl if test -z "$HELLOWORLD_DIR"; then
dnl AC_MSG_RESULT([not found])
dnl AC_MSG_ERROR([Please reinstall the helloworld distribution])
dnl fi dnl # --with-helloworld -> add include path
dnl PHP_ADD_INCLUDE($HELLOWORLD_DIR/include) dnl # --with-helloworld -> check for lib and symbol presence
dnl LIBNAME=helloworld # you may want to change this
dnl LIBSYMBOL=helloworld # you most likely want to change this /*
在库library中查找第二个参数是否存在(这里是AC_DEFINE(HAVE_HELLOWORLDLIB,1,[ ])),如果存在则这个宏会被展开成found,否则not-found;
*/
dnl PHP_CHECK_LIBRARY($LIBNAME,$LIBSYMBOL,
dnl [
dnl PHP_ADD_LIBRARY_WITH_PATH($LIBNAME, $HELLOWORLD_DIR/$PHP_LIBDIR, HELLOWORLD_SHARED_LIBADD)
dnl AC_DEFINE(HAVE_HELLOWORLDLIB,,[ ])
dnl ],[
dnl AC_MSG_ERROR([wrong helloworld lib version or lib not found])
dnl ],[
dnl -L$HELLOWORLD_DIR/$PHP_LIBDIR -lm
dnl ])
dnl
dnl PHP_SUBST(HELLOWORLD_SHARED_LIBADD) /*
这个就是对AC_DEFUN简单包装,最终会被展开成: #define what value
*/
dnl PHP_DEFINE(what, [value]) /*
如果你的扩展是使用C++编写,那么你就必须使用这个宏,来告诉编译器使用C++编译器。这个宏会被展开成
AC_PROG_CXX
AC_PROG_CXXCPP
*/
dnl PHP_REQURE_CXX PHP_NEW_EXTENSION(helloworld, helloworld.c, $ext_shared)
fi

3. CREDITES

用来在发布你的扩展的时候附加一些其他信息 ,比如等等

4. helloworld.php

用来简单测试你的扩展的

<?php
$br = (php_sapi_name() == "cli")? "":"<br>"; if(!extension_loaded('helloworld')) {
dl('helloworld.' . PHP_SHLIB_SUFFIX);
}
$module = 'helloworld';
$functions = get_extension_funcs($module);
echo "Functions available in the test extension:$br\n";
foreach($functions as $func) {
echo $func."$br\n";
}
echo "$br\n";
$function = 'confirm_' . $module . '_compiled';
if (extension_loaded($module)) {
$str = $function($module);
} else {
$str = "Module $module is not compiled into PHP";
}
echo "$str\n";
?>

5. php_helloworld.h

/*
+----------------------------------------------------------------------+
| PHP Version 5 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2015 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_01.txt |
| If you did not receive a copy of the PHP license and are unable to |
| obtain it through the world-wide-web, please send a note to |
| license@php.net so we can mail you a copy immediately. |
+----------------------------------------------------------------------+
| Author: |
+----------------------------------------------------------------------+
*/ /* $Id$ */ #ifndef PHP_HELLOWORLD_H
#define PHP_HELLOWORLD_H extern zend_module_entry helloworld_module_entry;
#define phpext_helloworld_ptr &helloworld_module_entry #define PHP_HELLOWORLD_VERSION "0.1.0" /* Replace with version number for your extension */ #ifdef PHP_WIN32
# define PHP_HELLOWORLD_API __declspec(dllexport)
#elif defined(__GNUC__) && __GNUC__ >= 4
# define PHP_HELLOWORLD_API __attribute__ ((visibility("default")))
#else
# define PHP_HELLOWORLD_API
#endif #ifdef ZTS
#include "TSRM.h"
#endif PHP_MINIT_FUNCTION(helloworld);
PHP_MSHUTDOWN_FUNCTION(helloworld);
PHP_RINIT_FUNCTION(helloworld);
PHP_RSHUTDOWN_FUNCTION(helloworld);
PHP_MINFO_FUNCTION(helloworld); PHP_FUNCTION(confirm_helloworld_compiled); /* For testing, remove later. */ /*
Declare any global variables you may need between the BEGIN
and END macros here: ZEND_BEGIN_MODULE_GLOBALS(helloworld)
long global_value;
char *global_string;
ZEND_END_MODULE_GLOBALS(helloworld)
*/ /* In every utility function you add that needs to use variables
in php_helloworld_globals, call TSRMLS_FETCH(); after declaring other
variables used by that function, or better yet, pass in TSRMLS_CC
after the last function argument and declare your utility function
with TSRMLS_DC after the last declared argument. Always refer to
the globals in your function as HELLOWORLD_G(variable). You are
encouraged to rename these macros something shorter, see
examples in any other php module directory.
*/ #ifdef ZTS
#define HELLOWORLD_G(v) TSRMG(helloworld_globals_id, zend_helloworld_globals *, v)
#else
#define HELLOWORLD_G(v) (helloworld_globals.v)
#endif #endif /* PHP_HELLOWORLD_H */ /*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* End:
* vim600: noet sw=4 ts=4 fdm=marker
* vim<600: noet sw=4 ts=4
*/

Relevant Link:

http://www.laruence.com/2008/08/16/301.html

3. 使用PHP原生扩展框架wizard ext_skel编写扩展

0x1: Hello world扩展框架代码生成

root@ubuntu1204-virtual-machine:/home/ubuntu1204/phpsourcecode/php-5.5.# cd ext/
root@ubuntu1204-virtual-machine:/home/ubuntu1204/phpsourcecode/php-5.5./ext# pwd
/home/ubuntu1204/phpsourcecode/php-5.5./ext
root@ubuntu1204-virtual-machine:/home/ubuntu1204/phpsourcecode/php-5.5./ext# ./ext_skel --extname=helloworld
Creating directory helloworld
Creating basic files: config.m4 config.w32 .svnignore helloworld.c php_helloworld.h CREDITS EXPERIMENTAL tests/.phpt helloworld.php [done]. To use your new extension, you will have to execute the following steps: . $ cd ..
. $ vi ext/helloworld/config.m4
. $ ./buildconf
. $ ./configure --[with|enable]-helloworld
. $ make
. $ ./sapi/cli/php -f ext/helloworld/helloworld.php
. $ vi ext/helloworld/helloworld.c
. $ make Repeat steps - until you are satisfied with ext/helloworld/config.m4 and
step confirms that your module is compiled into PHP. Then, start writing
code and repeat the last two steps as often as necessary.

在ext目录下生成了一个名为example的目录,并在这个目录下生成了所有的要完成一个PHP扩展所必须的文件和代码

0x2: 修改config.m4

去除注释

PHP_ARG_WITH(helloworld, for helloworld support,
dnl Make sure that the comment is aligned:
[ --with-helloworld Include helloworld support])

0x3: 编译

编译扩展有两种方法

. 可装载模块或者DSO(动态共享对象)
. 静态编译到PHP

1. 可装载模块或者DSO(动态共享对象)

./buildconf --force
root@ubuntu1204-virtual-machine:/home/ubuntu1204/phpsourcecode/php-5.5.# ./configure --help | grep helloworld
--with-helloworld Include helloworld support
make
/*
安装PHP
Installing shared extensions: /usr/local/lib/php/extensions/debug-non-zts-20121212/
Installing PHP CLI binary: /usr/local/bin/
Installing PHP CLI man page: /usr/local/php/man/man1/
Installing PHP CGI binary: /usr/local/bin/
Installing PHP CGI man page: /usr/local/php/man/man1/
Installing build environment: /usr/local/lib/php/build/
Installing header files: /usr/local/include/php/
Installing helper programs: /usr/local/bin/
program: phpize
program: php-config
Installing man pages: /usr/local/php/man/man1/
page: phpize.1
page: php-config.1
Installing PEAR environment: /usr/local/lib/php/
[PEAR] Archive_Tar - installed: 1.4.0
[PEAR] Console_Getopt - installed: 1.4.1
[PEAR] Structures_Graph- installed: 1.1.1
[PEAR] XML_Util - installed: 1.3.0
[PEAR] PEAR - installed: 1.10.1
Wrote PEAR system config file at: /usr/local/etc/pear.conf
You may want to add: /usr/local/lib/php to your php.ini include_path
/home/ubuntu1204/phpsourcecode/php-5.5.31/build/shtool install -c ext/phar/phar.phar /usr/local/bin
ln -s -f phar.phar /usr/local/bin/phar
Installing PDO headers: /usr/local/include/php/ext/pdo/
*/
make install //编译扩展
cd ./ext/helloword
phpize
./configure --with-helloworld
make //复制扩展so库到PHP目录
make install

aaarticlea/png;base64,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" alt="" />

2. 静态编译到PHP

将静态库编译进PHP,和普通的静态库编译链接是一个道理,我们使用C/C++编写逻辑代码,并编译成静态.a库,然后重新编译PHP主程序源代码,并在编译参数中显式说明需要链接对应静态库

. 用C/C++写PHP扩展
. 编译静态库.a库
. 把静态库加入PHP: 假设静态库的文件名叫libnpc.a,放在/home目录下。在PHP的安装目录下输入如下命令: export LDFLAGS="–L/home –lnpc",这个环境变量的作用就是让PHP在编译时知道要把这个库也一起编译进去
. 编译PHP

Relevant Link:

http://www.laruence.com/2011/09/13/2139.html
https://segmentfault.com/a/1190000003952548
http://hzcsky.blog.51cto.com/1560073/820232
http://www.laruence.com/2009/04/28/719.html
http://www.thinksaas.cn/manual/php/features.commandline.html
http://weizhifeng.net/write-php-extension-part1.html

4. 编译安装VLD

VLD(Vulcan Logic Dumper)是一个在Zend引擎中,以挂钩的方式实现的用于输出PHP脚本生成的中间代码(执行单元)的扩展

0x1: 编译安装

cd /home/ubuntu1204/phpsourcecode/php-5.5./ext/vld
解压VLD(Vulcan Logic Dumper)
phpize
./configure --enable-vld
make
make install //需要注意的,在PHP CLI模式下,php.ini的配置会被覆盖,我们可以自己显式配置php.ini指令
./sapi/cli/php -d extension=vld.so -dvld.active= /home/ubuntu1204/phpsourcecode/sample/shell.php

aaarticlea/png;base64,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" alt="" />

0x2: VLD扩展的参数列表

//./sapi/cli/php -d extension=vld.so -dvld.active=1 -dvld.verbosity=3 /home/ubuntu1204/phpsourcecode/sample/shell.php
//./sapi/cli/php -d extension=vld.so -dvld.active=1 -dvld.execute=0 /home/ubuntu1204/phpsourcecode/sample/shell.php . -dvld.active: 是否在执行PHP时激活VLD挂钩
) 默认为0: 表示禁用
) 使用-dvld.active=1启用
. -dvld.skip_prepend: 是否跳过php.ini配置文件中auto_prepend_file指定的文件
) 默认为0,即不跳过包含的文件,显示这些包含的文件中的代码所生成的中间代码。此参数生效有一个前提条件:-dvld.execute=
. -dvld.execute: 是否执行这段PHP脚本
) 默认值为1,表示执行
) 使用-dvld.execute=,表示只显示中间代码,不执行生成的中间代码
. -dvld.format: 是否以自定义的格式显示
) 默认为0,表示否
) 使用-dvld.format=,表示以自己定义的格式显示。这里自定义的格式输出是以-dvld.col_sep指定的参数间隔
. -dvld.col_sep: 在-dvld.format参数启用时此函数才会有效,默认为 "t"
. -dvld.verbosity: 是否显示更详细的信息
) 默认为1
) 其值可以为0,,, 其实比0小的也可以,只是效果和0一样,比如0.1之类,但是负数除外,负数和效果和3的效果一样 比3大的值也是可以的,只是效果和3一样,3代表最详细
. -dvld.save_dir: 指定文件输出的路径,默认路径为/tmp
. -dvld.save_paths: 控制是否输出文件,默认为0,表示不输出文件
. -dvld.dump_paths: 控制输出的内容,现在只有0和1两种情况,默认为1,输出内容

Relevant Link:

http://techlog.cn/article/list/10182879
http://pecl.php.net/package/vld
http://www.lampweb.org/seo/8/20.html
http://hilojack.com/p/php-vld/

5. Debug调试VLD

cd /home/ubuntu1204/phpsourcecode/php-5.5./ext/vld
vim config.m4
/*
在最后一行添加
if test -z "$PHP_DEBUG"; then
AC_ARG_ENABLE(debug,
[--enable-debg compile with debugging system],
[PHP_DEBUG=$enableval], [PHP_DEBUG=no]
)
fi 这样就表示该扩展能够进行调试了,然后编译该扩展
*/ phpize
./configure --enable-vld
make
make install //编辑netbeans Debug参数
"${OUTPUT_PATH}" -d extension=vld.so -dvld.active= /home/ubuntu1204/phpsourcecode/sample/shell.php

aaarticlea/png;base64,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" alt="" />

Relevant Link:

https://segmentfault.com/a/1190000002703073
http://www.codefrom.com/paper/%E4%BD%BF%E7%94%A8gdb%E8%B0%83%E8%AF%95php%E6%89%A9%E5%B1%95

6. VLD源码分析

0x1: vld_compile_file

vld.c

/* {{{ zend_op_array vld_compile_file (file_handle, type)
* This function provides a hook for compilation */
static zend_op_array *vld_compile_file(zend_file_handle *file_handle, int type TSRMLS_DC)
{
zend_op_array *op_array; if (!VLD_G(execute) &&
((VLD_G(skip_prepend) && PG(auto_prepend_file) && PG(auto_prepend_file)[] && PG(auto_prepend_file) == file_handle->filename) ||
(VLD_G(skip_append) && PG(auto_append_file) && PG(auto_append_file)[] && PG(auto_append_file) == file_handle->filename)))
{
zval nop;
#if PHP_VERSION_ID >= 70000
zend_op_array *ret;
ZVAL_STRINGL(&nop, "RETURN ;", );
ret = compile_string(&nop, "NOP" TSRMLS_CC);
zval_dtor(&nop);
return ret;
#else
ZVAL_STRINGL(&nop, "RETURN ;", , );
return compile_string(&nop, "NOP" TSRMLS_CC);
#endif
} //调用Zend的编译Lex函数,获取待检测样本Opcode array
op_array = old_compile_file (file_handle, type TSRMLS_CC); if (VLD_G(path_dump_file)) {
fprintf(VLD_G(path_dump_file), "subgraph cluster_file_%08x { label=\"file %s\";\n", op_array, op_array->filename ? ZSTRING_VALUE(op_array->filename) : "__main");
}
if (op_array) {
//打印opcod数组
vld_dump_oparray (op_array TSRMLS_CC);
} zend_hash_apply_with_arguments (CG(function_table) APPLY_TSRMLS_CC, (apply_func_args_t) vld_dump_fe, );
zend_hash_apply (CG(class_table), (apply_func_t) vld_dump_cle TSRMLS_CC); if (VLD_G(path_dump_file)) {
fprintf(VLD_G(path_dump_file), "}\n");
} return op_array;
}
/* }}} */

0x2: vld_dump_oparray

srm_oparray.c

void vld_dump_oparray(zend_op_array *opa TSRMLS_DC)
{
unsigned int i;
vld_set *set;
vld_branch_info *branch_info;
//获取oparray中保存opcode数组的基地址
unsigned int base_address = (unsigned int)(zend_intptr_t)&(opa->opcodes[]); //为分析结果集申请空间,初始化
set = vld_set_create(opa->last);
//为分支逻辑块申请空间,初始化
branch_info = vld_branch_info_create(opa->last); if (VLD_G(dump_paths)) {
vld_analyse_oparray(opa, set, branch_info TSRMLS_CC);
}
if (VLD_G(format)) {
vld_printf (stderr, "filename:%s%s\n", VLD_G(col_sep), ZSTRING_VALUE(opa->filename));
vld_printf (stderr, "function name:%s%s\n", VLD_G(col_sep), ZSTRING_VALUE(opa->function_name));
vld_printf (stderr, "number of ops:%s%d\n", VLD_G(col_sep), opa->last);
} else {
vld_printf (stderr, "filename: %s\n", ZSTRING_VALUE(opa->filename));
vld_printf (stderr, "function name: %s\n", ZSTRING_VALUE(opa->function_name));
vld_printf (stderr, "number of ops: %d\n", opa->last);
}
#ifdef IS_CV /* PHP >= 5.1 */
vld_printf (stderr, "compiled vars: ");
for (i = ; i < opa->last_var; i++) {
vld_printf (stderr, "!%d = $%s%s", i, OPARRAY_VAR_NAME(opa->vars[i]), ((i + ) == opa->last_var) ? "\n" : ", ");
}
if (!opa->last_var) {
vld_printf(stderr, "none\n");
}
#endif
if (VLD_G(format)) {
vld_printf(stderr, "line%s# *%s%s%sop%sfetch%sext%sreturn%soperands\n",VLD_G(col_sep),VLD_G(col_sep),VLD_G(col_sep),VLD_G(col_sep),VLD_G(col_sep),VLD_G(col_sep),VLD_G(col_sep),VLD_G(col_sep));
} else {
vld_printf(stderr, "line #* E I O op fetch ext return operands\n");
vld_printf(stderr, "-------------------------------------------------------------------------------------\n");
}
for (i = ; i < opa->last; i++) {
vld_dump_op(i, opa->opcodes, base_address, vld_set_in(set, i), vld_set_in(branch_info->entry_points, i), vld_set_in(branch_info->starts, i), vld_set_in(branch_info->ends, i), opa TSRMLS_CC);
}
vld_printf(stderr, "\n"); if (VLD_G(dump_paths)) {
vld_branch_post_process(opa, branch_info);
vld_branch_find_paths(branch_info);
vld_branch_info_dump(opa, branch_info TSRMLS_CC);
} vld_set_free(set);
vld_branch_info_free(branch_info);
}

0x3: vld_analyse_oparray

void vld_analyse_oparray(zend_op_array *opa, vld_set *set, vld_branch_info *branch_info TSRMLS_DC)
{
unsigned int position = ; VLD_PRINT(, "Finding entry points\n");
while (position < opa->last) {
if (position == ) {
vld_analyse_branch(opa, position, set, branch_info TSRMLS_CC);
vld_set_add(branch_info->entry_points, position);
#if PHP_MAJOR_VERSION >= 5
} else if (opa->opcodes[position].opcode == ZEND_CATCH) {
if (VLD_G(format)) {
VLD_PRINT2(, "Found catch point at position:%s%d\n", VLD_G(col_sep),position);
} else {
VLD_PRINT1(, "Found catch point at position: %d\n", position);
}
vld_analyse_branch(opa, position, set, branch_info TSRMLS_CC);
vld_set_add(branch_info->entry_points, position);
#endif
}
position++;
}
vld_set_add(branch_info->ends, opa->last-);
branch_info->branches[opa->last-].start_lineno = opa->opcodes[opa->last-].lineno;
}

0x4: vld_analyse_branch

可以看到,VLD是根据Branch进行"逐块"翻译的,从PHP Zend的角度来看,构成"分支结构语法"的用户态代码结构有

. if
. for
. foreach
. goto
. exit
..

void vld_analyse_branch(zend_op_array *opa, unsigned int position, vld_set *set, vld_branch_info *branch_info TSRMLS_DC)

void vld_analyse_branch(zend_op_array *opa, unsigned int position, vld_set *set, vld_branch_info *branch_info TSRMLS_DC)
{
long jump_pos1 = VLD_JMP_NOT_SET;
long jump_pos2 = VLD_JMP_NOT_SET; if (VLD_G(format)) {
VLD_PRINT2(, "Branch analysis from position:%s%d\n", VLD_G(col_sep),position);
} else {
VLD_PRINT1(, "Branch analysis from position: %d\n", position);
} vld_set_add(branch_info->starts, position);
branch_info->branches[position].start_lineno = opa->opcodes[position].lineno; /* First we see if the branch has been visited, if so we bail out. */
if (vld_set_in(set, position)) {
return;
}
/* Loop over the opcodes until the end of the array, or until a jump point has been found */
VLD_PRINT1(, "Add %d\n", position);
vld_set_add(set, position);
while (position < opa->last) {
jump_pos1 = VLD_JMP_NOT_SET;
jump_pos2 = VLD_JMP_NOT_SET; /* See if we have a jump instruction */
//定位条件逻辑块的起始、结束位置
if (vld_find_jump(opa, position, &jump_pos1, &jump_pos2)) {
VLD_PRINT1(, "Jump found. Position 1 = %d", jump_pos1);
if (jump_pos2 != VLD_JMP_NOT_SET) {
VLD_PRINT1(, ", Position 2 = %d\n", jump_pos2);
} else {
VLD_PRINT(, "\n");
} //从当前条件分支(Branch)开始,递归处理子语句块
if (jump_pos1 == VLD_JMP_EXIT || jump_pos1 >= ) {
vld_branch_info_update(branch_info, position, opa->opcodes[position].lineno, , jump_pos1);
if (jump_pos1 != VLD_JMP_EXIT) {
vld_analyse_branch(opa, jump_pos1, set, branch_info TSRMLS_CC);
}
} if (jump_pos2 == VLD_JMP_EXIT || jump_pos2 >= ) {
vld_branch_info_update(branch_info, position, opa->opcodes[position].lineno, , jump_pos2);
if (jump_pos2 != VLD_JMP_EXIT) {
vld_analyse_branch(opa, jump_pos2, set, branch_info TSRMLS_CC);
}
}
break;
}
#ifdef ZEND_ENGINE_2
/* See if we have a throw instruction */
if (opa->opcodes[position].opcode == ZEND_THROW) {
VLD_PRINT1(, "Throw found at %d\n", position);
vld_set_add(branch_info->ends, position);
branch_info->branches[position].start_lineno = opa->opcodes[position].lineno;
break;
}
#endif
/* See if we have an exit instruction */
if (opa->opcodes[position].opcode == ZEND_EXIT) {
VLD_PRINT(, "Exit found\n");
vld_set_add(branch_info->ends, position);
branch_info->branches[position].start_lineno = opa->opcodes[position].lineno;
break;
}
/* See if we have a return instruction */
if (
opa->opcodes[position].opcode == ZEND_RETURN
#if PHP_VERSION_ID >= 50400
|| opa->opcodes[position].opcode == ZEND_RETURN_BY_REF
#endif
) {
VLD_PRINT(, "Return found\n");
vld_set_add(branch_info->ends, position);
branch_info->branches[position].start_lineno = opa->opcodes[position].lineno;
break;
} position++;
VLD_PRINT1(, "Add %d\n", position);
vld_set_add(set, position);
}
}

0x5: vld_dump_op

void vld_dump_op(int nr, zend_op * op_ptr, unsigned int base_address, int notdead, int entry, int start, int end, zend_op_array *opa TSRMLS_DC)
{
static uint last_lineno = (uint) -;
int print_sep = , len;
char *fetch_type = "";
unsigned int flags, op1_type, op2_type, res_type;
const zend_op op = op_ptr[nr]; if (op.lineno == ) {
return;
} if (op.opcode >= NUM_KNOWN_OPCODES) {
flags = ALL_USED;
} else {
flags = opcodes[op.opcode].flags;
} op1_type = op.VLD_TYPE(op1);
op2_type = op.VLD_TYPE(op2);
res_type = op.VLD_TYPE(result); if (flags == SPECIAL) {
flags = vld_get_special_flags(&op, base_address);
}
if (flags & OP1_OPLINE) {
op1_type = VLD_IS_OPLINE;
}
if (flags & OP2_OPLINE) {
op2_type = VLD_IS_OPLINE;
}
if (flags & OP1_OPNUM) {
op1_type = VLD_IS_OPNUM;
}
if (flags & OP2_OPNUM) {
op2_type = VLD_IS_OPNUM;
}
if (flags & OP1_CLASS) {
op1_type = VLD_IS_CLASS;
}
if (flags & RES_CLASS) {
res_type = VLD_IS_CLASS;
} if (flags & OP_FETCH) {
#ifdef ZEND_ENGINE_2
switch (op.VLD_EXTENDED_VALUE(op2)) {
case ZEND_FETCH_GLOBAL:
fetch_type = "global";
break;
case ZEND_FETCH_LOCAL:
fetch_type = "local";
break;
case ZEND_FETCH_STATIC:
fetch_type = "static";
break;
case ZEND_FETCH_STATIC_MEMBER:
fetch_type = "static member";
break;
#ifdef ZEND_FETCH_GLOBAL_LOCK
case ZEND_FETCH_GLOBAL_LOCK:
fetch_type = "global lock";
break;
#endif
#ifdef ZEND_FETCH_AUTO_GLOBAL
case ZEND_FETCH_AUTO_GLOBAL:
fetch_type = "auto global";
break;
#endif
default:
fetch_type = "unknown";
break;
}
#else
if (op.op2.u.fetch_type == ZEND_FETCH_GLOBAL) {
fetch_type = "global";
} else if (op.op2.u.fetch_type == ZEND_FETCH_STATIC) {
fetch_type = "static";
}
#endif
} if (op.lineno == last_lineno) {
vld_printf(stderr, " ");
} else {
vld_printf(stderr, "%4d ", op.lineno);
last_lineno = op.lineno;
} if (op.opcode >= NUM_KNOWN_OPCODES) {
if (VLD_G(format)) {
vld_printf(stderr, "%5d %s %c %c %c %c %s <%03d>%-23s %s %-14s ", nr, VLD_G(col_sep), notdead ? ' ' : '*', entry ? 'E' : ' ', start ? '>' : ' ', end ? '>' : ' ', VLD_G(col_sep), op.opcode, VLD_G(col_sep), fetch_type);
} else {
vld_printf(stderr, "%5d%c %c %c %c <%03d>%-23s %-14s ", nr, notdead ? ' ' : '*', entry ? 'E' : ' ', start ? '>' : ' ', end ? '>' : ' ', op.opcode, "", fetch_type);
}
} else {
if (VLD_G(format)) {
vld_printf(stderr, "%5d %s %c %c %c %c %s %-28s %s %-14s ", nr, VLD_G(col_sep), notdead ? ' ' : '*', entry ? 'E' : ' ', start ? '>' : ' ', end ? '>' : ' ', VLD_G(col_sep), opcodes[op.opcode].name, VLD_G(col_sep), fetch_type);
} else {
vld_printf(stderr, "%5d%c %c %c %c %-28s %-14s ", nr, notdead ? ' ' : '*', entry ? 'E' : ' ', start ? '>' : ' ', end ? '>' : ' ', opcodes[op.opcode].name, fetch_type);
}
} if (flags & EXT_VAL) {
vld_printf(stderr, "%3d ", op.extended_value);
} else {
vld_printf(stderr, " ");
} if ((flags & RES_USED) && !(op.VLD_EXTENDED_VALUE(result) & EXT_TYPE_UNUSED)) {
VLD_PRINT(, " RES[ ");
len = vld_dump_znode (NULL, res_type, op.result, base_address TSRMLS_CC);
VLD_PRINT(, " ]");
if (VLD_G(format)) {
if (len==) {
vld_printf(stderr, " ");
}
} else {
vld_printf(stderr, "%*s", -len, " ");
}
} else {
vld_printf(stderr, " ");
} if (flags & OP1_USED) {
VLD_PRINT(, " OP1[ ");
vld_dump_znode (&print_sep, op1_type, op.op1, base_address TSRMLS_CC);
VLD_PRINT(, " ]");
}
if (flags & OP2_USED) {
VLD_PRINT(, " OP2[ ");
if (flags & OP2_INCLUDE) {
if (VLD_G(verbosity) < && print_sep) {
vld_printf(stderr, ", ");
}
#if PHP_VERSION_ID >= 50399
switch (op.extended_value) {
#else
switch (Z_LVAL(op.op2.u.constant)) {
#endif
case ZEND_INCLUDE_ONCE:
vld_printf(stderr, "INCLUDE_ONCE");
break;
case ZEND_REQUIRE_ONCE:
vld_printf(stderr, "REQUIRE_ONCE");
break;
case ZEND_INCLUDE:
vld_printf(stderr, "INCLUDE");
break;
case ZEND_REQUIRE:
vld_printf(stderr, "REQUIRE");
break;
case ZEND_EVAL:
vld_printf(stderr, "EVAL");
break;
default:
vld_printf(stderr, "!!ERROR!!");
break;
}
} else {
vld_dump_znode (&print_sep, op2_type, op.op2, base_address TSRMLS_CC);
}
VLD_PRINT(, " ]");
}
if (flags & OP2_BRK_CONT) {
long jmp;
zend_brk_cont_element *el; VLD_PRINT(, " BRK_CONT[ ");
#if PHP_VERSION_ID >= 50399
el = vld_find_brk_cont(Z_LVAL_P(op.op2.zv), VLD_ZNODE_ELEM(op.op1, opline_num), opa);
#else
el = vld_find_brk_cont(op.op2.u.constant.value.lval, VLD_ZNODE_ELEM(op.op1, opline_num), opa);
#endif
jmp = op.opcode == ZEND_BRK ? el->brk : el->cont;
vld_printf (stderr, ", ->%d", jmp);
VLD_PRINT(, " ]");
}
if (flags & NOP2_OPNUM) {
zend_op next_op = op_ptr[nr+];
vld_dump_znode (&print_sep, VLD_IS_OPNUM, next_op.op2, base_address TSRMLS_CC);
}
vld_printf (stderr, "\n");
}

Relevant Link:

http://bug1874.com/archives/125
http://blog.csdn.net/phpkernel/article/details/5718519

7. 嵌入式Embed SAPI编程

嵌入式PHP类似CLI,也是SAPI接口的另一种实现。 一般情况下,它的一个请求的生命周期也会和其它的SAPI一样:模块初始化=>请求初始化=>处理请求=>关闭请求=>关闭模块

0x1: 编译PHP Embed SPAI运行时so库

./configure --enable-embed --enable-debug
make install

0x2: 宿主C程序

#include <sapi/embed/php_embed.h>
#ifdef ZTS
void ***tsrm_ls;
#endif
/* Extension bits */
zend_module_entry php_mymod_module_entry = {
STANDARD_MODULE_HEADER,
"mymod", /* extension name */
NULL, /* function entries */
NULL, /* MINIT */
NULL, /* MSHUTDOWN */
NULL, /* RINIT */
NULL, /* RSHUTDOWN */
NULL, /* MINFO */
"1.0", /* version */
STANDARD_MODULE_PROPERTIES
};
/* Embedded bits */
static void startup_php(void)
{
int argc = ;
char *argv[] = { "embed5", NULL };
php_embed_init(argc, argv PTSRMLS_CC);
zend_startup_module(&php_mymod_module_entry);
}
static void execute_php(char *filename)
{
zend_first_try {
char *include_script;
spprintf(&include_script, , "include '%s'", filename);
zend_eval_string(include_script, NULL, filename TSRMLS_CC);
efree(include_script);
} zend_end_try();
}
int main(int argc, char *argv[])
{
if (argc <= ) {
printf("Usage: embed4 scriptfile";);
return -;
}
startup_php();
execute_php(argv[]);
php_embed_shutdown(TSRMLS_CC);
return ;
}

Relevant Link:

https://code.google.com/archive/p/opcodesdumper/downloads
http://www.nowamagic.net/librarys/veda/detail/1318
http://udn.yyuap.com/doc/wiki/project/extending-embedding-php/20.1.html
http://udn.yyuap.com/doc/wiki/project/extending-embedding-php/19.html
https://code.google.com/archive/p/opcodesdumper/
http://www.laruence.com/2008/09/23/539.html
http://www.php-internals.com/book/?p=chapt02/02-02-02-embedding-php

Copyright (c) 2015 LittleHann All rights reserved