首页 > 动漫

Liunx下对php内核的调试_全球报道

来源:博客园 时间:2023-06-25 07:19:21

0x01前言

主要是对上一篇文章中php_again这道题的补充。

0x02下载php源码
cd /usr/localwget https://www.php.net/distributions/php-8.2.2.tar.gztar -zxvf php-8.2.2.tar.gz && cd php-8.2.2
0x03编译

注意带enable-debug


【资料图】

apt-get install build-essential autoconf automake libtool libsqlite3-dev pkg-config libjpeg-dev libpng-dev libxml2-dev libbz2-dev libcurl4-gnutls-dev libssl-dev libffi-dev libwebp-dev libonig-dev libzip-dev./configure --prefix=/usr/local/php --sysconfdir=/etc/php/8.2 --with-openssl --with-zlib --with-bz2 --with-curl --enable-bcmath --enable-gd --with-webp --with-jpeg --with-mhash --enable-mbstring --with-imap-ssl --with-mysqli --enable-exif --with-ffi --with-zip --enable-sockets --with-pcre-jit --enable-fpm --with-pdo-mysql --enable-pcntl --enable-debugmake && make installcd /usr/binln -s /usr/local/php/bin/php php8.2cp /usr/local/php-8.2.2/php.ini-development /usr/local/php/lib/php.ini                  cp /etc/php/8.2/php-fpm.conf.default /etc/php/8.2/php-fpm.confcp /etc/php/8.2/php-fpm.d/www.conf.default /etc/php/8.2/php-fpm.d/www.conf
0x04下载gdb工具
apt-get updateapt install gdb
0x05调试样例

调试php中 生成 system_id的两个函数(zend_startup_system_id,zend_finalize_system_id),分别在 mian.c文件的第2237行第2288

cd  /usr/local/php/bin#即php可执行文件目录

先在这两处打断点

接下来执行 run 一个php文件。

step 单步进入该函数。

n下一步

print var 打印变量

该函数运行完后,context的值是。(因为enable-debug了,所以NTS后还有一个debug,正常情况下是没有的)

跳出该函数后,输入 c进入下一个断点。

同样 step单步跳入。可以看到第二个 if语句是进去了,hooks的值为 "\x02"

接下来是个 for循环,一个都没进去,所以 context的值没有更新。最后 context的值是。

把 debug去掉放 python跑一下。

这下跑的结果是正确的。

0x06一些细节

zend_compile_filecompile_file是不一样的。让我们看看发生了什么。

watch  zend_compile_file

编译时开启 dtrace并且,环境变量中有 USE_ZEND_DTRACE时才会进入这个if 。 所以这个时候 zend_compile_file是等于 compile_file的。

在phar.c中还会改变一次。之后就会调用 zend_finalize_system_id.

0x07后记

额,源码看不懂,就跟着看了下变量信息,主要简单了解下如何使用gdb调试。

相关稿件

Liunx下对php内核的调试_全球报道

《地平线:西之绝境》更新 加入兰斯·莱迪克纪念碑

2023粤港澳车展:问界M5智驾版全国首批交付

罗马诺:曼联不会寻求巴黎圣日耳曼姆巴佩和内马尔的交易

甘肃兰州一企业发生闪爆事故-天天热讯

天天热讯:沪苏地铁互通 长三角核心城市深度同城化

特斯拉FSD隐藏“埃隆模式”:900公里无提醒,并可双手离开方向盘_世界热闻

三人篮球U21国家联赛邯郸站 中国女队击败美国女队夺得今日冠军

【美容护理】美容护理双周刊:监管引导之下,家用美容仪市场潜力可观

【仪器仪表】科学仪器行业动态:科学仪器政策持续加码,国产研发屡克新高地-世界新要闻

【独家焦点】【文体市场面面观】乡村赛事要平衡好“商味”和“村味”

环球视讯!从“猪景房”说开去

下滑40%,出口额跌到7亿欧元!德国,已经失去了俄罗斯市场?

用户手册_关于用户手册介绍 今日热搜

天天视讯!用户层_关于用户层介绍

用户探寻式搜索策略分析及系统构建研究_关于用户探寻式搜索策略分析及系统构建研究介绍

暴力梅“闹”苏南,25日早高峰仍有雨水叨扰|动态焦点

当前消息!知音重逢!武汉护士和张信哲如约见面

呼市收入排名全国46,如何提高? 聚焦

平安银行“换帅” 冀光恒接任行长|每日热闻

沉浸式体验!沪苏轨交11号线“牵手”亮点满满 当前速读

研究预测到2050年 全球将有13亿人患糖尿病

超越一个甲子的轮回 首试丰田皇冠SportCross-全球新要闻

基于EMP2 V3平台/采用全新设计 全新DS 4将于7月13日正式上市-焦点讯息

冰锁链锁住的心图片_冰锁-今日精选

世界微动态丨你听说过安利么 是什么意思_你听说过安利么

世界简讯:银川烧烤店燃气爆炸事故原因公布

坐标图纸是什么样的_zbtz是什么图层

【世界播资讯】RTX 40系公版显卡国内缺货 第三方加价超两千元

水果树儿童画(水果树简笔画)-世界今日讯