Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/qVb4m
function name: (null)
number of ops: 50
compiled vars: !0 = $credential
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
3 0 E > ASSIGN !0, 'my+password'
51 1 INIT_FCALL 'crypt'
2 SEND_VAR !0
3 SEND_VAL '%242a%2405%24SomeDollarSalt9999999%24'
4 DO_ICALL $2
5 CONCAT ~3 $2, '%0A'
6 ECHO ~3
52 7 INIT_FCALL 'bf_crypt_with_legacy_salt'
8 SEND_VAR !0
9 SEND_VAL '%242a%2405%24SomeDollarSalt9999999%24'
10 DO_FCALL 0 $4
11 CONCAT ~5 $4, '%0A%0A'
12 ECHO ~5
54 13 INIT_FCALL 'crypt'
14 SEND_VAR !0
15 SEND_VAL '%242a%2405%24SomeDollarSalt999999%249'
16 DO_ICALL $6
17 CONCAT ~7 $6, '%0A'
18 ECHO ~7
55 19 INIT_FCALL 'bf_crypt_with_legacy_salt'
20 SEND_VAR !0
21 SEND_VAL '%242a%2405%24SomeDollarSalt999999%249'
22 DO_FCALL 0 $8
23 CONCAT ~9 $8, '%0A%0A'
24 ECHO ~9
57 25 INIT_FCALL 'crypt'
26 SEND_VAR !0
27 SEND_VAL '%242a%2405%24SomeDollarSalt99999%2499'
28 DO_ICALL $10
29 CONCAT ~11 $10, '%0A'
30 ECHO ~11
58 31 INIT_FCALL 'bf_crypt_with_legacy_salt'
32 SEND_VAR !0
33 SEND_VAL '%242a%2405%24SomeDollarSalt99999%2499'
34 DO_FCALL 0 $12
35 CONCAT ~13 $12, '%0A%0A'
36 ECHO ~13
60 37 INIT_FCALL 'crypt'
38 SEND_VAR !0
39 SEND_VAL '%242a%2405%24SomeDollarSalt9999%24999'
40 DO_ICALL $14
41 CONCAT ~15 $14, '%0A'
42 ECHO ~15
61 43 INIT_FCALL 'bf_crypt_with_legacy_salt'
44 SEND_VAR !0
45 SEND_VAL '%242a%2405%24SomeDollarSalt9999%24999'
46 DO_FCALL 0 $16
47 CONCAT ~17 $16, '%0A%0A'
48 ECHO ~17
49 > RETURN 1
Function bf_crypt_with_legacy_salt:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 46) Position 1 = 5, Position 2 = 12
Branch analysis from position: 5
2 jumps found. (Code = 46) Position 1 = 13, Position 2 = 16
Branch analysis from position: 13
2 jumps found. (Code = 43) Position 1 = 17, Position 2 = 114
Branch analysis from position: 17
2 jumps found. (Code = 43) Position 1 = 25, Position 2 = 114
Branch analysis from position: 25
2 jumps found. (Code = 43) Position 1 = 30, Position 2 = 39
Branch analysis from position: 30
1 jumps found. (Code = 42) Position 1 = 67
Branch analysis from position: 67
1 jumps found. (Code = 42) Position 1 = 73
Branch analysis from position: 73
2 jumps found. (Code = 44) Position 1 = 75, Position 2 = 71
Branch analysis from position: 75
2 jumps found. (Code = 43) Position 1 = 88, Position 2 = 90
Branch analysis from position: 88
1 jumps found. (Code = 42) Position 1 = 92
Branch analysis from position: 92
2 jumps found. (Code = 43) Position 1 = 107, Position 2 = 113
Branch analysis from position: 107
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 113
Branch analysis from position: 90
2 jumps found. (Code = 43) Position 1 = 107, Position 2 = 113
Branch analysis from position: 107
Branch analysis from position: 113
Branch analysis from position: 71
2 jumps found. (Code = 44) Position 1 = 75, Position 2 = 71
Branch analysis from position: 75
Branch analysis from position: 71
Branch analysis from position: 39
2 jumps found. (Code = 43) Position 1 = 49, Position 2 = 50
Branch analysis from position: 49
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 50
2 jumps found. (Code = 43) Position 1 = 60, Position 2 = 62
Branch analysis from position: 60
1 jumps found. (Code = 42) Position 1 = 63
Branch analysis from position: 63
1 jumps found. (Code = 42) Position 1 = 73
Branch analysis from position: 73
Branch analysis from position: 62
1 jumps found. (Code = 42) Position 1 = 73
Branch analysis from position: 73
Branch analysis from position: 114
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 114
Branch analysis from position: 16
Branch analysis from position: 12
filename: /in/qVb4m
function name: BF_crypt_with_legacy_salt
number of ops: 120
compiled vars: !0 = $string, !1 = $salt, !2 = $pos, !3 = $itoa, !4 = $cryptsalt, !5 = $val, !6 = $i, !7 = $last, !8 = $textsalt, !9 = $crypt
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
5 0 E > RECV !0
1 RECV !1
8 2 STRLEN ~10 !1
3 IS_EQUAL ~11 ~10, 29
4 > JMPZ_EX ~11 ~11, ->12
5 > INIT_FCALL 'substr'
6 SEND_VAR !1
7 SEND_VAL 0
8 SEND_VAL 4
9 DO_ICALL $12
10 IS_EQUAL ~13 $12, '%242a%24'
11 BOOL ~11 ~13
12 > > JMPZ_EX ~11 ~11, ->16
13 > FETCH_DIM_R ~14 !1, 6
14 IS_EQUAL ~15 ~14, '%24'
15 BOOL ~11 ~15
16 > > JMPZ ~11, ->114
10 17 > INIT_FCALL 'strpos'
18 SEND_VAR !1
19 SEND_VAL '%24'
20 SEND_VAL 7
21 DO_ICALL $16
22 ASSIGN !2, $16
11 23 TYPE_CHECK 1018 !2
24 > JMPZ ~18, ->114
13 25 > ASSIGN_OP 2 !2, 7
14 26 ASSIGN !3, '.%2FABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
16 27 BW_AND ~21 !2, 2
28 IS_EQUAL ~21, 0
29 > JMPZ ~22, ->39
19 30 > INIT_FCALL 'substr'
31 SEND_VAR !1
32 SEND_VAL 0
33 BW_AND ~23 !2, 30
34 ADD ~24 7, ~23
35 SEND_VAL ~24
36 DO_ICALL $25
37 ASSIGN !4, $25
16 38 > JMP ->67
24 39 > INIT_FCALL 'strpos'
40 SEND_VAR !3
41 SUB ~27 !2, 1
42 ADD ~28 7, ~27
43 FETCH_DIM_R ~29 !1, ~28
44 SEND_VAL ~29
45 DO_ICALL $30
46 ASSIGN !5, $30
25 47 TYPE_CHECK 4 !5
48 > JMPZ ~32, ->50
27 49 > > RETURN '%2A0'
29 50 > INIT_FCALL 'substr'
51 SEND_VAR !1
52 SEND_VAL 0
53 SUB ~33 !2, 1
54 ADD ~34 7, ~33
55 SEND_VAL ~34
56 DO_ICALL $35
57 BW_AND ~36 !2, 1
58 IS_EQUAL ~36, 0
59 > JMPZ ~37, ->62
60 > QM_ASSIGN ~38 48
61 > JMP ->63
62 > QM_ASSIGN ~38 60
63 > BW_AND ~39 !5, ~38
64 FETCH_DIM_R ~40 !3, ~39
65 CONCAT ~41 $35, ~40
66 ASSIGN !4, ~41
31 67 > STRLEN ~43 !4
68 SUB ~44 29, ~43
69 ASSIGN !6, ~44
70 > JMP ->73
33 71 > ASSIGN_OP 8 !4, '.'
31 72 PRE_DEC !6
73 > IS_SMALLER 0, !6
74 > JMPNZ ~48, ->71
36 75 > INIT_FCALL 'strpos'
76 SEND_VAR !3
77 FETCH_DIM_R ~49 !1, 28
78 SEND_VAL ~49
79 DO_ICALL $50
80 ASSIGN !7, $50
37 81 INIT_FCALL 'substr'
82 SEND_VAR !1
83 SEND_VAL 0
84 SEND_VAL 28
85 DO_ICALL $52
86 TYPE_CHECK 4 !7
87 > JMPZ ~53, ->90
88 > QM_ASSIGN ~54 0
89 > JMP ->92
90 > BW_AND ~55 !7, 48
91 QM_ASSIGN ~54 ~55
92 > FETCH_DIM_R ~56 !3, ~54
93 CONCAT ~57 $52, ~56
94 ASSIGN !8, ~57
38 95 INIT_FCALL 'crypt'
96 SEND_VAR !0
97 SEND_VAR !4
98 DO_ICALL $59
99 ASSIGN !9, $59
40 100 INIT_FCALL 'substr'
101 SEND_VAR !9
102 SEND_VAL 0
103 SEND_VAL 29
104 DO_ICALL $61
105 IS_EQUAL !4, $61
106 > JMPZ ~62, ->113
42 107 > INIT_FCALL 'substr'
108 SEND_VAR !9
109 SEND_VAL 29
110 DO_ICALL $63
111 CONCAT ~64 !8, $63
112 ASSIGN !9, ~64
44 113 > > RETURN !9
48 114 > INIT_FCALL 'crypt'
115 SEND_VAR !0
116 SEND_VAR !1
117 DO_ICALL $66
118 > RETURN $66
49 119* > RETURN null
End of function bf_crypt_with_legacy_salt
Generated using Vulcan Logic Dumper, using php 8.0.0