rwmem 0.1.2

rwmem is a Rust library to read from / write to / search on memory of a process.
Documentation
<!--
 Copyright (c) 2026 Eray Erdin

 This Source Code Form is subject to the terms of the Mozilla Public
 License, v. 2.0. If a copy of the MPL was not distributed with this
 file, You can obtain one at https://mozilla.org/MPL/2.0/.
-->

# rwmem

`rwmem` is a Rust library to read from / write to / search on memory of a process. You can think of it like "Cheat Engine", but as a library.

# Caveat Lector

This library is not production ready. It is a work in progress. The API is subject to breaking change.

Currently, only supported platform is Linux and 64-bit processors.

# Usage

In the heart of this library, there is `Process` struct. To initialize it:

```rust
use rwmem::prelude::Process;

// assuming you have a pid, which is i32
let process = Process:try_new(pid);
```

As the name suggests (`try_`), initialization might fail. Refer to `rwmem::prelude::ProcessError` to see the potentional types of errors.

After you initialize the `Process`, you must import and use one of the extension traits to use the library. Currently, available extension traits are:

- `SearchExt`: to search a value in the memory of the process
- `ReadExt`: to read a value from the memory of the process
- `WriteExt`: to write a value to the memory of the process

You can simply import as below to get all the extensions working:

```rust
use rwmem::prelude::*;
```

Each extension has its methods implemented for `Process`. Refer to each one in the docs to see their methods.

# License

This project is licensed under the [Mozilla Public License Version 2.0](https://www.mozilla.org/en-US/MPL/2.0/), meaning that you can freely use, modify, and distribute this project in any closed-source software.

However, if you change the code of _this_ project, you must make your changes available to the public, either via contributing back or by publishing it yourself.