Показать сообщение отдельно

  #1  
Старый 05.02.2025, 14:42
Receiver
Постоянный
Регистрация: 26.03.2016
Сообщений: 660
С нами: 5332594

Репутация: 163


По умолчанию

Всем привет! Хочу закинуть вам трушный мемвраппер под плюсы для трушных 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

(
)
;
// к типу
std
::
cout

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

(
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

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

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


Исходный код:

true memwrap. something else?

true memwrap. something else? GitHub Gist: instantly share code, notes, and snippets.

gist.github.com


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








https://soundcloud.com/kirill-5465052%2Fne-nado-stesnyatsya-brazil


 
Ответить с цитированием