Skip to content

Replace Jython with JPype#19

Merged
twizmwazin merged 18 commits intomasterfrom
refactor/jpype
Feb 5, 2026
Merged

Replace Jython with JPype#19
twizmwazin merged 18 commits intomasterfrom
refactor/jpype

Conversation

@twizmwazin
Copy link
Member

@twizmwazin twizmwazin commented Jan 9, 2024

This PR replaces the Jython and IPC layers of Pysoot with JPype. This fixes wheel support, windows support, Mac support, non-x86 support, removes Jython and Python 2 code. I've also upgraded the IR itself to use dataclasses (with types!) which I found made things easier to debug. Actual interface changes should be minimal, angr's test_java.py passes locally without any changes.

@twizmwazin twizmwazin changed the title Replace Jython with Joyce Replace Jython with Jpype Jan 9, 2024
@twizmwazin twizmwazin changed the title Replace Jython with Jpype Replace Jython with JPype Jan 9, 2024
@twizmwazin
Copy link
Member Author

So this now works, angr tests pass locally, no changes! However there seem to be some stability issues on the JPype end of things. It seems to segfault frequently, based on timing alone I suspect that it is something to do with badly deallocating things.

@twizmwazin twizmwazin force-pushed the refactor/jpype branch 3 times, most recently from a3123a8 to 98d5b92 Compare January 11, 2024 23:26
@twizmwazin twizmwazin force-pushed the refactor/jpype branch 2 times, most recently from c86fba3 to 35d4b64 Compare January 12, 2024 00:01
@rhelmot
Copy link
Member

rhelmot commented Jul 14, 2025

Corpus decompilation diffs can be found at angr/dec-snapshots@master...angr/pysoot_19

@angr-bot
Copy link
Member

angr-bot commented Feb 5, 2026

Corpus decompilation diffs can be found at angr/dec-snapshots@master...angr/pysoot_19

@twizmwazin twizmwazin merged commit 9da784f into master Feb 5, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants