3v4l.org

run code in 300+ PHP versions simultaneously
<?php function decrypt ($string,$cc_encryption_hash) { $key = md5 (md5 ($cc_encryption_hash)) . md5 ($cc_encryption_hash); $hash_key = _hash ($key); $hash_length = strlen ($hash_key); $string = base64_decode ($string); $tmp_iv = substr ($string, 0, $hash_length); $string = substr ($string, $hash_length, strlen ($string) - $hash_length); $iv = $out = ''; $c = 0; while ($c < $hash_length) { $iv .= chr (ord ($tmp_iv[$c]) ^ ord ($hash_key[$c])); ++$c; } $key = $iv; $c = 0; while ($c < strlen ($string)) { if (($c != 0 AND $c % $hash_length == 0)) { $key = _hash ($key . substr ($out, $c - $hash_length, $hash_length)); } $out .= chr (ord ($key[$c % $hash_length]) ^ ord ($string[$c])); ++$c; } return $out; } function _hash ($string) { if (function_exists ('sha1')) { $hash = sha1 ($string); } else { $hash = md5 ($string); } $out = ''; $c = 0; while ($c < strlen ($hash)) { $out .= chr (hexdec ($hash[$c] . $hash[$c + 1])); $c += 2; } return $out; } echo decrypt('\xEF\xBF\xBD\x6F\x72\xEF\xBF\xBD\x3A\x69\x09\xEF\xBF\xBD\xEF\xBF\xBD\xC7\x91\xEF\xBF\xBD\xEF\xBF\xBD\x6C\xEF\xBF\xBD\xEF\xBF\xBD\x24\x78\x08\xEF\xBF\xBD\x08\xEF\xBF\xBD\x67\xEF\xBF\xBD\xEF\xBF\xBD\x16\xEF\xBF\xBD\xEF\xBF\xBD\x1F\x3F\xEF\xBF\xBD\x54','NjpKc0cpkzExDDvuGnZaTt926wemI34ldjWgaZvlo0IRt3cZh2Z0lYTilYuTRp5V'); ?>
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/9Ov5F
function name:  (null)
number of ops:  6
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   51     0  E >   INIT_FCALL                                               'decrypt'
          1        SEND_VAL                                                 '%5CxEF%5CxBF%5CxBD%5Cx6F%5Cx72%5CxEF%5CxBF%5CxBD%5Cx3A%5Cx69%5Cx09%5CxEF%5CxBF%5CxBD%5CxEF%5CxBF%5CxBD%5CxC7%5Cx91%5CxEF%5CxBF%5CxBD%5CxEF%5CxBF%5CxBD%5Cx6C%5CxEF%5CxBF%5CxBD%5CxEF%5CxBF%5CxBD%5Cx24%5Cx78%5Cx08%5CxEF%5CxBF%5CxBD%5Cx08%5CxEF%5CxBF%5CxBD%5Cx67%5CxEF%5CxBF%5CxBD%5CxEF%5CxBF%5CxBD%5Cx16%5CxEF%5CxBF%5CxBD%5CxEF%5CxBF%5CxBD%5Cx1F%5Cx3F%5CxEF%5CxBF%5CxBD%5Cx54'
          2        SEND_VAL                                                 'NjpKc0cpkzExDDvuGnZaTt926wemI34ldjWgaZvlo0IRt3cZh2Z0lYTilYuTRp5V'
          3        DO_FCALL                                      0  $0      
          4        ECHO                                                     $0
   53     5      > RETURN                                                   1

Function decrypt:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 55
Branch analysis from position: 55
2 jumps found. (Code = 44) Position 1 = 57, Position 2 = 41
Branch analysis from position: 57
1 jumps found. (Code = 42) Position 1 = 92
Branch analysis from position: 92
2 jumps found. (Code = 44) Position 1 = 95, Position 2 = 60
Branch analysis from position: 95
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 60
2 jumps found. (Code = 46) Position 1 = 62, Position 2 = 65
Branch analysis from position: 62
2 jumps found. (Code = 43) Position 1 = 66, Position 2 = 77
Branch analysis from position: 66
2 jumps found. (Code = 44) Position 1 = 95, Position 2 = 60
Branch analysis from position: 95
Branch analysis from position: 60
Branch analysis from position: 77
Branch analysis from position: 65
Branch analysis from position: 41
2 jumps found. (Code = 44) Position 1 = 57, Position 2 = 41
Branch analysis from position: 57
Branch analysis from position: 41
filename:       /in/9Ov5F
function name:  decrypt
number of ops:  97
compiled vars:  !0 = $string, !1 = $cc_encryption_hash, !2 = $key, !3 = $hash_key, !4 = $hash_length, !5 = $tmp_iv, !6 = $iv, !7 = $out, !8 = $c
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
    3     0  E >   RECV                                             !0      
          1        RECV                                             !1      
    5     2        INIT_FCALL                                               'md5'
          3        INIT_FCALL                                               'md5'
          4        SEND_VAR                                                 !1
          5        DO_ICALL                                         $9      
          6        SEND_VAR                                                 $9
          7        DO_ICALL                                         $10     
          8        INIT_FCALL                                               'md5'
          9        SEND_VAR                                                 !1
         10        DO_ICALL                                         $11     
         11        CONCAT                                           ~12     $10, $11
         12        ASSIGN                                                   !2, ~12
    6    13        INIT_FCALL_BY_NAME                                       '_hash'
         14        SEND_VAR_EX                                              !2
         15        DO_FCALL                                      0  $14     
         16        ASSIGN                                                   !3, $14
    7    17        STRLEN                                           ~16     !3
         18        ASSIGN                                                   !4, ~16
    8    19        INIT_FCALL                                               'base64_decode'
         20        SEND_VAR                                                 !0
         21        DO_ICALL                                         $18     
         22        ASSIGN                                                   !0, $18
    9    23        INIT_FCALL                                               'substr'
         24        SEND_VAR                                                 !0
         25        SEND_VAL                                                 0
         26        SEND_VAR                                                 !4
         27        DO_ICALL                                         $20     
         28        ASSIGN                                                   !5, $20
   10    29        INIT_FCALL                                               'substr'
         30        SEND_VAR                                                 !0
         31        SEND_VAR                                                 !4
         32        STRLEN                                           ~22     !0
         33        SUB                                              ~23     ~22, !4
         34        SEND_VAL                                                 ~23
         35        DO_ICALL                                         $24     
         36        ASSIGN                                                   !0, $24
   11    37        ASSIGN                                           ~26     !7, ''
         38        ASSIGN                                                   !6, ~26
   12    39        ASSIGN                                                   !8, 0
   13    40      > JMP                                                      ->55
   15    41    >   INIT_FCALL                                               'chr'
         42        INIT_FCALL                                               'ord'
         43        FETCH_DIM_R                                      ~29     !5, !8
         44        SEND_VAL                                                 ~29
         45        DO_ICALL                                         $30     
         46        INIT_FCALL                                               'ord'
         47        FETCH_DIM_R                                      ~31     !3, !8
         48        SEND_VAL                                                 ~31
         49        DO_ICALL                                         $32     
         50        BW_XOR                                           ~33     $30, $32
         51        SEND_VAL                                                 ~33
         52        DO_ICALL                                         $34     
         53        ASSIGN_OP                                     8          !6, $34
   16    54        PRE_INC                                                  !8
   13    55    >   IS_SMALLER                                               !8, !4
         56      > JMPNZ                                                    ~37, ->41
   18    57    >   ASSIGN                                                   !2, !6
   19    58        ASSIGN                                                   !8, 0
   20    59      > JMP                                                      ->92
   22    60    >   IS_NOT_EQUAL                                     ~40     !8, 0
         61      > JMPZ_EX                                          ~40     ~40, ->65
         62    >   MOD                                              ~41     !8, !4
         63        IS_EQUAL                                         ~42     ~41, 0
         64        BOOL                                             ~40     ~42
         65    > > JMPZ                                                     ~40, ->77
   24    66    >   INIT_FCALL_BY_NAME                                       '_hash'
         67        INIT_FCALL                                               'substr'
         68        SEND_VAR                                                 !7
         69        SUB                                              ~43     !8, !4
         70        SEND_VAL                                                 ~43
         71        SEND_VAR                                                 !4
         72        DO_ICALL                                         $44     
         73        CONCAT                                           ~45     !2, $44
         74        SEND_VAL_EX                                              ~45
         75        DO_FCALL                                      0  $46     
         76        ASSIGN                                                   !2, $46
   26    77    >   INIT_FCALL                                               'chr'
         78        INIT_FCALL                                               'ord'
         79        MOD                                              ~48     !8, !4
         80        FETCH_DIM_R                                      ~49     !2, ~48
         81        SEND_VAL                                                 ~49
         82        DO_ICALL                                         $50     
         83        INIT_FCALL                                               'ord'
         84        FETCH_DIM_R                                      ~51     !0, !8
         85        SEND_VAL                                                 ~51
         86        DO_ICALL                                         $52     
         87        BW_XOR                                           ~53     $50, $52
         88        SEND_VAL                                                 ~53
         89        DO_ICALL                                         $54     
         90        ASSIGN_OP                                     8          !7, $54
   27    91        PRE_INC                                                  !8
   20    92    >   STRLEN                                           ~57     !0
         93        IS_SMALLER                                               !8, ~57
         94      > JMPNZ                                                    ~58, ->60
   29    95    > > RETURN                                                   !7
   30    96*     > RETURN                                                   null

End of function decrypt

Function _hash:
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 = 14
Branch analysis from position: 14
1 jumps found. (Code = 42) Position 1 = 29
Branch analysis from position: 29
2 jumps found. (Code = 44) Position 1 = 32, Position 2 = 17
Branch analysis from position: 32
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 17
2 jumps found. (Code = 44) Position 1 = 32, Position 2 = 17
Branch analysis from position: 32
Branch analysis from position: 17
Branch analysis from position: 10
1 jumps found. (Code = 42) Position 1 = 29
Branch analysis from position: 29
filename:       /in/9Ov5F
function name:  _hash
number of ops:  34
compiled vars:  !0 = $string, !1 = $hash, !2 = $out, !3 = $c
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   32     0  E >   RECV                                             !0      
   34     1        INIT_FCALL                                               'function_exists'
          2        SEND_VAL                                                 'sha1'
          3        DO_ICALL                                         $4      
          4      > JMPZ                                                     $4, ->10
   36     5    >   INIT_FCALL                                               'sha1'
          6        SEND_VAR                                                 !0
          7        DO_ICALL                                         $5      
          8        ASSIGN                                                   !1, $5
          9      > JMP                                                      ->14
   40    10    >   INIT_FCALL                                               'md5'
         11        SEND_VAR                                                 !0
         12        DO_ICALL                                         $7      
         13        ASSIGN                                                   !1, $7
   42    14    >   ASSIGN                                                   !2, ''
   43    15        ASSIGN                                                   !3, 0
   44    16      > JMP                                                      ->29
   46    17    >   INIT_FCALL                                               'chr'
         18        INIT_FCALL                                               'hexdec'
         19        FETCH_DIM_R                                      ~11     !1, !3
         20        ADD                                              ~12     !3, 1
         21        FETCH_DIM_R                                      ~13     !1, ~12
         22        CONCAT                                           ~14     ~11, ~13
         23        SEND_VAL                                                 ~14
         24        DO_ICALL                                         $15     
         25        SEND_VAR                                                 $15
         26        DO_ICALL                                         $16     
         27        ASSIGN_OP                                     8          !2, $16
   47    28        ASSIGN_OP                                     1          !3, 2
   44    29    >   STRLEN                                           ~19     !1
         30        IS_SMALLER                                               !3, ~19
         31      > JMPNZ                                                    ~20, ->17
   49    32    > > RETURN                                                   !2
   50    33*     > RETURN                                                   null

End of function _hash

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
144.67 ms | 1411 KiB | 30 Q