世界热消息:Liunx下对php内核的调试
2023-06-25 08:00:20 来源:博客园
主要是对上一篇文章中php_again
这道题的补充。
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_file
和 compile_file
是不一样的。让我们看看发生了什么。
watch zend_compile_file
编译时开启 dtrace
并且,环境变量中有 USE_ZEND_DTRACE
时才会进入这个if 。 所以这个时候 zend_compile_file
是等于 compile_file
的。
在phar.c中还会改变一次。之后就会调用 zend_finalize_system_id
.
额,源码看不懂,就跟着看了下变量信息,主要简单了解下如何使用gdb调试。
关键词:
[责任编辑:]
相关阅读
- (2023-06-25)世界热消息:Liunx下对php内核的调试
- (2023-06-25)天天微动态丨成为网红之后
- (2023-06-25)每日速读!2023端午档 半壁江山都是“她”的
- (2023-06-25)南方16条河流发生超警洪水 水利部门全力做好防御
- (2023-06-25)“老师的讲解很实用 线上线下都精彩”
- (2023-06-25)俄外交部对西方国家发出警告_今日热闻
- (2023-06-25)天天微动态丨端午之夜汉服荟萃 放“粽”一夏点亮伍家
- (2023-06-25)天天百事通!巴中旅游景点大全排名(四川巴中旅游景点大全)
- (2023-06-25)石斛有什么作用和功效(石斛好处有哪些)
- (2023-06-25)片仔癀一直在跟踪但是估值一直在天上飘着好公司和买的
- (2023-06-25)第二十九届北京国际图书博览会举行——书香四溢润童心 当前热闻
- (2023-06-25)中铁十一局四公司:智能建造 让生活更美好-天天快消息
- (2023-06-25)奔驰GLE 450 4MATIC怎么样及沃尔沃XC40多少钱
- (2023-06-25)希尔瓦娜斯 图片_希尔瓦娜斯
- (2023-06-25)【全球报资讯】喵!你知道吸猫是从啥时候开始流行的吗?
- (2023-06-25)远离伤害!教育孩子:不要“飞奔”过马路!|天天观焦点
- (2023-06-25)范毅_关于范毅的简介
- (2023-06-25)关于关晓彤去了鹿晗的演唱会及关晓彤去了鹿晗的演唱会详情
- (2023-06-25)从批发市场到高精尖产业园区,北京低效楼宇加速“改头换面” 速读
- (2023-06-25)什么是6s简述6s的主要内容_什么是6s 天天热点评
- (2023-06-25)普里戈津的叛乱会不会是普京的滑铁卢?
- (2023-06-25)天天微头条丨五年来最火端午 过亿游客国内享受旅游
- (2023-06-25)厨房水槽用什么胶封边好_厨房水槽要不要打胶_世界焦点
- (2023-06-25)每日报道:天天观天下!周洁临死前苦求刘晓庆,执意从美包机回国,3天后去世无子孙送终
- (2023-06-25)【世界独家】建筑工程竣工结算报告由谁编制_建筑工程竣工结算报告_全球新消息
- (2023-06-25)孙武孙膑兵书(孙武孙膑) 环球微动态
- (2023-06-25)果宝特攻3 动漫 2014(果宝特攻3 2014年王巍执导动画)-全球观察
- (2023-06-25)米德雷克斯(杰雷米亚斯莱德斯马)_看点
- (2023-06-25)起鸡皮疙瘩是因为什么受到刺激_起鸡皮疙瘩是因为什么-天天播资讯
- (2023-06-25)川渝地区天然气供应安全保障系统研究与应用|全球热文