3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php /** * Solve this puzzle by entering correct parameters. * Use http://3v4l.org/ if you don't have proper php or mcrypt versions installed. */ $a = null; /* [true|false] */ $b = null; /* [true|false] */ $c = null; /* [true|false] */ $name = ''; /* Your first name here */ function get_halt_data() { return trim(file_get_contents(__FILE__, false, null, __COMPILER_HALT_OFFSET__)); } if ($a) { if ($b && !$c) { echo "No secret here!"; } else if(!$b && !$c) { echo "Nothing here also!"; } } else { if (!$b) { if (!$a && (!$b && $c)) { echo rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($name), base64_decode(get_halt_data()), MCRYPT_MODE_CBC, md5(md5($name))), "\0"); } else { echo "Nice try buddy. No luck here!"; } } else { echo "Nothing here!"; } } __halt_compiler();
Finding entry points
Branch analysis from position: 0
Jump found. Position 1 = 6, Position 2 = 19
Branch analysis from position: 6
Jump found. Position 1 = 7, Position 2 = 9
Branch analysis from position: 7
Jump found. Position 1 = 10, Position 2 = 12
Branch analysis from position: 10
Jump found. Position 1 = 18
Branch analysis from position: 18
Jump found. Position 1 = 60
Branch analysis from position: 60
Jump found. Position 1 = -2
Branch analysis from position: 12
Jump found. Position 1 = 14, Position 2 = 16
Branch analysis from position: 14
Jump found. Position 1 = 17, Position 2 = 18
Branch analysis from position: 17
Jump found. Position 1 = 60
Branch analysis from position: 60
Branch analysis from position: 18
Branch analysis from position: 16
Branch analysis from position: 9
Branch analysis from position: 19
Jump found. Position 1 = 21, Position 2 = 59
Branch analysis from position: 21
Jump found. Position 1 = 23, Position 2 = 27
Branch analysis from position: 23
Jump found. Position 1 = 25, Position 2 = 26
Branch analysis from position: 25
Jump found. Position 1 = 28, Position 2 = 57
Branch analysis from position: 28
Jump found. Position 1 = 58
Branch analysis from position: 58
Jump found. Position 1 = 60
Branch analysis from position: 60
Branch analysis from position: 57
Jump found. Position 1 = 60
Branch analysis from position: 60
Branch analysis from position: 26
Branch analysis from position: 27
Branch analysis from position: 59
Jump found. Position 1 = -2
filename:       /in/0n0O6
function name:  (null)
number of ops:  61
compiled vars:  !0 = $a, !1 = $b, !2 = $c, !3 = $name
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   8     0  E >   ASSIGN                                                   !0, null
   9     1        ASSIGN                                                   !1, null
  10     2        ASSIGN                                                   !2, null
  11     3        ASSIGN                                                   !3, ''
  13     4        NOP                                                      
  17     5      > JMPZ                                                     !0, ->19
  18     6    > > JMPZ_EX                                          ~8      !1, ->9
         7    >   BOOL_NOT                                         ~9      !2
         8        BOOL                                             ~8      ~9
         9    > > JMPZ                                                     ~8, ->12
  19    10    >   ECHO                                                     'No+secret+here%21'
        11      > JMP                                                      ->18
  20    12    >   BOOL_NOT                                         ~10     !1
        13      > JMPZ_EX                                          ~10     ~10, ->16
        14    >   BOOL_NOT                                         ~11     !2
        15        BOOL                                             ~10     ~11
        16    > > JMPZ                                                     ~10, ->18
  21    17    >   ECHO                                                     'Nothing+here+also%21'
        18    > > JMP                                                      ->60
  24    19    >   BOOL_NOT                                         ~12     !1
        20      > JMPZ                                                     ~12, ->59
  25    21    >   BOOL_NOT                                         ~13     !0
        22      > JMPZ_EX                                          ~13     ~13, ->27
        23    >   BOOL_NOT                                         ~14     !1
        24      > JMPZ_EX                                          ~14     ~14, ->26
        25    >   BOOL                                             ~14     !2
        26    >   BOOL                                             ~13     ~14
        27    > > JMPZ                                                     ~13, ->57
  26    28    >   INIT_FCALL                                               'rtrim'
        29        INIT_FCALL                                               'mcrypt_decrypt'
        30        FETCH_CONSTANT                                   ~15     'MCRYPT_RIJNDAEL_256'
        31        SEND_VAL                                                 ~15
        32        INIT_FCALL                                               'md5'
        33        SEND_VAR                                                 !3
        34        DO_ICALL                                         $16     
        35        SEND_VAR                                                 $16
        36        INIT_FCALL                                               'base64_decode'
        37        INIT_FCALL                                               'get_halt_data'
        38        DO_FCALL                                      0  $17     
        39        SEND_VAR                                                 $17
        40        DO_ICALL                                         $18     
        41        SEND_VAR                                                 $18
        42        FETCH_CONSTANT                                   ~19     'MCRYPT_MODE_CBC'
        43        SEND_VAL                                                 ~19
        44        INIT_FCALL                                               'md5'
        45        INIT_FCALL                                               'md5'
        46        SEND_VAR                                                 !3
        47        DO_ICALL                                         $20     
        48        SEND_VAR                                                 $20
        49        DO_ICALL                                         $21     
        50        SEND_VAR                                                 $21
        51        DO_ICALL                                         $22     
        52        SEND_VAR                                                 $22
        53        SEND_VAL                                                 '%00'
        54        DO_ICALL                                         $23     
        55        ECHO                                                     $23
        56      > JMP                                                      ->58
  28    57    >   ECHO                                                     'Nice+try+buddy.+No+luck+here%21'
        58    > > JMP                                                      ->60
  31    59    >   ECHO                                                     'Nothing+here%21'
  35    60    > > RETURN                                                   1

Function get_halt_data:
Finding entry points
Branch analysis from position: 0
Jump found. Position 1 = -2
filename:       /in/0n0O6
function name:  get_halt_data
number of ops:  11
compiled vars:  none
line     #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  14     0  E >   INIT_FCALL                                               'trim'
         1        INIT_FCALL                                               'file_get_contents'
         2        SEND_VAL                                                 '%2Fin%2F0n0O6'
         3        SEND_VAL                                                 <false>
         4        SEND_VAL                                                 null
         5        SEND_VAL                                                 804
         6        DO_ICALL                                         $0      
         7        SEND_VAR                                                 $0
         8        DO_ICALL                                         $1      
         9      > RETURN                                                   $1
  15    10*     > RETURN                                                   null

End of function get_halt_data

Generated using Vulcan Logic Dumper, using php 7.3.0