PDA

Просмотр полной версии : Свободная память в игре


Tema05
14.02.2026, 18:52
Есть ли известные участки памяти в gta_sa.exe или samp.dll где можно хранить какую-то информацию (байтов 100) для того, чтобы обращаться к ней между запусками разных скриптов/плагинов. Сохранение в файл конфига, особенно при частых перезаписях и когда требуется 100% гарантия синхронности не слишком стабильный вариант. Поэтому я придумал использовать память как хранилище с быстрым прямым доступом и гарантированным сохранением данных.

1) Как найти такие участки и быть уверенным, что они не будут изменены?

2) Хуйню ли я придумал? Если да какие более подходящие решения есть?

P.S. в целом достаточно 4 байт. Просто выделить память и указатель засунуть по каком-то статическому адресу внутри игры.

Musaigen
15.02.2026, 11:42
В паддинг между функциями (0xCC) можно что-то засунуть я думаю

Иначе вроде в теме про RCE от Евгена был такой адрес

constersuonsis
15.02.2026, 12:48
Вроде как, в конецах .data/.bss секциях, после последних глобальных переменных часто есть свободное место

БеzликиЙ
17.02.2026, 05:24
Sampfuncs предоставляет глобальные переменные и опкоды для управления ими, зачем изобретать велосипед?

setSampfuncsGlobalVar (https://wiki.blast.hk/moonloader/lua/setSampfuncsGlobalVar)

Устанавливает новое значение (регистрирует) для глобальной переменной SAMPFUNCS

wiki.blast.hk