rocky
3892fb533a
Misc bugs
2017-10-10 16:12:02 -04:00
rocky
4c9cd5657e
Merge branch 'master' into python-2.4
2017-08-09 21:45:50 -04:00
rocky
ddc3489991
Python 2.4 comptiability and ...
...
exception match -> exception-match
2017-08-03 03:48:57 -04:00
rocky
d138a01bf1
xdis's "exception match" is now "exception-match"
2017-07-17 22:42:57 -04:00
rocky
27ab6fe2f5
Use xdis 3.5.0's opcode sets
2017-07-08 20:41:46 -04:00
rocky
6888553773
Merge branch 'master' into python-2.4
2017-06-25 18:56:31 -04:00
rocky
af3d46b35c
Use xdis' instruction offset calculation fns..
...
next_offset, op_size, has_argument
2017-06-24 06:43:04 -04:00
rocky
0f489672b9
More merge fixups from master
2017-06-18 16:05:22 -04:00
rocky
d4dab54c7b
Merge branch 'master' into python-2.4
2017-05-30 02:18:57 -04:00
rocky
d93b7a9eae
Correct EXTENDED_ARG handling on Python 3.6...
...
where it can appear several times and xdis may handle it as well.
It possibly in other versions bug since EXTENDED_ARG is used so rarely
there because it has such a high value 1<<16, it's hard to test and
determine that.
2017-05-21 04:44:11 -04:00
rocky
2ab7aa2f48
Simplify EXTENDED_ARG on 3.x
...
We largely remove them and fold them itno the next op.
MAKE_FUNCTION though before 3.6 is an exception as that indicates an
annotated function
2017-05-19 22:06:18 -04:00
rocky
3084ac20e9
Another attempt at getting get_target() correct
2017-05-19 07:52:31 -04:00
rocky
b4efa62fad
EXTENDED_ARG handling...
...
get_target() wasn't taking into account EXTENDED_ARG before opcode.
This is mostly relevant in Python 3.6 where the max size before needing
EXTENDED_ARG has been reduced to 256, but theoretically possible in earlier
versions.
2017-05-19 07:13:20 -04:00
rocky
6991a637a2
Small changes....
...
* __pkginfo__.py: Need spark parser 1.6.1 for corrected remove_rules() fn
* parser36.py: remove replaced Python3 rules
* scanner3.py: corrected comment. Thanks to moagstar here.
*
2017-05-17 23:31:56 -04:00
rocky
ea732acf49
In conjunction with MAKE_FUNCTION_FLAGS change...
...
Switched from tuple to string, but forgot to change the code that uses this.
2017-05-13 17:29:20 -04:00
rocky
da884487d5
MAKE_FUNCTION_FLAGS can be a simpler tuple
2017-05-13 11:47:27 -04:00
rocky
73857c831b
Typo
2017-05-13 06:12:31 -04:00
rocky
d540146d5a
WIP: start 3.6 MAKE_FUNCTION handling
2017-05-11 07:00:46 -04:00
rocky
f8a40c1949
Reduce spurious "continue" statements
2017-05-07 13:15:26 -04:00
rocky
605721c995
Python 3.x control-flow bug...
...
"pass" statement inside "while True"
2017-05-07 09:10:05 -04:00
rocky
26e8de8532
Fix improper COME_FROM_EXCEPT in Python 3.3+
2017-05-07 03:19:53 -04:00
rocky
e56ab2dcd5
Sync with master
2017-05-06 07:17:04 -04:00
rocky
d6c45979ba
Merge branch 'master' into python-2.4
2017-05-06 07:16:39 -04:00
rocky
4e9555a7f6
Improve Python 3.2 decompilation ...
...
by removing a lot of the control-flow labels of 3.3+
2017-05-05 21:34:21 -04:00
rocky
47dbc57f3d
Reduce adding RETURN_END_IF in 3.5+
...
The whole control flow determination has to be redone in a less
haphazard way using real flow-control analysis. Hopefully that's on the
way.
In the meantime we have this hack.
2017-04-14 06:57:25 -04:00
rocky
7e8f7ba674
namedtuple25 -> namedtuple24
2017-04-14 05:42:44 -04:00
rocky
09eb7f7f78
Merge branch 'master' into python-2.4
2017-04-10 00:48:04 -04:00
rocky
fdcb90f661
Python 3.0 doesn't have POP_JUMP_IF...
2017-03-12 10:32:05 -04:00
rocky
5856802902
Small cleanup - remove POP_JUMP_TF
2017-03-07 22:07:29 -05:00
rocky
4f2ae2f603
More accurate ranges of try blocks in 3.x
2017-03-05 00:05:52 -05:00
rocky
f7a910ec66
Merge branch 'master' into python-2.4
2017-03-01 05:55:26 -05:00
rocky
160ec0d9cc
COME_FROM for 3.x POP_EXCEPT, DRY with op_name() ...
...
Start adding COME_FROMs for POP_EXCEPT in preparation for
getting tryelse blocks correct.
Simpler opname access functions:
- self.op_name(op) is self.opc.opname[op]
- self.op_name_from_offset(offset) is self.opc.opname[self.code[offset]]
verify.py: not all offsets are ints
2017-03-01 05:50:31 -05:00
rocky
718a0a5d34
Merge branch 'master' into python-2.4
2017-02-22 05:29:49 -05:00
rocky
493e4b14a1
Some Python 3.4 bugss fixed by using 3.5 rules
2017-02-20 08:17:17 -05:00
rocky
9491c67779
More COME_FROM's in Python 3...
...
Need this to find boundaries of simple if better
2017-02-20 04:17:46 -05:00
rocky
0fa0641974
Merge branch 'master' into python-2.4
2017-01-29 22:05:55 -05:00
rocky
8333e4ae93
Handle BUILD_CONST_KEY_MAP as a varargs
...
custom rules with BUILD_CONST_KEY_MAP are pinned to the specific number
of args seen.
2017-01-20 20:41:10 -05:00
rocky
9c49b5d54b
Handle 3.6 BUILD_CONST_KEYMAP
2017-01-15 11:10:13 -05:00
rocky
89429339fa
Merge branch 'master' into python-2.4
2017-01-11 19:25:44 -05:00
rocky
707770049f
Python 3.0 decompile bugs
2017-01-08 22:19:15 -05:00
rocky
ec0669367f
Towards better 3.0 decompilation
...
Sync scanner2 and scanner3 better
2017-01-08 17:40:57 -05:00
rocky
3f40c16587
Fix 3.5, 3.6 while true if/break bug
2017-01-08 15:54:49 -05:00
rocky
21023fea74
Add 3.5+ async with/for ..
...
scanner3.py: 3.6 bytecode vs wordcode fix
2017-01-08 08:54:03 -05:00
rocky
e4c0d56947
3.5 continue check is needed on 3.6
2017-01-03 07:22:25 -05:00
rocky
4827b1e994
Towards better 3.6 support
2017-01-03 00:44:07 -05:00
rocky
2b46e71264
Python 3.5 continue detection bug
2017-01-02 10:06:52 -05:00
rocky
c4fde6b53e
Merge branch 'master' into python-2.4
2017-01-02 05:39:50 -05:00
rocky
84c2932bc5
add come_from for setup_finally and setup_except
2017-01-01 21:11:35 -05:00
rocky
874b3c9d31
Towards fixing Python 3.5 return bugs
2017-01-01 04:56:15 -05:00
rocky
b00651d428
Merge master branche
...
Handle 2.2 list_if
2016-12-31 05:19:21 -05:00