08f4971817
feat: PyarmorAssert bytes type 4 (gh-23)
2025-09-12 17:21:24 +08:00
2011b828db
Merge branch 'upstream-pycdc'
2025-07-15 00:01:41 +08:00
Sahil Jain
8b0ea9450e
Fix RAISE_VARARGS bug
2025-07-04 19:16:04 +05:30
d4f057d91c
Merge branch 'upstream-pycdc'
2025-07-03 14:02:08 +08:00
Michael Hansen
e64ea4bdec
Merge branch 'master' into new-opcodes
2025-07-02 07:56:28 -07:00
Sahil Jain
6e0089e01c
Update
2025-07-01 22:52:59 +05:30
Sahil Jain
5fe61462a2
Support COPY opcde
2025-07-01 09:25:49 +05:30
Sahil Jain
ad5f39db56
Support SLICE opcodes
2025-07-01 09:24:53 +05:30
Sahil Jain
97ec04789d
Add JUMP_BACKWARD + CACHE comments
2025-07-01 09:22:57 +05:30
Sahil Jain
6dae4e801f
Remove COPY opcode
2025-07-01 09:22:57 +05:30
Sahil Jain
040732920b
Add comment
2025-07-01 09:22:57 +05:30
Sahil Jain
a93fd14672
Add new loop tests
2025-07-01 09:22:57 +05:30
Sahil Jain
a4a6a24f3e
Support END_FOR opcode
2025-07-01 09:22:56 +05:30
64df67ac8a
fix: temp patch for robustness
2025-03-15 22:35:38 +08:00
1d5b35a9d6
fix: py3.12 py3.13 limited support
2025-03-07 00:10:45 +08:00
d88944b832
fix: py3.8 limited support
2025-03-06 14:55:22 +08:00
dc5d2b95e0
fix: py3.11 limited support
2025-03-05 20:07:46 +08:00
c3f9db22c1
fix: py3.10 limited support
2025-03-05 18:08:18 +08:00
Suyun114
3aaae62400
fix: use cast to avoid warnings
2025-03-04 19:34:16 +08:00
87b83d754a
wip: ast! :)
2025-03-02 21:39:14 +08:00
samy kamkar
bbc19885f4
show INVALID opcode properly if < 0
2024-10-12 13:45:16 -07:00
Michael Hansen
b939aeb87c
Update operand documentation for new opcodes and oparg changes.
...
Also extends the disassembly oparg decoding for new 3.13 additions.
2024-08-07 15:44:36 -07:00
Michael Hansen
48d1bfa59f
Fix a null dereference.
...
Fixes #486
2024-08-06 08:21:12 -07:00
Michael Hansen
0b45b5fa07
Fix FORMAT_VALUE for values that have both a conversion and a format_spec.
...
Also output the conversion and flags in disassembly.
2024-08-01 13:28:43 -07:00
easyz
6ad3ceb67e
Add support for swap
bytecode and simple WITH_EXCEPT_START
bytecode support. (#488)
...
* Modify .gitignore
* Added support for SWAP and WITH_EXCEPT_START, WITH_EXCEPT_START is simply added on top of SETUP_WITH_A so that it works properly.
* Resolve the warning about comparing size_t and int.
* Revert "Resolve the warning about comparing size_t and int."
This reverts commit 54dfe36629855ca557277572d307dacaf6a64fe9.
* Reapply "Resolve the warning about comparing size_t and int."
This reverts commit d21d1681ed6496856ea65151e5fd798f0a718416.
* Modify decompyle_test.sh
* Modify .gitignore
* Fix the logic error by placing the assignment inside the tuple
* Re-adding test files
* Fixing redundant brackets
* Add support for swap bytecode and simple WITH_EXCEPT_START bytecode support.
* Clean up some formatting issues
---------
Co-authored-by: Michael Hansen <zrax0111@gmail.com >
2024-06-23 11:59:30 -07:00
Alex
8367a8e0ab
Return back a fix for Centos6/7 compilation issues not related to shadow ones
2024-03-12 22:58:43 +02:00
Alex
68a697dfc1
Revert "Fix for Centos6/7 compilation issues"
...
This reverts commit f80b662f77
.
2024-03-12 22:38:03 +02:00
Alex
f80b662f77
Fix for Centos6/7 compilation issues
2024-03-08 14:27:36 +02:00
Michael Hansen
1f30136e21
Merge branch 'master' of github.com:ncaklovic/pycdc
2024-02-28 15:43:58 -08:00
Michael Hansen
8e48bf2194
Merge pull request #462 from greenozon/master
...
Aligning some opcodes for Python 3.11, 3.12: LOAD_GLOBAL, LOAD_ATTR
2024-02-28 15:40:02 -08:00
ncaklovic
32c1ca10bb
Update ASTree.cpp
...
Co-authored-by: Michael Hansen <zrax0111@gmail.com >
2024-02-28 12:34:32 +01:00
Alex
035f963f3d
Aligning some opcodes for Python 3.11, 3.12: LOAD_GLOBAL, LOAD_ATTR
2024-02-27 23:12:03 +02:00
MrDakik
e8be65b2f3
add support for WITH_CLEANUP_START
,WITH_CLEANUP_FINISH
2024-02-27 10:54:07 +02:00
MrDakik
00d4b02d1e
Added support for LOAD_CLASSDEREF
...
The opcode itself is exactly the same as `LOAD_DEREF`
1) The problem is when the class is a closure (e.g. defined inside a function body) then there is a `BUILD_TUPLE` after the `LOAD_BUILD_CLASS` which makes problems.
2) There is another problem which makes the `code->name()` of the class to be part of the function locals. (e.g. `func.<locals>.my_class` instead of `my_class`) which makes the check `srcString->isEqual(code->name().cast<PycObject>())` be invalid.
2024-02-26 16:52:31 +02:00
Michael Hansen
787090e0a5
Merge github.com:kako57/pycdc
2024-02-14 21:31:17 -08:00
Nenad Čaklović
5f225caf52
LOAD_ATTR operand changes in 3.12
2024-01-05 21:32:53 +01:00
Nenad Čaklović
830dd13228
COMPARE_OP operand changes in 3.12
2024-01-04 23:49:07 +01:00
Michael Hansen
9c00554efb
Add basic support for some Instrumented opcodes which should match their
...
non-instrumented versions.
2023-11-18 17:59:24 -08:00
Jack
5936412a6f
fix #396 Unsupported Node type: 27 (#397)
...
* fix #396 Unsupported Node type: 27
* Add test file
* Modify a little comment
* Modify the test pyc file name
* Delete redundant pyc files
* retest
* Add newline at EOF
---------
Co-authored-by: Michael Hansen <zrax0111@gmail.com >
2023-11-11 10:22:49 -08:00
Michael Hansen
9b384ad1fa
Add basic bytecode and disassembly support for Python 3.12
2023-11-09 12:17:03 -08:00
TheHellTower
b32f231e33
Add GEN_START
support (#392)
...
* Apparently should be enough ?
* Add `GEN_START` test
* Add `GEN_START` test compiled
* Add `GEN_START` test tokenized
* Smaller test since only POP is needed.
* Smaller test since only POP is needed.
* Smaller test since only POP is needed.
* dos2unix
2023-10-20 13:43:14 -07:00
MrDakik
da859f5a2b
Added support for opcodes: (in DESC)
...
`KW_NAMES`
`POP_JUMP_FORWARD_IF_FALSE`
`POP_JUMP_FORWARD_IF_TRUE`
`LOAD_GLOBAL`
2023-07-18 18:33:03 +03:00
Michael Hansen
753d42d94a
Simplify string object printing to reduce code duplication
2023-06-09 09:09:03 -07:00
Michael Hansen
bf3599c87a
Move some output stream parameters forward.
...
This allows us to avoid removing parameter defaults for these functions.
2023-06-05 13:56:25 -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
0710ea07f1
Fix missing includes, which fixes build on GCC 13+
2023-05-07 13:28:10 -07: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