Crates.io | poggers |
lib.rs | poggers |
version | 1.2.1 |
source | src |
created_at | 2022-09-16 20:25:08.859069 |
updated_at | 2024-05-04 14:19:00.890107 |
description | memory lib |
homepage | |
repository | https://github.com/pozm/poggers |
max_upload_size | |
id | 667683 |
size | 79,106 |
A library for interacting with memory, processes, and similar tools for primarily game cheating purposes.
With poggers you're able to achieve the following things:
Documentation | Crates.io | Repository
[dependencies]
poggers = "1"
# if you need to use the entrypoint macro
poggers_derive = "0.1.5"
a simple example of how you can find a process and write into it's memory
use poggers::structures::process::Process;
use poggers::traits::Mem;
fn main() {
let process = Process::find_name("csgo.exe").unwrap();
unsafe {
process.write(0x1000,&1).unwrap()
}
}
If you're making an internal program, you may wish to create an entry point and do stuff with the current process.
use poggers::structures::process::implement::utils::ProcessUtils;
use poggers::structures::process::Process;
use poggers::traits::Mem;
// automatically create an entry point for your dll! (crate type must be cdylib)
// you also do not need to worry about panic unwinding yourself as it is already done.
#[poggers_derive::create_entry]
fn entry() {
let this_proc = Process::this_process();
unsafe {
let bleh : i32 = this_proc.read(0x1000).unwrap();
println!("{}",bleh);
let base_mod_name = this_proc.get_base_module().unwrap().get_name();
println!("{}",base_mod_name);
}
}
this project / library is licensed under GNU General Public License v2.0