# UserReadWriteMemory
Reading and writing to the memory of any process.
---
## License
[MIT](https://choosealicense.com/licenses/mit/)
---
## Installation
``pip install UserReadWriteMemory``
### Requirements
Python 3.4+<br />
OS: Windows 7+<br />
---
## Documentation
## `Process`
Constructor for the Process class.
#### Arguments:
• name (str)(optional): The name of the executable file for the specified process.
• pid (int)(optional): The process ID.
• handle (int)(optional): The process handle.
• error_code (str)(optional): The error code from a process failure.
#### Returns:
• Process: Process object
---
## `Process.open`
Open the process with the Query, Operation, Read and Write permissions and return the process handle.
#### Returns:
• bool: True if the handle exists, False if it doesn't.
---
## `Process.close`
Closes the handle of the process.
#### Returns:
• int: The last error code from the result after an attempt to close the handle.
---
## `Process.get_all_access_handle`
Gets full access handle of the process.
#### Returns:
• any: handle of the process
---
## `Process.get_last_error`
Get the last error code.
#### Returns:
• int: The last error code.
---
## `Process.get_handle`
Get the handle of the process.
#### Returns:
• int: The process handle
---
## `Process.get_pointer`
Get the pointer of a given address.
#### Arguments:
• lp_base_address (hex): The address from where you want to get the pointer.
• offsets List[hex](optional): a list of offets.
#### Returns:
• int: The pointer of a give address.
---
## `Process.get_modules`
Get the process's modules.
#### Returns:
• List[int]: A list of the process's modules adresses in decimal.
• List: An empty list if the process is not open.
---
## `Process.get_base_address`
Get the base address of the process.
#### Returns:
• hex: The base address of the process.
---
## `Process.thread`
Create a remote thread to the address.
#### Arguments:
• address (int): The address used to create a thread.
---
## `Process.read`
Read data from the process's memory.
#### Arguments:
• lp_base_address (int): The process's pointer.
#### Returns:
• any: The data from the process's memory if succeed if not raises an exception.
---
## `Process.read_string`
Read data from the process's memory.
#### Arguments:
• lp_base_address (int): The process's pointer.
• length (int): The length of string
#### Returns:
• any: The data from the process's memory if succeed if not raises an exception.
---
## `Process.read_byte`
Read data from the process's memory.
#### Arguments:
• lp_base_address (int): The process's pointer {don't use offsets}
• length (int)(optional): The length of the bytes to read
#### Returns:
• List[hex]: The data from the process's memory if succeed if not raises an exception.
---
## `Process.write`
Write data to the process's memory.
#### Arguments:
• lp_base_address (int): The process's pointer {don't use offsets}
• value (int): The data to be written to the process's memory
#### Returns:
• bool: It returns True if succeed if not it raises an exception.
---
## `Process.write_string`
Write data to the process's memory.
#### Arguments:
• lp_base_address (int): The process' pointer.
• string (str): The string to be written to the process's memory
#### Returns:
• bool: It returns True if succeed if not it raises an exception.
---
## `Process.write_byte`
Write data to the process's memory.
#### Arguments:
• lp_base_address (int): The process' pointer {don't use offsets}.
• write_bytes (List[hex]): The byte(s) to be written to the process's memor
#### Returns:
• bool: It returns True if succeed if not it raises an exception.
---
## `ReadWriteMemory`
Constructor for the ReadWriteMemory class.
#### Returns:
• ReadWriteMemory: ReadWriteMemory object
---
## `ReadWriteMemory.get_process_by_name`
Get the process by the process executable's name and return a Process object.
#### Arguments:
• process_name (str): The name of the executable file for the specified process.
#### Returns:
• "Process": A Process object containing the information from the requested Process.
---
## `ReadWriteMemory.get_process_by_id`
Get the process by the process ID and return a Process object.
#### Arguments:
• process_id (int): The process ID.
#### Returns:
• "Process": A Process object containing the information from the requested Process.
---
## `ReadWriteMemory.enumerate_processes`
Get the list of running processes ID's from the current system.
#### Returns:
• List: A list of processes ID's
---
#### Windows API’s in this module:<br />
[EnumProcesses](https://docs.microsoft.com/en-us/windows/win32/api/psapi/nf-psapi-enumprocesses)<br />
[GetProcessImageFileName](https://docs.microsoft.com/en-us/windows/win32/api/psapi/nf-psapi-getprocessimagefilenamea)<br />
[OpenProcess](https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-openprocess)<br />
[Process Security and Access Rights](https://docs.microsoft.com/en-us/windows/win32/procthread/process-security-and-access-rights)<br />
[CloseHandle](https://docs.microsoft.com/en-us/windows/win32/api/handleapi/nf-handleapi-closehandle)<br />
[GetLastError](https://docs.microsoft.com/en-us/windows/win32/api/errhandlingapi/nf-errhandlingapi-getlasterror)<br />
[ReadProcessMemory](https://docs.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-readprocessmemory)<br />
[WriteProcessMemory](https://docs.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-writeprocessmemory)<br />
Raw data
{
"_id": null,
"home_page": "https://github.com/User00092/UserReadWriteMemory/tree/1.2.1",
"name": "UserReadWriteMemory",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.4.0",
"maintainer_email": "",
"keywords": "Read Memory,Write Memory,Process memory,Hacking,UserReadWriteMemory",
"author": "User0092",
"author_email": "unknownuser0092@protonmail.com",
"download_url": "https://files.pythonhosted.org/packages/be/69/b86889cf99235b6a85b60b405c61004d3e2bb18d924b24943eead1a8dee1/UserReadWriteMemory-1.2.1.tar.gz",
"platform": null,
"description": "\r\n# UserReadWriteMemory\r\n\r\n\r\n\r\nReading and writing to the memory of any process.\r\n\r\n\r\n\r\n---\r\n\r\n\r\n\r\n## License\r\n\r\n\r\n\r\n[MIT](https://choosealicense.com/licenses/mit/)\r\n\r\n\r\n\r\n---\r\n\r\n\r\n\r\n## Installation\r\n\r\n``pip install UserReadWriteMemory``\r\n\r\n\r\n\r\n### Requirements\r\n\r\nPython 3.4+<br />\r\n\r\nOS: Windows 7+<br />\r\n\r\n\r\n\r\n---\r\n\r\n\r\n\r\n## Documentation\r\n\r\n\r\n\r\n## `Process`\r\n\r\nConstructor for the Process class.\r\n\r\n#### Arguments:\r\n\r\n \u2022 name (str)(optional): The name of the executable file for the specified process.\r\n\r\n \u2022 pid (int)(optional): The process ID.\r\n\r\n \u2022 handle (int)(optional): The process handle.\r\n\r\n \u2022 error_code (str)(optional): The error code from a process failure.\r\n\r\n#### Returns:\r\n\r\n \u2022 Process: Process object\r\n\r\n---\r\n\r\n## `Process.open`\r\n\r\nOpen the process with the Query, Operation, Read and Write permissions and return the process handle.\r\n\r\n#### Returns:\r\n\r\n \u2022 bool: True if the handle exists, False if it doesn't.\r\n\r\n---\r\n\r\n## `Process.close`\r\n\r\nCloses the handle of the process.\r\n\r\n#### Returns:\r\n\r\n \u2022 int: The last error code from the result after an attempt to close the handle.\r\n\r\n---\r\n\r\n## `Process.get_all_access_handle`\r\n\r\nGets full access handle of the process.\r\n\r\n#### Returns:\r\n\r\n \u2022 any: handle of the process\r\n\r\n---\r\n\r\n## `Process.get_last_error`\r\n\r\nGet the last error code.\r\n\r\n#### Returns:\r\n\r\n \u2022 int: The last error code.\r\n\r\n---\r\n\r\n## `Process.get_handle`\r\n\r\nGet the handle of the process.\r\n\r\n#### Returns:\r\n\r\n \u2022 int: The process handle\r\n\r\n---\r\n\r\n## `Process.get_pointer`\r\n\r\nGet the pointer of a given address.\r\n\r\n#### Arguments:\r\n\r\n \u2022 lp_base_address (hex): The address from where you want to get the pointer.\r\n\r\n \u2022 offsets List[hex](optional): a list of offets.\r\n\r\n#### Returns:\r\n\r\n \u2022 int: The pointer of a give address.\r\n\r\n---\r\n\r\n## `Process.get_modules`\r\n\r\nGet the process's modules.\r\n\r\n#### Returns:\r\n\r\n \u2022 List[int]: A list of the process's modules adresses in decimal.\r\n\r\n \u2022 List: An empty list if the process is not open.\r\n\r\n---\r\n\r\n## `Process.get_base_address`\r\n\r\nGet the base address of the process.\r\n\r\n#### Returns:\r\n\r\n \u2022 hex: The base address of the process.\r\n\r\n---\r\n\r\n## `Process.thread`\r\n\r\nCreate a remote thread to the address.\r\n\r\n#### Arguments:\r\n\r\n \u2022 address (int): The address used to create a thread.\r\n\r\n---\r\n\r\n## `Process.read`\r\n\r\nRead data from the process's memory.\r\n\r\n#### Arguments:\r\n\r\n \u2022 lp_base_address (int): The process's pointer.\r\n\r\n#### Returns:\r\n\r\n \u2022 any: The data from the process's memory if succeed if not raises an exception.\r\n\r\n---\r\n\r\n## `Process.read_string`\r\n\r\nRead data from the process's memory.\r\n\r\n#### Arguments:\r\n\r\n \u2022 lp_base_address (int): The process's pointer.\r\n\r\n \u2022 length (int): The length of string\r\n\r\n#### Returns:\r\n\r\n \u2022 any: The data from the process's memory if succeed if not raises an exception.\r\n\r\n---\r\n\r\n## `Process.read_byte`\r\n\r\nRead data from the process's memory.\r\n\r\n#### Arguments:\r\n\r\n \u2022 lp_base_address (int): The process's pointer {don't use offsets}\r\n\r\n \u2022 length (int)(optional): The length of the bytes to read\r\n\r\n#### Returns:\r\n\r\n \u2022 List[hex]: The data from the process's memory if succeed if not raises an exception.\r\n\r\n---\r\n\r\n## `Process.write`\r\n\r\nWrite data to the process's memory.\r\n\r\n#### Arguments:\r\n\r\n \u2022 lp_base_address (int): The process's pointer {don't use offsets}\r\n\r\n \u2022 value (int): The data to be written to the process's memory\r\n\r\n#### Returns:\r\n\r\n \u2022 bool: It returns True if succeed if not it raises an exception.\r\n\r\n---\r\n\r\n## `Process.write_string`\r\n\r\nWrite data to the process's memory.\r\n\r\n#### Arguments:\r\n\r\n \u2022 lp_base_address (int): The process' pointer.\r\n\r\n \u2022 string (str): The string to be written to the process's memory\r\n\r\n#### Returns:\r\n\r\n \u2022 bool: It returns True if succeed if not it raises an exception.\r\n\r\n---\r\n\r\n## `Process.write_byte`\r\n\r\nWrite data to the process's memory.\r\n\r\n#### Arguments:\r\n\r\n \u2022 lp_base_address (int): The process' pointer {don't use offsets}.\r\n\r\n \u2022 write_bytes (List[hex]): The byte(s) to be written to the process's memor\r\n\r\n#### Returns:\r\n\r\n \u2022 bool: It returns True if succeed if not it raises an exception.\r\n\r\n---\r\n\r\n## `ReadWriteMemory`\r\n\r\nConstructor for the ReadWriteMemory class.\r\n\r\n#### Returns:\r\n\r\n \u2022 ReadWriteMemory: ReadWriteMemory object\r\n\r\n---\r\n\r\n## `ReadWriteMemory.get_process_by_name`\r\n\r\nGet the process by the process executable's name and return a Process object.\r\n\r\n#### Arguments:\r\n\r\n \u2022 process_name (str): The name of the executable file for the specified process.\r\n\r\n#### Returns:\r\n\r\n \u2022 \"Process\": A Process object containing the information from the requested Process.\r\n\r\n---\r\n\r\n## `ReadWriteMemory.get_process_by_id`\r\n\r\nGet the process by the process ID and return a Process object.\r\n\r\n#### Arguments:\r\n\r\n \u2022 process_id (int): The process ID.\r\n\r\n#### Returns:\r\n\r\n \u2022 \"Process\": A Process object containing the information from the requested Process.\r\n\r\n---\r\n\r\n## `ReadWriteMemory.enumerate_processes`\r\n\r\nGet the list of running processes ID's from the current system.\r\n\r\n#### Returns:\r\n\r\n \u2022 List: A list of processes ID's\r\n\r\n---\r\n\r\n#### Windows API\u2019s in this module:<br />\r\n\r\n[EnumProcesses](https://docs.microsoft.com/en-us/windows/win32/api/psapi/nf-psapi-enumprocesses)<br />\r\n\r\n[GetProcessImageFileName](https://docs.microsoft.com/en-us/windows/win32/api/psapi/nf-psapi-getprocessimagefilenamea)<br />\r\n\r\n[OpenProcess](https://docs.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-openprocess)<br />\r\n\r\n[Process Security and Access Rights](https://docs.microsoft.com/en-us/windows/win32/procthread/process-security-and-access-rights)<br />\r\n\r\n[CloseHandle](https://docs.microsoft.com/en-us/windows/win32/api/handleapi/nf-handleapi-closehandle)<br />\r\n\r\n[GetLastError](https://docs.microsoft.com/en-us/windows/win32/api/errhandlingapi/nf-errhandlingapi-getlasterror)<br />\r\n\r\n[ReadProcessMemory](https://docs.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-readprocessmemory)<br />\r\n\r\n[WriteProcessMemory](https://docs.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-writeprocessmemory)<br />\r\n\r\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Reading and writing to the memory of any process.",
"version": "1.2.1",
"split_keywords": [
"read memory",
"write memory",
"process memory",
"hacking",
"userreadwritememory"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f5afaa2f7e247427c00e1dcb99cbe3d0319b1b4f08e6696ea82db0283e6685dc",
"md5": "32c95798052ebfa5a11c1ca49450446b",
"sha256": "3a17211f404848dafed0488c250b9b8bcf03a84748a2c3f1ac429bfcb584ce3c"
},
"downloads": -1,
"filename": "UserReadWriteMemory-1.2.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "32c95798052ebfa5a11c1ca49450446b",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.4.0",
"size": 5674,
"upload_time": "2023-04-17T21:37:42",
"upload_time_iso_8601": "2023-04-17T21:37:42.310968Z",
"url": "https://files.pythonhosted.org/packages/f5/af/aa2f7e247427c00e1dcb99cbe3d0319b1b4f08e6696ea82db0283e6685dc/UserReadWriteMemory-1.2.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "be69b86889cf99235b6a85b60b405c61004d3e2bb18d924b24943eead1a8dee1",
"md5": "21ab8b843fe809d6a198b26c5728be32",
"sha256": "00459ccb98a04230dcf49b334262bf4314f837995db1461ea0a685e5bfa06940"
},
"downloads": -1,
"filename": "UserReadWriteMemory-1.2.1.tar.gz",
"has_sig": false,
"md5_digest": "21ab8b843fe809d6a198b26c5728be32",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.4.0",
"size": 6296,
"upload_time": "2023-04-17T21:37:43",
"upload_time_iso_8601": "2023-04-17T21:37:43.671979Z",
"url": "https://files.pythonhosted.org/packages/be/69/b86889cf99235b6a85b60b405c61004d3e2bb18d924b24943eead1a8dee1/UserReadWriteMemory-1.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-04-17 21:37:43",
"github": false,
"gitlab": false,
"bitbucket": false,
"lcname": "userreadwritememory"
}