Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Svenskithesource/pySpy
dnSpy but for Python
https://github.com/Svenskithesource/pySpy
bytecode-viewer disassembler
Last synced: 3 months ago
JSON representation
dnSpy but for Python
- Host: GitHub
- URL: https://github.com/Svenskithesource/pySpy
- Owner: Svenskithesource
- License: gpl-3.0
- Created: 2022-10-02T18:10:04.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-12-20T14:18:44.000Z (about 2 years ago)
- Last Synced: 2024-08-02T14:07:54.278Z (6 months ago)
- Topics: bytecode-viewer, disassembler
- Language: Python
- Homepage:
- Size: 236 KB
- Stars: 70
- Watchers: 5
- Forks: 13
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-python-re - pySpy - This tool aims to make viewing and editing bytecode easier. Only works properly for version 3.9. (Bytecode / Editors)
README
# pySpy
pySpy attempts to re-create the experience of dnSpy, but for Python bytecode.
You can easily view and edit the bytecode, names, and constants. All with a relatively intuitive GUI.
## Version support
Currently, the editor doesn't aim for cross-version support. You can only edit the bytecode of the version that you're running the program on.
It uses [dearpygui](https://github.com/hoffstadt/DearPyGui) for the GUI, which can only run on Python versions 3.7 - 3.10It uses an internal module to edit the bytecode, which handles all the converting from and to native code objects. It also ensures all jump arguments are up-to-date.
## How to use
`pip install -r requirements.txt``python3 pyspy`
## Missing features
There are a lot of opportunities to make this better, for example:
- A debugger
- Create new code objects
- ~~Add constants~~ Added
- ~~Add names~~ Added
- Add new instructions
- Plugin supportIn other words, contributing is appreciated.
## Showcase
![image](https://user-images.githubusercontent.com/40274381/196053131-55e755da-ac18-4daa-8546-2c21a16491e5.png)## License
Using the [GNU General Public License v3.0](https://github.com/Svenskithesource/pySpy/blob/main/LICENSE) license.