Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/BNavp
function name: (null)
number of ops: 22
compiled vars: !0 = $private_key_pem, !1 = $public_key_pem, !2 = $plaintext, !3 = $store_me, !4 = $visible
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
61 0 E > ASSIGN !0, '-----BEGIN+RSA+PRIVATE+KEY-----%0AMIIEpQIBAAKCAQEAtCY43TsWfw%2BEp8FiU0Z%2FDiivoyHAFzckFttOgBh9wZMI%2BzYy%0AXAmvmbpFh6EsfAn1zcZAJNIjb7jXt9ySD8%2FgTHSvVRhawysSk%2BjvG7bVNy%2BJmEcb%0AB0bIFLUVud1sZWJANv999iub1Rpzb6xIhZ5ZsEDMob4UWxouKPfrRQcYlrI3X7d%2F%0AVLfmnU%2FsSzpS6eHn%2Bf064zXXmf1tVIBwEKkq%2FeaxgJyW8AM8XL5qL9RueHhihQm%2F%0AG71cMVc5XXgoVy8%2Begx%2FaQm2u26d9ez1Vu804ptJoLAnjTdx1an5CKFikpvt2OYP%0AZVFuWV6cqMMCksqzBSZKMu7wtaiEc%2FUN41UHcQIDAQABAoIBAGxiyregA0rzBTcB%0ADK1ZrrvQEswtVCsji90MmVBMa%2Bz5D%2BBEnUvur%2B3nukl92QvP2kmxy4nbvGJNbcw7%0AMs28nhCh65NhEcp2sbi33pRoDiQjv78UmNhp55s90BKBe%2BQLluMAGMLxPdKbFXTM%0AzN1HhmKaugNeH1UojTks4CopuMuA7wr31McD8AjNZWdg2w4zDbnSy0UuLH90Bq6i%0AtpRtVZmeD6Y7KmJOzt7%2FvNPbp9BabLUQarCy2Pg16Zr3GG0g0Q7AIjoF2yqHfebI%0AnJs6bjEiUPL8MGU41iwbVoFWJm1T9NZcfydd26vkUPOXnuGorLTsyJ7nQCKSKv12%0Amfenp4ECgYEA5PCiN5T%2FCC11BTerLiQl1QPopGt1XOvg%2F5DaFi%2FB4%2FQmZ7ZND27r%0AfwiZBCAF0B6N5alJfmZHbraO0LcxM8EWB29f9y%2Bt6rttIaKQlsLBkfe64RpNpRKX%0AviTf5TWuI8HgZBs20IzqPow4DeoaH7a2PxqfMa36IfSasO097pkLIAkCgYEAyXFC%0ASb48uaHt2LJqmdaxQg1im5WEZkh19a%2F0l02nVshi%2B4cOTS3MiRqoSfpM%2FbaaAzfI%0AGOpaCbcXtah3k0m5tXeBvXYxZJxUEVO%2FPdGQlg1ZO8h1UOfsgyjM3YDUG9mcofFo%0AhOaGM4RHVt7pLAj42B%2FPAoZVYjNLXX6g1%2FYzNikCgYEAu8AkKJUGebxdxYOb3OFE%0ALWdhOMXvn97JzI0MbTmJNtqZTGCS3d9HPgzdACcK3VzRXdDxNrnGRyNsB%2FrUXO8y%0Ak7Jg7ySo6mH%2B46CgFyNs%2F7o8BjM%2BDewriYJQI3dccnKjBTXURD%2FsMpNnvPGJrwx2%0AdVXtzB4zjfk9i29kZPIZz5ECgYEAwNeXAOeIVKFrA57RpFI%2BQSB1PMJnDE%2Fj9P6s%0AJUhmoRKWh3pkO4hTnRES%2BDcRC3WKfPgiq492AITxwqrzReI3UTyFzG1gnZN2e1vz%0A4WdEhhFjUnL1tC1CYtFlRct1wu%2BRHgrv5wKUiK7iaIxfJhO0vZm94AnfpXG7fVai%0A%2FfuoTPkCgYEA0pxWFSyEOeQt1LV3rTZGxK6QAt5h36JYWt8%2Fck2YrMeZn2wAv%2Bhy%0AZgtWsdrJLvEVId3wH79vCQtAjZJAyCVxAhXPlAhxmA8F3LOqEgwrnls52SmWw%2F5T%0AsVlqPCXEO3fNZLOd5sYYmiaQjWbP4dAP5WQU75UhYAnyz6Myz3rbN58%3D%0A-----END+RSA+PRIVATE+KEY-----'
89 1 ASSIGN !1, '-----BEGIN+PUBLIC+KEY-----%0AMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtCY43TsWfw%2BEp8FiU0Z%2F%0ADiivoyHAFzckFttOgBh9wZMI%2BzYyXAmvmbpFh6EsfAn1zcZAJNIjb7jXt9ySD8%2Fg%0ATHSvVRhawysSk%2BjvG7bVNy%2BJmEcbB0bIFLUVud1sZWJANv999iub1Rpzb6xIhZ5Z%0AsEDMob4UWxouKPfrRQcYlrI3X7d%2FVLfmnU%2FsSzpS6eHn%2Bf064zXXmf1tVIBwEKkq%0A%2FeaxgJyW8AM8XL5qL9RueHhihQm%2FG71cMVc5XXgoVy8%2Begx%2FaQm2u26d9ez1Vu80%0A4ptJoLAnjTdx1an5CKFikpvt2OYPZVFuWV6cqMMCksqzBSZKMu7wtaiEc%2FUN41UH%0AcQIDAQAB%0A-----END+PUBLIC+KEY-----'
100 2 ASSIGN !2, 'Something+something+dark+side'
101 3 INIT_FCALL 'easy_seal'
4 SEND_VAR !2
5 SEND_VAR !1
6 SEND_VAL <true>
7 DO_FCALL 0 $8
8 ASSIGN !3, $8
103 9 INIT_FCALL 'var_dump'
10 SEND_VAR !3
11 DO_ICALL
105 12 INIT_FCALL 'easy_unseal'
13 SEND_VAR !3
14 SEND_VAR !0
15 SEND_VAL <true>
16 DO_FCALL 0 $11
17 ASSIGN !4, $11
106 18 INIT_FCALL 'var_dump'
19 SEND_VAR !4
20 DO_ICALL
21 > RETURN 1
Function easy_seal:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 9, Position 2 = 13
Branch analysis from position: 9
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 13
2 jumps found. (Code = 43) Position 1 = 25, Position 2 = 29
Branch analysis from position: 25
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 29
2 jumps found. (Code = 43) Position 1 = 30, Position 2 = 43
Branch analysis from position: 30
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 43
1 jumps found. (Code = 62) Position 1 = -2
filename: /in/BNavp
function name: easy_seal
number of ops: 51
compiled vars: !0 = $plaintext, !1 = $publickey_string, !2 = $encode, !3 = $pubkey, !4 = $sealed, !5 = $ekeys, !6 = $result
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
11 0 E > RECV !0
1 RECV !1
2 RECV_INIT !2 <false>
13 3 INIT_FCALL_BY_NAME 'openssl_get_publickey'
4 SEND_VAR_EX !1
5 DO_FCALL 0 $7
6 ASSIGN !3, $7
14 7 TYPE_CHECK 4 !3
8 > JMPZ ~9, ->13
15 9 > NEW $10 'Exception'
10 SEND_VAL_EX 'Could+not+load+public+key'
11 DO_FCALL 0
12 > THROW 0 $10
17 13 > ASSIGN !4, ''
18 14 ASSIGN !5, <array>
19 15 INIT_FCALL_BY_NAME 'openssl_seal'
16 SEND_VAR_EX !0
17 SEND_VAR_EX !4
18 SEND_VAR_EX !5
19 INIT_ARRAY ~14 !3
20 SEND_VAL_EX ~14
21 DO_FCALL 0 $15
22 ASSIGN !6, $15
20 23 TYPE_CHECK 4 !6
24 > JMPZ ~17, ->29
21 25 > NEW $18 'Exception'
26 SEND_VAL_EX 'openssl_seal+failed%21'
27 DO_FCALL 0
28 > THROW 0 $18
23 29 > > JMPZ !2, ->43
24 30 > INIT_FCALL 'json_encode'
25 31 INIT_FCALL 'bin2hex'
32 SEND_VAR !4
33 DO_ICALL $20
34 INIT_ARRAY ~21 $20
26 35 INIT_FCALL 'bin2hex'
36 FETCH_DIM_R ~22 !5, 0
37 SEND_VAL ~22
38 DO_ICALL $23
39 ADD_ARRAY_ELEMENT ~21 $23
40 SEND_VAL ~21
24 41 DO_ICALL $24
26 42 > RETURN $24
29 43 > INIT_FCALL 'json_encode'
44 INIT_ARRAY ~25 !4
45 FETCH_DIM_R ~26 !5, 0
46 ADD_ARRAY_ELEMENT ~25 ~26
47 SEND_VAL ~25
48 DO_ICALL $27
49 > RETURN $27
30 50* > RETURN null
End of function easy_seal
Function easy_unseal:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 13, Position 2 = 21
Branch analysis from position: 13
2 jumps found. (Code = 43) Position 1 = 28, Position 2 = 32
Branch analysis from position: 28
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 32
2 jumps found. (Code = 43) Position 1 = 41, Position 2 = 45
Branch analysis from position: 41
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 45
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 21
filename: /in/BNavp
function name: easy_unseal
number of ops: 47
compiled vars: !0 = $ciphertext, !1 = $privatekey_string, !2 = $encoded, !3 = $sealed, !4 = $ekey, !5 = $open_data, !6 = $privkey, !7 = $result
line #* E I O op fetch ext return operands
-------------------------------------------------------------------------------------
41 0 E > RECV !0
1 RECV !1
2 RECV_INIT !2 <false>
43 3 INIT_FCALL 'json_decode'
4 SEND_VAR !0
5 SEND_VAL <true>
6 DO_ICALL $8
7 FETCH_LIST_R $9 $8, 0
8 ASSIGN !3, $9
9 FETCH_LIST_R $11 $8, 1
10 ASSIGN !4, $11
11 FREE $8
44 12 > JMPZ !2, ->21
45 13 > INIT_FCALL 'hex2bin'
14 SEND_VAR !3
15 DO_ICALL $13
16 ASSIGN !3, $13
46 17 INIT_FCALL 'hex2bin'
18 SEND_VAR !4
19 DO_ICALL $15
20 ASSIGN !4, $15
48 21 > ASSIGN !5, ''
49 22 INIT_FCALL_BY_NAME 'openssl_get_privatekey'
23 SEND_VAR_EX !1
24 DO_FCALL 0 $18
25 ASSIGN !6, $18
50 26 TYPE_CHECK 4 !6
27 > JMPZ ~20, ->32
51 28 > NEW $21 'Exception'
29 SEND_VAL_EX 'Could+not+load+public+key'
30 DO_FCALL 0
31 > THROW 0 $21
54 32 > INIT_FCALL_BY_NAME 'openssl_open'
33 SEND_VAR_EX !3
34 SEND_VAR_EX !5
35 SEND_VAR_EX !4
36 SEND_VAR_EX !6
37 DO_FCALL 0 $23
38 ASSIGN !7, $23
55 39 TYPE_CHECK 4 !7
40 > JMPZ ~25, ->45
56 41 > NEW $26 'Exception'
42 SEND_VAL_EX 'openssl_open+failed%21'
43 DO_FCALL 0
44 > THROW 0 $26
58 45 > > RETURN !5
59 46* > RETURN null
End of function easy_unseal
Generated using Vulcan Logic Dumper, using php 8.0.0