Исходник NLE Choppa memwrap for @whyega52

Receiver

leet-cheats 👑
Автор темы
Модератор
637
942
Всем привет! Хочу закинуть вам трушный мемвраппер под плюсы для трушных ASI скриптеров, который использует NLE Choppa в своих проектах.

Поддержка: C++20, Windows и любая битность которую поддерживает uintptr_t. При чтении/записи указателя отработает по размерности uintptr_t. Работа со сложными типами описана в примере использования.

Использование:

C++:
auto addr = whyega::address_t{0x1337};

// математика
addr += 0x228;
addr -= 0x228;

// доступные касты
std::uintptr_t{addr}; // авто каст
addr.ptr(); // к указателю
addr.as<uint32_t>(); // к типу
std::cout << addr; // к ostream

// чтение (в non-const сам снимает протекцию)
std::println("{:d}", addr.read<uint32_t>());

// запись (сам снимает протекцию)
addr.write<uint32_t>(1337);

// протекция
auto prot = addr.protect();
if (!prot.executable()) {
    addr.protect(sizeof(uint32_t), prot.read_write_execute());
    auto flags = *addr; // получаем PAGE флаги
    flags = addr.get(); // тоже самое через метод
}

// вызов функции
addr.execute<void, uint8_t>(255);

// простой пример
whyega::address_t{0x1337}.write<uint32_t>(1337);

// работа со сложными типами
auto buf = addr.span(100);
std::fill(buf.begin(), buf.end(), 0x90);
// + можете снять протект на диапазон

Исходный код:
Мемесы: Залог успеха очень прост, нужно всего лишь...
1738753289510.png

1738753303651.png

priv9-rust.gif
 
Последнее редактирование: