Picklock
A terminal client for PyMemoryEditor. Read, write and scan the memory of a running process from any shell, on Windows, Linux and macOS.
pip install picklock
picklock
One dependency, pure Python, so it installs on a bare server as readily as on a desktop.
Documentation
Full documentation lives at picklock.readthedocs.io — the scan cycle, address expressions, pointer chains, scripting, platform permissions, and every command's arguments.
| Quick start | Attach to a process, find a value, change it. |
| Scanning | The first-scan/refine cycle, AOB and regex scans. |
| Addresses | module+offset, dereferences, and #N scan rows. |
| Reading and writing | Value types, typed reads and writes, hex views and watches. |
| Pointers | Pointer scans, and the workflow that makes a path survive a restart. |
| Scripting | Non-interactive use, exit codes, JSON export. |
| Command reference | Every command and flag, generated from the code. |
| Permissions | What each OS wants before it lets you attach. |
| Troubleshooting | Scans that find nothing, chains that stop working. |
The same help is at the prompt: help lists the namespaces, typing a namespace
lists its commands, and help <command> prints one command's arguments —
generated from the parser that runs it, so the two cannot disagree.
Development
git clone https://github.com/JeanExtreme002/Picklock
cd Picklock
make install-dev
make pre-commit # lint, type-check, tests
Every command is covered end-to-end against a real process — the test process itself, so the suite needs no privileges and no second program to launch.
🤝 Contributing
Pull requests, bug reports and feature ideas are very welcome. Read CONTRIBUTING.md for the development setup, test layout and the small set of platform-specific quirks to be aware of.
Related
Every read, write, scan and pointer walk is performed by PyMemoryEditor, the cross-platform memory library Picklock is built on. If you find Picklock useful, star that one too — it is what makes any of this work on three operating systems at once.
License
Released under the MIT License — free for personal and commercial use.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file picklock-0.1.0.tar.gz.
File metadata
- Download URL: picklock-0.1.0.tar.gz
- Upload date:
- Size: 110.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0dcc85ba87301df609c45526835b76ba6636c3f4c7259b83ab397bbe4d884f90
|
|
| MD5 |
da1e6f79e11b7031c6d5d9657f973833
|
|
| BLAKE2b-256 |
b21a31d8992f1f66a816a359c400321a2328cbce918e1a8e0cc2ecc11efccc5e
|
Provenance
The following attestation bundles were made for picklock-0.1.0.tar.gz:
Publisher:
publish.yml on JeanExtreme002/Picklock
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
picklock-0.1.0.tar.gz -
Subject digest:
0dcc85ba87301df609c45526835b76ba6636c3f4c7259b83ab397bbe4d884f90 - Sigstore transparency entry: 2655588543
- Sigstore integration time:
-
Permalink:
JeanExtreme002/Picklock@1024bb6c6e886c2b49de538b9ede6e804c347375 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/JeanExtreme002
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1024bb6c6e886c2b49de538b9ede6e804c347375 -
Trigger Event:
release
-
Statement type:
File details
Details for the file picklock-0.1.0-py3-none-any.whl.
File metadata
- Download URL: picklock-0.1.0-py3-none-any.whl
- Upload date:
- Size: 85.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa58faca2e0cf70d1643fbd2fb3e636f3a6276ebcdb64cf7e2be2135fbd0a6e2
|
|
| MD5 |
45c0f75115343a077dfa6cd05ff69a0b
|
|
| BLAKE2b-256 |
f766bd4a8ffe6f0ff86ac8885bfb2f102508e669deaea782aa0a59da4bfb58fd
|
Provenance
The following attestation bundles were made for picklock-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on JeanExtreme002/Picklock
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
picklock-0.1.0-py3-none-any.whl -
Subject digest:
fa58faca2e0cf70d1643fbd2fb3e636f3a6276ebcdb64cf7e2be2135fbd0a6e2 - Sigstore transparency entry: 2655588568
- Sigstore integration time:
-
Permalink:
JeanExtreme002/Picklock@1024bb6c6e886c2b49de538b9ede6e804c347375 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/JeanExtreme002
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1024bb6c6e886c2b49de538b9ede6e804c347375 -
Trigger Event:
release
-
Statement type: