| Crates.io | verity-memory |
| lib.rs | verity-memory |
| version | 1.0.4 |
| created_at | 2024-12-27 02:53:01.929277+00 |
| updated_at | 2025-01-07 14:17:48.653846+00 |
| description | Personal memory library with some cool features. |
| homepage | https://github.com/VerityIncorporated/verity-memory |
| repository | https://github.com/VerityIncorporated/verity-memory |
| max_upload_size | |
| id | 1496126 |
| size | 51,182 |
Personal memory library with some cool features.
NOP (no operation) to neutralize code segments.Add Verity Memory to your Cargo.toml:
[dependencies]
verity-memory = "<latest_version>"
Scan memory for a unique sequence of bytes (Array of Bytes):
use verity_memory::aob;
fn main() {
let pattern = aob::scan_unique("FF 08 8D 44 24 1C");
let address = match pattern {
Ok(value) => value,
Err(err) => {
eprintln!("Error: {:?}", err);
return;
}
};
println!("Found pattern at address: {:X}", address);
}
Neutralize code by overwriting instructions with NOP:
use verity_memory::write;
fn main() {
let address = 0x12345678; // Replace with the actual address
// Replace 1 instruction with NOP
write::nop_instructions(address, 1);
println!("Instruction at {:X} has been neutralized.", address);
}
Intercept and replace the return value of a function (integers only):
use verity_memory::write;
fn main() {
let ptr_i32: usize = 0x12345678; // Replace with the actual function pointer
if let None = write::replace_return_value::<i32>(ptr_i32, Some(1)) {
eprintln!("Failed to write i32 return value");
} else {
println!("Successfully replaced return value at {:X}.", ptr_i32);
}
}
Contributions are welcome! Feel free to open an issue or submit a pull request to enhance the library.
This project is licensed under the MIT License. See the LICENSE file for details.
Note: This library operates on low-level memory manipulation and should be used responsibly. Ensure you have the necessary permissions to modify the target process or application.