3v4l.org

run code in 300+ PHP versions simultaneously
<?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
2 jumps found. (Code = 43) Position 1 = 5, Position 2 = 18
Branch analysis from position: 5
2 jumps found. (Code = 46) Position 1 = 6, Position 2 = 8
Branch analysis from position: 6
2 jumps found. (Code = 43) Position 1 = 9, Position 2 = 11
Branch analysis from position: 9
1 jumps found. (Code = 42) Position 1 = 17
Branch analysis from position: 17
1 jumps found. (Code = 42) Position 1 = 59
Branch analysis from position: 59
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 11
2 jumps found. (Code = 46) Position 1 = 13, Position 2 = 15
Branch analysis from position: 13
2 jumps found. (Code = 43) Position 1 = 16, Position 2 = 17
Branch analysis from position: 16
1 jumps found. (Code = 42) Position 1 = 59
Branch analysis from position: 59
Branch analysis from position: 17
Branch analysis from position: 15
Branch analysis from position: 8
Branch analysis from position: 18
2 jumps found. (Code = 43) Position 1 = 20, Position 2 = 58
Branch analysis from position: 20
2 jumps found. (Code = 46) Position 1 = 22, Position 2 = 26
Branch analysis from position: 22
2 jumps found. (Code = 46) Position 1 = 24, Position 2 = 25
Branch analysis from position: 24
2 jumps found. (Code = 43) Position 1 = 27, Position 2 = 56
Branch analysis from position: 27
1 jumps found. (Code = 42) Position 1 = 57
Branch analysis from position: 57
1 jumps found. (Code = 42) Position 1 = 59
Branch analysis from position: 59
Branch analysis from position: 56
1 jumps found. (Code = 42) Position 1 = 59
Branch analysis from position: 59
Branch analysis from position: 25
Branch analysis from position: 26
Branch analysis from position: 58
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/0MAUE
function name:  (null)
number of ops:  60
compiled vars:  !0 = $a, !1 = $b, !2 = $c, !3 = $name
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    9     0  E >   ASSIGN                                                   !0, null
   10     1        ASSIGN                                                   !1, null
   11     2        ASSIGN                                                   !2, null
   12     3        ASSIGN                                                   !3, ''
   18     4      > JMPZ                                                     !0, ->18
   19     5    > > JMPZ_EX                                          ~8      !1, ->8
          6    >   BOOL_NOT                                         ~9      !2
          7        BOOL                                             ~8      ~9
          8    > > JMPZ                                                     ~8, ->11
   20     9    >   ECHO                                                     'No+secret+here%21'
         10      > JMP                                                      ->17
   21    11    >   BOOL_NOT                                         ~10     !1
         12      > JMPZ_EX                                          ~10     ~10, ->15
         13    >   BOOL_NOT                                         ~11     !2
         14        BOOL                                             ~10     ~11
         15    > > JMPZ                                                     ~10, ->17
   22    16    >   ECHO                                                     'Nothing+here+also%21'
         17    > > JMP                                                      ->59
   25    18    >   BOOL_NOT                                         ~12     !1
         19      > JMPZ                                                     ~12, ->58
   26    20    >   BOOL_NOT                                         ~13     !0
         21      > JMPZ_EX                                          ~13     ~13, ->26
         22    >   BOOL_NOT                                         ~14     !1
         23      > JMPZ_EX                                          ~14     ~14, ->25
         24    >   BOOL                                             ~14     !2
         25    >   BOOL                                             ~13     ~14
         26    > > JMPZ                                                     ~13, ->56
   27    27    >   INIT_FCALL                                               'rtrim'
         28        INIT_FCALL_BY_NAME                                       'mcrypt_decrypt'
         29        FETCH_CONSTANT                                   ~15     'MCRYPT_RIJNDAEL_256'
         30        SEND_VAL_EX                                              ~15
         31        INIT_FCALL                                               'md5'
         32        SEND_VAR                                                 !3
         33        DO_ICALL                                         $16     
         34        SEND_VAR_NO_REF_EX                                       $16
         35        INIT_FCALL                                               'base64_decode'
         36        INIT_FCALL                                               'get_halt_data'
         37        DO_FCALL                                      0  $17     
         38        SEND_VAR                                                 $17
         39        DO_ICALL                                         $18     
         40        SEND_VAR_NO_REF_EX                                       $18
         41        FETCH_CONSTANT                                   ~19     'MCRYPT_MODE_CBC'
         42        SEND_VAL_EX                                              ~19
         43        INIT_FCALL                                               'md5'
         44        INIT_FCALL                                               'md5'
         45        SEND_VAR                                                 !3
         46        DO_ICALL                                         $20     
         47        SEND_VAR                                                 $20
         48        DO_ICALL                                         $21     
         49        SEND_VAR_NO_REF_EX                                       $21
         50        DO_FCALL                                      0  $22     
         51        SEND_VAR                                                 $22
         52        SEND_VAL                                                 '%00'
         53        DO_ICALL                                         $23     
         54        ECHO                                                     $23
         55      > JMP                                                      ->57
   29    56    >   ECHO                                                     'Nice+try+buddy.+No+luck+here%21'
         57    > > JMP                                                      ->59
   32    58    >   ECHO                                                     'Nothing+here%21'
   36    59    > > RETURN                                                   1

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

End of function get_halt_data

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
180.26 ms | 1407 KiB | 24 Q