19 releases (9 stable)

1.2.1 May 4, 2024
1.1.7 Mar 10, 2024
1.0.4 Nov 13, 2023
0.4.0 Mar 15, 2023
0.1.1-dev2 Oct 21, 2022

#91 in Memory management

Download history 23/week @ 2024-10-10 6/week @ 2024-10-17 3/week @ 2024-12-12

1,812 downloads per month

GPL-2.0 license

81KB
2K SLoC

Poggers

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:

  • Easily create an entrypoint for your DLL with panic unwrapping already handled for you
  • Effortlessly read and write into an external process' memory
  • Use IDA signatures to scan for instructions in processes.
  • Use CreateToolhelp32Snapshot in a sane fashion with first class support for iterating over processes and modules
  • Cross compatibility for Windows and Linux with minimal code changes

Documentation | Crates.io | Repository

Add into your project

[dependencies]
poggers = "1"
# if you need to use the entrypoint macro
poggers_derive = "0.1.5"

External Example

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()
    }
}

Internal Example

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);
    }
}

LICENSE

this project / library is licensed under GNU General Public License v2.0

Dependencies

~0.5–35MB
~496K SLoC

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy