File tree Expand file tree Collapse file tree 1 file changed +7
-7
lines changed Expand file tree Collapse file tree 1 file changed +7
-7
lines changed Original file line number Diff line number Diff line change 7
7
class PHPFuck ():
8
8
def __init__ (self ):
9
9
# simple constant
10
- arr_str = "( [].[]) " # "ArrayArray"
10
+ arr_str = "[].[]" # "ArrayArray"
11
11
zero = "([]^[])"
12
12
one = "([]^[[]])"
13
13
14
14
# generate digits
15
15
nums = [zero , one ]
16
16
for i in range (2 , 10 ):
17
- if i % 2 == 0 :
18
- nums .append (f"{ nums [i // 2 ]} +{ nums [i // 2 ]} " )
19
- else :
20
- nums .append (f"{ nums [i // 2 ]} +{ nums [i // 2 + 1 ]} " )
17
+ nums .append ('+' .join ([nums [1 ]]* i ))
21
18
22
- # using "Array0123456789" & xor to generate printable ascii char
19
+ # using `Aray0123456789` & xor to generate printable ascii char
23
20
self .char_mapping = {
24
21
'\t ' : f'({ nums [0 ]} .[])[{ nums [0 ]} ]^({ nums [9 ]} .[])[{ nums [0 ]} ]' ,
25
22
'\n ' : f'({ nums [2 ]} .[])[{ nums [0 ]} ]^({ nums [8 ]} .[])[{ nums [0 ]} ]' ,
@@ -185,8 +182,11 @@ def basic_encode(code):
185
182
186
183
if args .plain :
187
184
encoded = phpfuck .encode (code )
185
+ assert (set (encoded ) <= set ('([+.^])' ))
188
186
else :
189
- encoded = "<?php " + phpfuck .encode (code , args .eval ) + " ?>\n "
187
+ encoded = phpfuck .encode (code , args .eval )
188
+ assert (set (encoded [:- 1 ]) <= set ('([+.^])' ))
189
+ encoded = "<?php " + encoded + " ?>\n "
190
190
191
191
if args .file :
192
192
open (args .file , 'w' ).write (encoded )
You can’t perform that action at this time.
0 commit comments