{"id":21523574,"url":"https://github.com/viniciuslawliet/process-memory-writer","last_synced_at":"2026-05-14T13:41:13.016Z","repository":{"id":264370190,"uuid":"893166428","full_name":"ViniciusLawliet/Process-Memory-Writer","owner":"ViniciusLawliet","description":"A Windows utility for writing memory values of external processes. Designed for advanced use cases such as debugging, game modding, or real-time application control.","archived":false,"fork":false,"pushed_at":"2024-11-23T18:36:48.000Z","size":6,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-24T05:09:42.426Z","etag":null,"topics":["c","memory-editor","offsets","operating-system","process","windows"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ViniciusLawliet.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-23T17:54:24.000Z","updated_at":"2024-11-23T18:43:55.000Z","dependencies_parsed_at":"2024-11-23T19:37:35.439Z","dependency_job_id":null,"html_url":"https://github.com/ViniciusLawliet/Process-Memory-Writer","commit_stats":null,"previous_names":["viniciuslawliet/process-memory-writer"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ViniciusLawliet%2FProcess-Memory-Writer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ViniciusLawliet%2FProcess-Memory-Writer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ViniciusLawliet%2FProcess-Memory-Writer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ViniciusLawliet%2FProcess-Memory-Writer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ViniciusLawliet","download_url":"https://codeload.github.com/ViniciusLawliet/Process-Memory-Writer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244081770,"owners_count":20395147,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","memory-editor","offsets","operating-system","process","windows"],"created_at":"2024-11-24T01:18:35.187Z","updated_at":"2026-05-14T13:41:11.612Z","avatar_url":"https://github.com/ViniciusLawliet.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# **Process Memory Writer**\n\nA tool for manipulating memory of external processes in Windows. Designed for debugging, game modding, or real-time application control, this utility enables you to write values in process memory safely and efficiently.\n\n---\n\n## **Features**\n- Retrieve process IDs by their name.\n- Write values to memory with support for multiple data types.\n- Handles runtime type conversion for seamless integration with user input.\n\n---\n\n## **Requirements**\n- GCC (MinGW recommended for Windows).\n- Windows operating system.\n\n---\n\n## **Compilation**\nTo compile the project, use the following command:\n\n```bash\ngcc memory_editor.c types.c -o memory_editor\n```\n\n---\n\n## **Usage**\n```bash\nmemory_editor.exe \u003cprocess_name\u003e \u003cmodule_name\u003e \u003chex_offset\u003e \u003ctype\u003e \u003cvalue\u003e\n```\n\n### **Arguments**\n- **process_name**: Name of the process (e.g., `ePSXe.exe`).\n- **module_name**: Name of the module to locate (e.g., `ePSXe.exe`).\n- **hex_offset**: Offset in hexadecimal to calculate the target address (e.g., `AF5424`).\n- **type**: Data type of the value to write. Supported types (see the table below).\n- **value**: The value to write to the specified address.\n\n---\n\n### **Supported Data Types**\n\n| **Type**         | **Description**                                         | **Bytes**         |\n|-------------------|---------------------------------------------------------|-------------------|\n| `\"Binary\"`        | Used for binary values (0 or 1).                        | 1 byte            |\n| `\"Byte\"`          | Used for small integers or single bytes.                | 1 byte            |\n| `\"2 Bytes\"`       | Used for short integers.                                | 2 bytes           |\n| `\"4 Bytes\"`       | Used for standard integers.                             | 4 bytes           |\n| `\"8 Bytes\"`       | Used for long integers or large values.                 | 8 bytes           |\n| `\"Float\"`         | Used for single-precision floating-point numbers.       | 4 bytes           |\n| `\"Double\"`        | Used for double-precision floating-point numbers.       | 8 bytes           |\n| `\"String\"`        | Used for text values (variable size).                   | Variable size     |\n| `\"Array of byte\"` | Used for arrays of raw bytes (variable size).           | Variable size     |\n\n---\n\n### **Example Command**\n```bash\n.\\memory_editor.exe ePSXe.exe ePSXe.exe AF5424 \"4 Bytes\" 16\n```\nThis command writes the integer value `16` to the memory address `AF5424` of the `ePSXe.exe` module.\n\n---\n\n## **How It Works**\n1. Retrieves the process ID by name.\n2. Locates the base address of the specified module.\n3. Calculates the target address using the base address and given offset.\n4. Converts the provided value to the specified data type.\n5. Writes the value to the calculated memory address.\n\n---\n\n## **Warnings**\n- Ensure you have the necessary permissions to manipulate process memory.\n- Writing invalid values or to incorrect memory addresses can lead to application crashes or undefined behavior.\n\n---\n\n## **Author**\n**Vinicius Lawliet**  \nFor questions, feedback, or collaboration, feel free to reach out.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fviniciuslawliet%2Fprocess-memory-writer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fviniciuslawliet%2Fprocess-memory-writer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fviniciuslawliet%2Fprocess-memory-writer/lists"}