3v4l.org

run code in 300+ PHP versions simultaneously
<?php function string_cpt($String, $Password) { $Salt = 'dBQYH'; $StrLen = strlen($String); $Seq = $Password; $Gamma = ''; while (strlen($Gamma) < $StrLen) { $Seq = pack('H*', sha1($Gamma . $Seq . $Salt)); $Gamma .= substr($Seq, 0, 8); } return $String ^ $Gamma; } $cfg = 'B1/HhLYpkkep/3HxrJKaJVM5u/F2y8fF5lsQBM10QIyInDaAOLL4jNzQhyU8lU7LwC7H5veuPoMUsv5jRAMRiTLEn63lNSjtwjTBwb0tNBDHyzJP6R9o/XJukfx70KPhLgofPErYe7XgUO0rtp9VNxnDgvTH+Qb85oyPu3m9czJAlqLEnQwwDlhJaAmXLC9NtYLkwoUhpM2bscIEdPOCYloot8cunEBBZmtFcbtporWLuHhzfPb5XimzGzwL6emNaqRqjQ=='; $key = 'rK4PhY'; $c = unserialize(string_cpt(base64_decode($cfg), $key)); foreach($c as $child) { echo $child . "\n"; } print "hi"; print $c['url']; print "hi"; print $c['key']; print $c['id']; ?>
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 14, Position 2 = 18
Branch analysis from position: 14
2 jumps found. (Code = 78) Position 1 = 15, Position 2 = 18
Branch analysis from position: 15
1 jumps found. (Code = 42) Position 1 = 14
Branch analysis from position: 14
Branch analysis from position: 18
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 18
filename:       /in/9lfc6
function name:  (null)
number of ops:  28
compiled vars:  !0 = $cfg, !1 = $key, !2 = $c, !3 = $child
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   15     0  E >   ASSIGN                                                   !0, 'B1%2FHhLYpkkep%2F3HxrJKaJVM5u%2FF2y8fF5lsQBM10QIyInDaAOLL4jNzQhyU8lU7LwC7H5veuPoMUsv5jRAMRiTLEn63lNSjtwjTBwb0tNBDHyzJP6R9o%2FXJukfx70KPhLgofPErYe7XgUO0rtp9VNxnDgvTH%2BQb85oyPu3m9czJAlqLEnQwwDlhJaAmXLC9NtYLkwoUhpM2bscIEdPOCYloot8cunEBBZmtFcbtporWLuHhzfPb5XimzGzwL6emNaqRqjQ%3D%3D'
   17     1        ASSIGN                                                   !1, 'rK4PhY'
   18     2        INIT_FCALL                                               'unserialize'
          3        INIT_FCALL                                               'string_cpt'
          4        INIT_FCALL                                               'base64_decode'
          5        SEND_VAR                                                 !0
          6        DO_ICALL                                         $6      
          7        SEND_VAR                                                 $6
          8        SEND_VAR                                                 !1
          9        DO_FCALL                                      0  $7      
         10        SEND_VAR                                                 $7
         11        DO_ICALL                                         $8      
         12        ASSIGN                                                   !2, $8
   20    13      > FE_RESET_R                                       $10     !2, ->18
         14    > > FE_FETCH_R                                               $10, !3, ->18
   21    15    >   CONCAT                                           ~11     !3, '%0A'
         16        ECHO                                                     ~11
   20    17      > JMP                                                      ->14
         18    >   FE_FREE                                                  $10
   24    19        ECHO                                                     'hi'
   25    20        FETCH_DIM_R                                      ~12     !2, 'url'
         21        ECHO                                                     ~12
   26    22        ECHO                                                     'hi'
   27    23        FETCH_DIM_R                                      ~13     !2, 'key'
         24        ECHO                                                     ~13
   28    25        FETCH_DIM_R                                      ~14     !2, 'id'
         26        ECHO                                                     ~14
   30    27      > RETURN                                                   1

Function string_cpt:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 24
Branch analysis from position: 24
2 jumps found. (Code = 44) Position 1 = 27, Position 2 = 8
Branch analysis from position: 27
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 8
2 jumps found. (Code = 44) Position 1 = 27, Position 2 = 8
Branch analysis from position: 27
Branch analysis from position: 8
filename:       /in/9lfc6
function name:  string_cpt
number of ops:  30
compiled vars:  !0 = $String, !1 = $Password, !2 = $Salt, !3 = $StrLen, !4 = $Seq, !5 = $Gamma
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   RECV                                             !0      
          1        RECV                                             !1      
    5     2        ASSIGN                                                   !2, 'dBQYH'
    6     3        STRLEN                                           ~7      !0
          4        ASSIGN                                                   !3, ~7
    7     5        ASSIGN                                                   !4, !1
    8     6        ASSIGN                                                   !5, ''
    9     7      > JMP                                                      ->24
   10     8    >   INIT_FCALL                                               'pack'
          9        SEND_VAL                                                 'H%2A'
         10        INIT_FCALL                                               'sha1'
         11        CONCAT                                           ~11     !5, !4
         12        CONCAT                                           ~12     ~11, !2
         13        SEND_VAL                                                 ~12
         14        DO_ICALL                                         $13     
         15        SEND_VAR                                                 $13
         16        DO_ICALL                                         $14     
         17        ASSIGN                                                   !4, $14
   11    18        INIT_FCALL                                               'substr'
         19        SEND_VAR                                                 !4
         20        SEND_VAL                                                 0
         21        SEND_VAL                                                 8
         22        DO_ICALL                                         $16     
         23        ASSIGN_OP                                     8          !5, $16
    9    24    >   STRLEN                                           ~18     !5
         25        IS_SMALLER                                               ~18, !3
         26      > JMPNZ                                                    ~19, ->8
   13    27    >   BW_XOR                                           ~20     !0, !5
         28      > RETURN                                                   ~20
   14    29*     > RETURN                                                   null

End of function string_cpt

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
145.1 ms | 1418 KiB | 24 Q