Commit Graph

531 Commits

Author SHA1 Message Date
Michael Hansen
72c5f87793 Fix range of supported versions for marshalled files 2023-06-04 09:16:31 -07:00
Perceval Wajsbürt
c4c35fc531 Use C++ streams over C style IO 2023-06-02 01:12:59 +02:00
Michael Hansen
409f175827 Reduce code duplication for pre-3.11 binary ops, based on #348 2023-06-01 13:55:17 -07:00
Michael Hansen
90815b47ca Squash merge of #348
(Plus some whitespace cleanup)

commit ca302777438a6ac0ff00b9dbc87d2cf9e816b807
Author: TheHellTower <dontbeshybuddy@gmail.com>
Date:   Thu Jun 1 14:55:26 2023 -0400

    Test

commit 1764514e1dc4018abf050e2e2c3378b6ebaca2a2
Author: TheHellTower <dontbeshybuddy@gmail.com>
Date:   Thu Jun 1 14:46:49 2023 -0400

    Semi-Support

commit 104fa62355a18a071dae2d09db00af3b2fd22b6c
Author: TheHellTower <dontbeshybuddy@gmail.com>
Date:   Thu Jun 1 14:46:30 2023 -0400

    Semi-Support

commit 0809a71c725e3a92ece9348265f26f72fdb6664d
Author: TheHellTower <dontbeshybuddy@gmail.com>
Date:   Thu Jun 1 14:46:11 2023 -0400

    Semi-Support

commit bdf1695a57d2ad9eb1505a92ff4fa46c6f5ea90f
Author: TheHellTower <dontbeshybuddy@gmail.com>
Date:   Thu Jun 1 00:06:34 2023 -0400

    Updated Test

commit ea69a0b3be10568b70d02d744174e3bfc1d3546a
Author: TheHellTower <dontbeshybuddy@gmail.com>
Date:   Thu Jun 1 00:06:23 2023 -0400

    Updated Test

commit ecde2146208ea7a533267ace7293a49ce7a132bb
Author: TheHellTower <dontbeshybuddy@gmail.com>
Date:   Thu Jun 1 00:06:12 2023 -0400

    Updated Test

commit d5bbbe6224fc0aa8c5c3bc39b4f8845c8f941c7f
Author: TheHellTower <thehelltower@tuta.io>
Date:   Wed May 31 23:59:46 2023 -0400

    Feat: @zrax

    Co-authored-by: Michael Hansen <zrax0111@gmail.com>

commit f8d2299d14a3a0f69b40486006d629ccc5c719df
Author: TheHellTower <thehelltower@tuta.io>
Date:   Wed May 31 23:59:03 2023 -0400

    Feat: @zrax

    Co-authored-by: Michael Hansen <zrax0111@gmail.com>

commit 3fa8691f4c379dd10026227778ac60587fd07e68
Author: TheHellTower <thehelltower@tuta.io>
Date:   Wed May 31 23:58:53 2023 -0400

    Feat: @zrax

    Co-authored-by: Michael Hansen <zrax0111@gmail.com>

commit 6af17f0cffee31bc03ed8151e82b1720119d6a8d
Author: TheHellTower <thehelltower@tuta.io>
Date:   Wed May 31 23:58:45 2023 -0400

    Feat: @zrax

    Co-authored-by: Michael Hansen <zrax0111@gmail.com>

commit c7c76097fce1f45da0308b9f5e9cfffb5a323fd9
Author: TheHellTower <thehelltower@tuta.io>
Date:   Wed May 31 16:55:20 2023 -0400

    Remove `iostream`

commit 2edaec022f8cbcb36bffd7ec86b5f71b391fb372
Author: TheHellTower <thehelltower@tuta.io>
Date:   Wed May 31 16:54:48 2023 -0400

    Mistake

commit a36d4c5e62afe24691701f6d0b7c758b4113db91
Author: TheHellTower <thehelltower@tuta.io>
Date:   Wed May 31 16:52:12 2023 -0400

    Remove `iostream`

commit 1c3a5b02c95352a8e90247757df17d1563698fb6
Author: TheHellTower <dontbeshybuddy@gmail.com>
Date:   Wed May 31 16:43:30 2023 -0400

    Should be a bit better

commit 11603f1bb244c4d60ec34b675e1cd9c10945abf5
Author: TheHellTower <dontbeshybuddy@gmail.com>
Date:   Wed May 31 04:07:47 2023 -0400

    Update

commit 689b544fc1023ec60e4df257f3448064fdf84c2b
Author: TheHellTower <dontbeshybuddy@gmail.com>
Date:   Wed May 31 04:07:38 2023 -0400

    Update

commit 20bc5b820fb2ef6fd9199546e11ac02d78e5b6da
Author: TheHellTower <dontbeshybuddy@gmail.com>
Date:   Wed May 31 04:07:24 2023 -0400

    Update

commit c01e8251fac1577d25ab440ade4bfe2b42eb1860
Author: TheHellTower <dontbeshybuddy@gmail.com>
Date:   Wed May 31 04:05:28 2023 -0400

    Format problem ?

commit f35c494dd0d943323ec899cd8b2a236d11de67fc
Author: TheHellTower <dontbeshybuddy@gmail.com>
Date:   Wed May 31 04:02:03 2023 -0400

    Fix

commit 7f3265e4192e2b6eec81dc30a630691cead59694
Author: TheHellTower <dontbeshybuddy@gmail.com>
Date:   Mon May 29 00:57:01 2023 -0400

    BINARY_OP | Simplified

commit 045a6041f7a5abb7b5cdeaa4882b2620462e1927
Author: TheHellTower <dontbeshybuddy@gmail.com>
Date:   Mon May 29 00:56:53 2023 -0400

    BINARY_OP | Simplified

commit 0bfb76280e466e15c32ef42851d9981b9df57059
Author: TheHellTower <dontbeshybuddy@gmail.com>
Date:   Mon May 29 00:56:41 2023 -0400

    BINARY_OP | Simplified

commit 31159d69e8f802d7955244b258795563018c3eda
Author: TheHellTower <dontbeshybuddy@gmail.com>
Date:   Mon May 29 00:50:19 2023 -0400

    Fix Matching...

commit e4a978aeadebe9c574856c30928ec58da9e32639
Author: TheHellTower <dontbeshybuddy@gmail.com>
Date:   Mon May 29 00:50:06 2023 -0400

    Fix Matching...

commit d7a1b25b8f85886fcdc0a7c10c885e7e9e011281
Author: TheHellTower <thehelltower@tuta.io>
Date:   Mon May 29 00:41:43 2023 -0400

    Add `BINARY_OP` support

commit 6527299a67f043eb2b63e13ae43c4e9f060456e2
Author: TheHellTower <dontbeshybuddy@gmail.com>
Date:   Mon May 29 00:40:32 2023 -0400

    Add `BINARY_OP` test tokenized

commit c053cab7895f49a085a0797a98e28e87f4874d39
Author: TheHellTower <dontbeshybuddy@gmail.com>
Date:   Mon May 29 00:40:11 2023 -0400

    Add `BINARY_OP` test

commit e32f006f90a4e450099edd7d2f0bdbb0f1bbc612
Author: TheHellTower <dontbeshybuddy@gmail.com>
Date:   Mon May 29 00:39:53 2023 -0400

    Add `BINARY_OP` test compiled

Closes #333
Closes #348

Co-authored-by: TheHellTower <dontbeshybuddy@gmail.com>
2023-06-01 13:21:23 -07:00
Michael Hansen
ee934a1e99 Show binary ops from Python 3.11 in disassembly 2023-05-30 14:45:22 -07:00
Michael Hansen
0710ea07f1 Fix missing includes, which fixes build on GCC 13+ 2023-05-07 13:28:10 -07:00
Michael Hansen
c8156739f1 Merge pull request #344 from seashell11234455/master
Fix unicode string display bug
2023-04-27 08:51:58 -07:00
FeO3
006b3e4bbc Fix unicode string display bug 2023-04-27 20:40:06 +08:00
Dre Cura
a04b6c0258 Merge branch 'zrax:master' into master 2023-04-24 17:37:18 -04:00
Michael Hansen
2e76e56420 Fixup unrelated changes from PR 2023-02-28 15:49:12 -08:00
TheHellTower
4d81a16638 Add PUSH_NULL, PRECALL_A, CALL_A support (#324)
* Add `PUSH_NULL`, `PRECALL_A`, `CALL_A` support

* feat: @zrax

Co-authored-by: Michael Hansen <zrax0111@gmail.com>

* Good suggested change to make the code shorter

* Add `PUSH_NULL`, `PRECALL`, `CALL` test tokenized

* Add `PUSH_NULL`, `PRECALL`, `CALL` test

* Add `PUSH_NULL`, `PRECALL`, `CALL` test compiled

* Delete push_null-precall-call.3.11.pyc

* Delete push_null-precall-call.py

* Delete push_null-precall-call.txt

* Update README.markdown

Blank commit to re-run the tests.

* Join all no-ops/"fake"-ops together

* Update ASTree.cpp

https://github.com/zrax/pycdc/pull/324#issuecomment-1449049283

* Add compiled test for #324

---------

Co-authored-by: Michael Hansen <zrax0111@gmail.com>
2023-02-28 15:48:33 -08:00
Michael Hansen
f4db6a7cf6 Update CodeQL configuration 2023-02-27 13:12:11 -08:00
Michael Hansen
e922c1c224 Merge pull request #325 from zrax/test_calls
Add unit test for basic function calls (py3)
2023-02-27 12:04:36 -08:00
Michael Hansen
9f747e188c Add unit test for basic function calls (py3) 2023-02-27 11:59:01 -08:00
kako57
db92811da8 Added extra rules for operator precedence 2023-02-21 19:40:54 -05:00
Michael Hansen
00d436f87d Reduce code duplication between PycSet/PycTuple/PycList 2023-02-16 22:10:44 -08:00
Michael Hansen
1fcbf4cd4b Keep PycSet objects marshalled from files in order too 2023-02-16 22:01:31 -08:00
Michael Hansen
ded8adfba2 Merge pull request #319 from Ace314159/add-set-ops
Implement BUILD_SET and SET_UPDATE
2023-02-16 21:52:42 -08:00
Akash Munagala
ca73f05830 Print out frozenset in disasm too 2023-02-13 19:33:25 -08:00
Akash Munagala
80e835e197 Properly output frozenset object in pycdas 2023-02-13 19:26:30 -08:00
Akash Munagala
f00921d3d3 Use deque instead of set 2023-02-13 19:25:45 -08:00
Akash Munagala
66c46661d9 Add test 2023-02-12 17:01:37 -08:00
Akash Munagala
aaad868445 Implement BUILD_SET and SET_UPDATE 2023-02-12 16:21:20 -08:00
Michael Hansen
a6de2209fc Add simple_const tests for Python 3.8-3.11, and handle Python 3.11 RESUME opcode 2023-01-24 10:25:10 -08:00
Michael Hansen
60e4eb6316 Handle CACHE instructions in decompyle, and suppress them in disassembly by default.
Showing CACHE instructions and the extra PyCode fields in pycdas is now
controlled by command-line arguments.
2023-01-19 14:50:55 -08:00
Michael Hansen
5d855f0bd2 Fix LOAD_GLOBAL and cell var references in Python 3.11+ 2023-01-19 13:05:06 -08:00
Michael Hansen
379c0c94d0 Merge <3.11 VarNames and >=3.11 Locals+Names into a single variable for simplicity.
Also cleans up some extra verbose output by making extra PyCode fields optional
2023-01-19 11:32:07 -08:00
Michael Hansen
dfb0a976c5 Add additional Code object fields to disassembly output. 2023-01-19 11:32:07 -08:00
Michael Hansen
9f1d0f2a21 Add basic opcode (disassembly) support for Python 3.11 2023-01-19 11:32:07 -08:00
TheHellTower
a3e5ebd481 Add GET_YIELD_FROM_ITER support (#312) 2023-01-19 10:51:08 -08:00
Michael Hansen
3c129a1128 Merge pull request #311 from zrax/upload_artifact
Upload artifacts from Windows build
2023-01-18 13:28:57 -08:00
Michael Hansen
fb4dfa3fdc Upload artifacts from Windows build 2023-01-18 13:19:28 -08:00
Michael Hansen
2075a4ac1f Fix CI failure -- these need to remain in the original order 2022-12-02 14:16:18 -08:00
Michael Hansen
ffeabc3d3f Make cast() checked by default and add try_cast() for cases where a cast
is not required to be successful.
2022-12-01 16:13:31 -08:00
Michael Hansen
305494c4b2 Fix unintentional method shadowing in ASTAnnotatedVar 2022-12-01 16:03:09 -08:00
Michael Hansen
e623e9ac56 For String Refs, inherit the type of the reffed string object. 2022-12-01 11:42:31 -08:00
Michael Hansen
93495c3bfb Reduce unnecessary uses of std::list 2022-12-01 11:35:14 -08:00
Michael Hansen
863e09e9e7 Remove unnecessary Latin-1 conversion code -- PyUnicode ASCII is 7-bit. 2022-11-30 15:05:29 -08:00
Michael Hansen
44a730f3a8 Merge pull request #285 from zrax/simplify_marshal_version
Simplify and improve version setting for marshalled code objects
2022-10-04 15:24:38 -07:00
Michael Hansen
747921a761 Adjust to reduce duplication 2022-10-04 15:19:15 -07:00
Michael Hansen
e2db195b85 Merge from #267 2022-10-04 15:18:35 -07:00
Michael Hansen
8590d67d29 Simplify and improve version setting for marshalled code objects:
* Use a simpler check for validity -- the reverse magic number mapping was
  unnecessary and missed some cases (2.2, 3.2).
* Set the version directly after it is checked for validity.
* Fix unicode flag setting on Python 3.x.
2022-10-04 14:51:23 -07:00
Michael Hansen
6373459830 Merge pull request #283 from DarkGuySM/master
Update README.markdown
2022-10-02 09:31:17 -07:00
DarkGuySM
6cffd49799 Update README.markdown
Corrected spelling mistake.
2022-10-02 15:44:29 +05:30
Michael Hansen
4951905f83 Remove dead code from a previous version of this block.
Fixes #282
2022-09-30 10:07:44 -07:00
Michael Hansen
1b59ea5cd8 Merge pull request #270 from ahaensler/for-loops-v3.8
3.8: parse for loops and fix ternary ifs
2022-07-31 17:09:47 -07:00
Adrian Haensler
5758634f81 support three digit versions in tests 2022-07-30 00:07:38 -05:00
Adrian Haensler
deebbb044d add a test 2022-07-30 00:02:47 -05:00
Adrian Haensler
462260991e fix for loops in 3.8 2022-07-08 20:25:13 -05:00
Adrian Haensler
882571c599 some fixes for 3.9 2022-07-08 17:45:07 -05:00