| Crates.io | virtual-memory |
| lib.rs | virtual-memory |
| version | 0.1.3 |
| created_at | 2022-12-21 10:57:01.073035+00 |
| updated_at | 2024-09-08 21:31:22.471597+00 |
| description | Library for allocating RWX memory on Unix and Windows |
| homepage | |
| repository | https://github.com/StackOverflowExcept1on/shellexec |
| max_upload_size | |
| id | 743057 |
| size | 6,395 |
Library for allocating RWX memory on Unix and Windows.
Also see https://github.com/StackOverflowExcept1on/shellexec for more details
use virtual_memory::*;
let buf = &[
//mov eax, 1337
0xb8, 0x39, 0x05, 0x00, 0x00,
//ret
0xc3,
];
let mut memory = VirtualMemory::new(buf.len()).expect("failed to allocate rwx memory");
memory.copy_from_slice(buf);
let f: extern "C" fn() -> u32 = unsafe { std::mem::transmute(memory.as_ptr()) };
assert_eq!(f(), 1337);