More Related Content
PDF
PDF
PDF
PDF
PDF
PDF
PDF
Let's reading OSS's source PPTX
What's hot
PDF
PPTX
Node.jsでつくるNode.js ミニインタープリター&コンパイラー PPT
PDF
PerlのOOPにおいて、コンストラクタ 内でメンバ関数を呼ぶ方法は?(Perl Beginners #15) PPT
PDF
可変値変数 var を極力避けることを模索するための事前知識 #cswift PPT
Lightning introduction to CoffeeScript 20131005 PDF
PDF
Swift の可変値と不変値 #cocoa_kansai PPT
Similar to Immortal
PPTX
PPTX
php and sapi and zendengine2 and... PPTX
PPTX
PDF
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情 PDF
PHP で実行中のスクリプトの動作を下から覗き見る PDF
なぜ、PHPのmbstring.func_overloadをdeprecatedにするのに5年かかったのか? - 慢心、環境の違い PPTX
PDF
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj PPTX
PPTX
PDF
PECL operator で演算子オーバーロード PDF
PDF
PDF
Modern PHP Programming @ PFI Seminar PDF
PDF
PDF
anything-php-funcref-perl.el KEY
PDF
More from do_aki
PPTX
PPTX
PHP と SAPI と ZendEngine3 と PPTX
signal の話 或いは Zend Signals とは何か PPTX
Writing php extensions in golang PPTX
20141011 mastering mysqlnd PPTX
セキュアそうでセキュアじゃない少しセキュアな気分になれるmysql_config_editor PPTX
PPTX
MySQL Casual Talks 7 「N:1 レプリケーション ~進捗どうですか?~」 PPTX
PPTX
PPTX
PHP から Groonga を使うにはこんなコードになるよ! PPTX
PDF
PDF
A bridge between php and ruby PPTX
PPTX
Tritonn から Elasticsearch への移行話 PPTX
N:1 Replication meets MHA PPTX
PPTX
N対1 レプリケーション + Optimizer Hint PPTX
マスタN対スレーブ1レプリケーションの作り方 ~あれから~ Recently uploaded
PDF
基礎から学ぶ PostgreSQL の性能監視 (PostgreSQL Conference Japan 2025 発表資料) PDF
visionOS TC「新しいマイホームで過ごすApple Vision Proとの新生活」 PDF
第25回FA設備技術勉強会_自宅で勉強するROS・フィジカルAIアイテム.pdf PDF
PCCC25(設立25年記念PCクラスタシンポジウム):東京大学情報基盤センター テーマ1/2/3「Society5.0の実現を目指す『計算・データ・学習... PDF
安価な ロジック・アナライザを アナライズ(?),Analyze report of some cheap logic analyzers PPTX
Immortal
- 1.
- 2.
- 3.
- 4.
- 5.
<?php sample
immortalize();
function I_will_be_back() {
die("die!");
}
I_will_be_back();
print “alive!";
掲載のコードはイメージです
- 6.
- 7.
zend_set_user_opcode_handler
で ZEND_EXIT をフック
• zend_set_user_opcode_handler opcode
=> opcode の実行をフックできる関数
(Zend/zend_execute.c)
• ZEND_EXIT
=> exit および die の opcode
(Zend/zend_vm_opcodes.h)
- 8.
- 9.
- 10.
zend extension
と
php extension
• ロード時に探されるシンボルが異なる
– zend : zend_extension_entry シンボル
– php : get_module シンボル
• 大きな違いはないが、読み込まれるタイ
ミングが違う
- 11.
- 12.
- 13.
• 事前に登録した phpのfunction を exit 時に
コールするとか
• 例外起こしてみるとか
• ま、それ以前に、使い道探したいね
- 14.
- 15.
おまけ
• GNU Globalの話が出てきたので、htags の
オススメのオプション
• htags -Faghnsv --tree-view --show-position –
fD
• サーバにcgi置いて検索できるようにして
おくとすんげー便利