1. ホーム
  2. php

PHPのopcodeを取得する方法は?

2023-07-30 16:36:17

質問

  <?php
      $show_value   = 123;
      echo 'sing_quote'.$show_value;
      echo "double_quote{$show_value}";

  ?>

そのオペコードは

1: <?php
2: $show_value   = 123;
        0  ASSIGN              !0, 123
3: echo 'sing_quote'.$show_value;
        1  CONCAT              'sing_quote', !0 =>RES[~1]     
        2  ECHO                ~1
4: echo "double_quote{$show_value}";
        3  ADD_STRING          'double_quote' =>RES[~2]     
        4  ADD_VAR             ~2, !0 =>RES[~2]     
        5  ECHO                ~2
        6  RETURN              1

どのように解決するのですか?

をチェックしてください。 バルカンロジック逆アセンブラ PECL 拡張 - 参照 作者のホームページ をご覧ください。

<ブロッククオート

Vulcan Logic Disassembler は Zend Engine にフックします。 Zend Engine にフックし、スクリプトのすべての opcodes (実行単位) をダンプします。 これはエンコーダの手始めとして書かれました。 エンコーダの始まりとして書かれましたが、そのための時間が取れませんでした。 しかし、そんな時間はありませんでした。これは、Zend Engine で何が起こっているかを見るために使うことができます。 Zend Engine で何が起こっているのかを見るために使うことができます。

インストールすると、このように使うことができます。

php -d vld.active=1 -d vld.execute=0 -f yourscript.php

こちらもご覧ください オペコード抽出に関する興味深いブログ記事 利用可能なオペコードを列挙した PHP マニュアルページ .