Metadata-Version: 2.1
Name: memobj
Version: 0.14.1
Summary: A library for defining objects in memory
Home-page: https://github.com/StarrFox/memobj
License: MIT
Author: StarrFox
Author-email: starrfox6312@gmail.com
Requires-Python: >=3.11,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Dist: iced-x86 (>=1.21.0,<2.0.0)
Requires-Dist: pefile (==2021.9.3) ; sys_platform == "win32"
Requires-Dist: regex (>=2024.11.6,<2025.0.0)
Project-URL: Repository, https://github.com/StarrFox/memobj
Description-Content-Type: text/markdown

# memobj

A library for defining objects in memory

## installing

`pip install memobj`

## example

```python
import os

from memobj import WindowsProcess, MemoryObject
from memobj.property import Signed4


class PythonIntObject(MemoryObject):
    # note: this offset might be different in future python versions
    value: int = Signed4(24)


process = WindowsProcess.from_id(os.getpid())

# id(x) gives the address of the object in cpython
my_int = PythonIntObject(address=id(1), process=process)

# prints 1
print(my_int.value)
```

## support

discord: <https://discord.gg/wcftyYm6qe>

