# memflow-py
[Python] support for [Memflow], a physical memory introspection framework written in [Rust].
## Installation
1. Install python package: `pip install memflow`
2. Install appropriate memflow components (see [memflowup]).
## Example
```py
from memflow import *
class COFFHeader(Structure):
_fields_ = [
("_pad0x0", c_byte * 6),
("sections", c_short),
("timestamp", c_uint32),
]
inventory = Inventory()
os = inventory.create_os("native")
process = os.process_from_name("CalculatorApp.exe")
module = process.module_by_name("CalculatorApp.dll")
header = process.read(module.base + 0x40, COFFHeader)
print(header)
```
## Building from source
### Prerequisites
- Rust ([Compilation support](https://github.com/memflow/memflow#compilation-support))
- Python (3.7 and up)
- [python virtual environment](https://docs.python.org/3/tutorial/venv.html)
### Steps
1. Fetch repository: `git clone https://github.com/memflow/memflow-py`
2. Install maturin package: `pip install maturin`
3. Install dev packages: `pip install '.[dev]'`
4. Create virtualenv `virtualenv .`
5. Active virtualenv `source ./bin/activate`
6. Build wheels and install package: `maturin develop`
7. Repeat step 4 when you make changes to source.
7. Install pytest `pip install pytest`
8. Test your changes: `python -m pytest`
For more information on building please see [Maturin].
[Memflow]: https://github.com/memflow/memflow
[memflowup]: https://github.com/memflow/memflowup
[Rust]: https://rust-lang.org/
[Python]: https://python.org/
[Maturin]: https://github.com/PyO3/maturin
Raw data
{
"_id": null,
"home_page": null,
"name": "memflow",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": "memflow,python",
"author": "Dan Killinger <git@dank.anonaddy.com>",
"author_email": "Dan Killinger <git@dank.anonaddy.com>",
"download_url": null,
"platform": null,
"description": "# memflow-py\n\n[Python] support for [Memflow], a physical memory introspection framework written in [Rust].\n\n## Installation\n\n1. Install python package: `pip install memflow`\n2. Install appropriate memflow components (see [memflowup]).\n\n## Example\n\n```py\nfrom memflow import *\n\nclass COFFHeader(Structure):\n _fields_ = [\n (\"_pad0x0\", c_byte * 6),\n (\"sections\", c_short),\n (\"timestamp\", c_uint32),\n ]\n\ninventory = Inventory()\nos = inventory.create_os(\"native\")\nprocess = os.process_from_name(\"CalculatorApp.exe\")\nmodule = process.module_by_name(\"CalculatorApp.dll\")\nheader = process.read(module.base + 0x40, COFFHeader)\nprint(header)\n```\n\n## Building from source\n\n### Prerequisites\n\n- Rust ([Compilation support](https://github.com/memflow/memflow#compilation-support))\n- Python (3.7 and up)\n- [python virtual environment](https://docs.python.org/3/tutorial/venv.html)\n\n### Steps\n\n1. Fetch repository: `git clone https://github.com/memflow/memflow-py`\n2. Install maturin package: `pip install maturin`\n3. Install dev packages: `pip install '.[dev]'`\n4. Create virtualenv `virtualenv .`\n5. Active virtualenv `source ./bin/activate`\n6. Build wheels and install package: `maturin develop`\n7. Repeat step 4 when you make changes to source.\n7. Install pytest `pip install pytest`\n8. Test your changes: `python -m pytest`\n\nFor more information on building please see [Maturin].\n\n[Memflow]: https://github.com/memflow/memflow\n[memflowup]: https://github.com/memflow/memflowup\n[Rust]: https://rust-lang.org/\n[Python]: https://python.org/\n[Maturin]: https://github.com/PyO3/maturin\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Physical memory introspection framework",
"version": "0.2.0",
"project_urls": {
"Bug Tracker": "https://github.com/memflow/memflow-py/issues",
"Homepage": "https://github.com/memflow/memflow-py"
},
"split_keywords": [
"memflow",
"python"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "cebf1a939212ad9916a8e99dfcfedf5e5a4170bf07e16a8a898fba9ad57067b4",
"md5": "0ca55d21437d2661c809a9f918df6ddb",
"sha256": "8e96d60aa8fea6fb1812b9bb3f1578718790ac1a4cdee94aa229ded839575bb7"
},
"downloads": -1,
"filename": "memflow-0.2.0-cp37-abi3-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "0ca55d21437d2661c809a9f918df6ddb",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 837402,
"upload_time": "2023-12-28T22:41:33",
"upload_time_iso_8601": "2023-12-28T22:41:33.053309Z",
"url": "https://files.pythonhosted.org/packages/ce/bf/1a939212ad9916a8e99dfcfedf5e5a4170bf07e16a8a898fba9ad57067b4/memflow-0.2.0-cp37-abi3-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f29ab108868d45c27eb655ebe8b0045edb008afa9c906c5ae6a23caa850e0dd4",
"md5": "038d3c03c6cb03e9feec091ea4f75117",
"sha256": "205cd62b72945c126eb52337d06f7912db2cbd7b86a12f15ca9538ea64303c6c"
},
"downloads": -1,
"filename": "memflow-0.2.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "038d3c03c6cb03e9feec091ea4f75117",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 1250570,
"upload_time": "2023-12-28T22:41:34",
"upload_time_iso_8601": "2023-12-28T22:41:34.512484Z",
"url": "https://files.pythonhosted.org/packages/f2/9a/b108868d45c27eb655ebe8b0045edb008afa9c906c5ae6a23caa850e0dd4/memflow-0.2.0-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "de7bbe7f240da303528cc6967729524696f41f9c7ad72a013aac63af7785880f",
"md5": "81cecef51d0df2774c60ec54fe8b65e2",
"sha256": "9e25cff9447d283b05f9fb60f324c7ea7ea1162d0f84c98394d207f3de628146"
},
"downloads": -1,
"filename": "memflow-0.2.0-cp37-abi3-win_amd64.whl",
"has_sig": false,
"md5_digest": "81cecef51d0df2774c60ec54fe8b65e2",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 623642,
"upload_time": "2023-12-28T22:41:36",
"upload_time_iso_8601": "2023-12-28T22:41:36.485374Z",
"url": "https://files.pythonhosted.org/packages/de/7b/be7f240da303528cc6967729524696f41f9c7ad72a013aac63af7785880f/memflow-0.2.0-cp37-abi3-win_amd64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-12-28 22:41:33",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "memflow",
"github_project": "memflow-py",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "memflow"
}