--- tags: decompiler --- # MWEs by Ahmed - Batch 2 ## Error 1/245 Python version: 3.7 Decompyle3: Failed Uncompyle6: Failed Error: `Deparsing stopped due to parse error` ### MWE: ```python= def source(): if a: for b in c: if d: x = x elif b: pass return e ``` #### Closest Solution: ```python= def source(): if a: for b in c: if d: x = x elif b: pass else: pass return e ``` ```c= 1 0 LOAD_CONST 0 (<code object source at 0x7f1c463abe40, file "main.py", line 1>) 2 LOAD_CONST 1 ('source') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (source) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object source at 0x7f1c463abe40, file "main.py", line 1>: 2 0 LOAD_GLOBAL 0 (a) 2 POP_JUMP_IF_FALSE 28 3 4 SETUP_LOOP 28 (to 34) 6 LOAD_GLOBAL 1 (c) 8 GET_ITER >> 10 FOR_ITER 12 (to 24) 12 STORE_FAST 0 (b) 4 14 LOAD_GLOBAL 2 (d) 16 POP_JUMP_IF_FALSE 10 5 18 LOAD_FAST 1 (x) 20 STORE_FAST 1 (x) 22 JUMP_ABSOLUTE 10 >> 24 POP_BLOCK 26 JUMP_FORWARD 6 (to 34) 6 >> 28 LOAD_FAST 0 (b) 30 POP_JUMP_IF_FALSE 34 7 32 JUMP_FORWARD 0 (to 34) 10 >> 34 LOAD_GLOBAL 3 (e) 36 RETURN_VALUE ``` #### MWE data: Bytecode for MWE: ```c= 1 0 LOAD_CONST 0 (<code object source at 0x7f992b591e40, file "main.py", line 1>) 2 LOAD_CONST 1 ('source') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (source) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object source at 0x7f992b591e40, file "main.py", line 1>: 2 0 LOAD_GLOBAL 0 (a) 2 POP_JUMP_IF_FALSE 28 3 4 SETUP_LOOP 26 (to 32) 6 LOAD_GLOBAL 1 (c) 8 GET_ITER >> 10 FOR_ITER 12 (to 24) 12 STORE_FAST 0 (b) 4 14 LOAD_GLOBAL 2 (d) 16 POP_JUMP_IF_FALSE 10 5 18 LOAD_FAST 1 (x) 20 STORE_FAST 1 (x) 22 JUMP_ABSOLUTE 10 >> 24 POP_BLOCK 26 JUMP_FORWARD 4 (to 32) 6 >> 28 LOAD_FAST 0 (b) 30 POP_JUMP_IF_FALSE 32 7 >> 32 LOAD_CONST 0 (None) 34 RETURN_VALUE ``` ## Error 1/246 (not done yet) Python version: 3.7 Decompyle3: Failed Uncompyle6: Failed Error: `Deparsing stopped due to parse error` ### MWE: ```python= def source(): if a: for b in c: if d: x = x elif b: pass return e ``` #### Closest Solution: ```python= def source(): if a: for b in c: if d: x = x elif b: pass else: pass return e ``` ```c= 1 0 LOAD_CONST 0 (<code object source at 0x7f1c463abe40, file "main.py", line 1>) 2 LOAD_CONST 1 ('source') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (source) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object source at 0x7f1c463abe40, file "main.py", line 1>: 2 0 LOAD_GLOBAL 0 (a) 2 POP_JUMP_IF_FALSE 28 3 4 SETUP_LOOP 28 (to 34) 6 LOAD_GLOBAL 1 (c) 8 GET_ITER >> 10 FOR_ITER 12 (to 24) 12 STORE_FAST 0 (b) 4 14 LOAD_GLOBAL 2 (d) 16 POP_JUMP_IF_FALSE 10 5 18 LOAD_FAST 1 (x) 20 STORE_FAST 1 (x) 22 JUMP_ABSOLUTE 10 >> 24 POP_BLOCK 26 JUMP_FORWARD 6 (to 34) 6 >> 28 LOAD_FAST 0 (b) 30 POP_JUMP_IF_FALSE 34 7 32 JUMP_FORWARD 0 (to 34) 10 >> 34 LOAD_GLOBAL 3 (e) 36 RETURN_VALUE ``` #### MWE data: Bytecode for MWE: ```c= 1 0 LOAD_CONST 0 (<code object source at 0x7f992b591e40, file "main.py", line 1>) 2 LOAD_CONST 1 ('source') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (source) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object source at 0x7f992b591e40, file "main.py", line 1>: 2 0 LOAD_GLOBAL 0 (a) 2 POP_JUMP_IF_FALSE 28 3 4 SETUP_LOOP 26 (to 32) 6 LOAD_GLOBAL 1 (c) 8 GET_ITER >> 10 FOR_ITER 12 (to 24) 12 STORE_FAST 0 (b) 4 14 LOAD_GLOBAL 2 (d) 16 POP_JUMP_IF_FALSE 10 5 18 LOAD_FAST 1 (x) 20 STORE_FAST 1 (x) 22 JUMP_ABSOLUTE 10 >> 24 POP_BLOCK 26 JUMP_FORWARD 4 (to 32) 6 >> 28 LOAD_FAST 0 (b) 30 POP_JUMP_IF_FALSE 32 7 >> 32 LOAD_CONST 0 (None) 34 RETURN_VALUE ``` ## Error 1/247 Python version: 3.7 Decompyle3: Failed Uncompyle6: Failed Error: `Deparsing stopped due to parse error` ### MWE: ```python= def render(): x = x a = b and (c or d) or e ``` #### Closest Solution: ```python= def render(): x = x temp = c or d a = b and (temp) or e ``` ```c= 1 0 LOAD_CONST 0 (<code object render at 0x7f659fdf8e40, file "main.py", line 1>) 2 LOAD_CONST 1 ('render') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (render) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object render at 0x7f659fdf8e40, file "main.py", line 1>: 2 0 LOAD_FAST 0 (x) 2 STORE_FAST 0 (x) 3 4 LOAD_GLOBAL 0 (c) 6 JUMP_IF_TRUE_OR_POP 10 8 LOAD_GLOBAL 1 (d) >> 10 STORE_FAST 1 (temp) 4 12 LOAD_GLOBAL 2 (b) 14 POP_JUMP_IF_FALSE 20 16 LOAD_FAST 1 (temp) 18 JUMP_IF_TRUE_OR_POP 22 >> 20 LOAD_GLOBAL 3 (e) >> 22 STORE_FAST 2 (a) 24 LOAD_CONST 0 (None) 26 RETURN_VALUE ``` #### MWE data: Bytecode for MWE: ```c= 1 0 LOAD_CONST 0 (<code object render at 0x7feec939fe40, file "main.py", line 1>) 2 LOAD_CONST 1 ('render') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (render) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object render at 0x7feec939fe40, file "main.py", line 1>: 2 0 LOAD_FAST 0 (x) 2 STORE_FAST 0 (x) 3 4 LOAD_GLOBAL 0 (b) 6 POP_JUMP_IF_FALSE 16 8 LOAD_GLOBAL 1 (c) 10 JUMP_IF_TRUE_OR_POP 18 12 LOAD_GLOBAL 2 (d) 14 JUMP_IF_TRUE_OR_POP 18 >> 16 LOAD_GLOBAL 3 (e) >> 18 STORE_FAST 1 (a) 20 LOAD_CONST 0 (None) 22 RETURN_VALUE ``` ## Error 1/248 Python version: 3.7 Decompyle3: Failed Uncompyle6: Failed Error: `Deparsing stopped due to parse error` ### MWE 1: ```python= def add_queryset_action(): if not a or b: if c: x = x ``` #### Closest Solution 1: ```python= def add_queryset_action(): temp = not a or b if temp: if c: x = x ``` ```c= 1 0 LOAD_CONST 0 (<code object add_queryset_action at 0x7feb44151e40, file "main.py", line 1>) 2 LOAD_CONST 1 ('add_queryset_action') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (add_queryset_action) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object add_queryset_action at 0x7feb44151e40, file "main.py", line 1>: 2 0 LOAD_GLOBAL 0 (a) 2 UNARY_NOT 4 JUMP_IF_TRUE_OR_POP 8 6 LOAD_GLOBAL 1 (b) >> 8 STORE_FAST 0 (temp) 3 10 LOAD_FAST 0 (temp) 12 POP_JUMP_IF_FALSE 22 4 14 LOAD_GLOBAL 2 (c) 16 POP_JUMP_IF_FALSE 22 5 18 LOAD_FAST 1 (x) 20 STORE_FAST 1 (x) >> 22 LOAD_CONST 0 (None) 24 RETURN_VALUE ``` #### MWE1 data: Bytecode for MWE: ```c= 1 0 LOAD_CONST 0 (<code object add_queryset_action at 0x7f1631f91e40, file "main.py", line 1>) 2 LOAD_CONST 1 ('add_queryset_action') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (add_queryset_action) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object add_queryset_action at 0x7f1631f91e40, file "main.py", line 1>: 2 0 LOAD_GLOBAL 0 (a) 2 POP_JUMP_IF_FALSE 8 4 LOAD_GLOBAL 1 (b) 6 POP_JUMP_IF_FALSE 16 3 >> 8 LOAD_GLOBAL 2 (c) 10 POP_JUMP_IF_FALSE 16 4 12 LOAD_FAST 0 (x) 14 STORE_FAST 0 (x) >> 16 LOAD_CONST 0 (None) 18 RETURN_VALUE ``` ### MWE 2: ```python= def get_queryset(): if a: b = ((c or d) and e or f) ``` #### Closest Solution 2: ```python= def get_queryset(): if a: temp = c or d b = ((temp) and e or f) ``` ```c= 1 0 LOAD_CONST 0 (<code object get_queryset at 0x7f483d4e6e40, file "main.py", line 1>) 2 LOAD_CONST 1 ('get_queryset') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (get_queryset) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object get_queryset at 0x7f483d4e6e40, file "main.py", line 1>: 2 0 LOAD_GLOBAL 0 (a) 2 POP_JUMP_IF_FALSE 24 3 4 LOAD_GLOBAL 1 (c) 6 JUMP_IF_TRUE_OR_POP 10 8 LOAD_GLOBAL 2 (d) >> 10 STORE_FAST 0 (temp) 4 12 LOAD_FAST 0 (temp) 14 POP_JUMP_IF_FALSE 20 16 LOAD_GLOBAL 3 (e) 18 JUMP_IF_TRUE_OR_POP 22 >> 20 LOAD_GLOBAL 4 (f) >> 22 STORE_FAST 1 (b) >> 24 LOAD_CONST 0 (None) 26 RETURN_VALUE ``` #### MWE2 data: Bytecode for MWE: ```c= 1 0 LOAD_CONST 0 (<code object get_queryset at 0x7fd16419ee40, file "main.py", line 1>) 2 LOAD_CONST 1 ('get_queryset') 4 MAKE_FUNCTION 0 6 STORE_NAME 0 (get_queryset) 8 LOAD_CONST 2 (None) 10 RETURN_VALUE Disassembly of <code object get_queryset at 0x7fd16419ee40, file "main.py", line 1>: 2 0 LOAD_GLOBAL 0 (a) 2 POP_JUMP_IF_FALSE 20 3 4 LOAD_GLOBAL 1 (c) 6 POP_JUMP_IF_TRUE 12 8 LOAD_GLOBAL 2 (d) 10 POP_JUMP_IF_FALSE 16 >> 12 LOAD_GLOBAL 3 (e) 14 JUMP_IF_TRUE_OR_POP 18 >> 16 LOAD_GLOBAL 4 (f) >> 18 STORE_FAST 0 (b) >> 20 LOAD_CONST 0 (None) 22 RETURN_VALUE ```