Просмотр полной версии : Свободная память в игре
Есть ли известные участки памяти в 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
Идея с выделением памяти внутри gta_sa.exe или samp.dll звучит заманчиво, но на практике сложно гарантировать, что эти участки не будут перезаписаны игрой или другими плагинами. Лучше использовать встроенные способы хранения или, если нужно что-то очень быстрое, попробовать глобальные переменные sampfuncs. Файлы, конечно, тормозят при частых запросах, но обычно стабильнее.
Zews66648
07.07.2026, 07:00
Сохранять данные прямо в памяти игры — идея рисковая, там многое может внезапно затираться, особенно по апдейтам или от других плагинов. Лучше либо глобалку sampfuncs использовать, либо минимальные конфиги с кэшированием в памяти. Это куда надежнее, чем искать «свободный» участок в .data или между функций, который не гарантированно сохранится.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot