Начинающий
- Статус
- Оффлайн
- Регистрация
- 3 Окт 2024
- Сообщения
- 20
- Реакции
- 0
Всем привет!
Сегодня я расскажу как сделать собственный приватный модуль на роблокс чтобы не использовать апи в которых непонятно что вшито а собственную DLL
Начнем с основного: Что вообще такое модуль?
Модуль - именно то что вы инжектите и то что екзекутит (внедряет) ваши скрипты (т.е DLL), апишки тоже имеют модули (что очевидно), но это обычно бесплатные длл (по типу хено) которая была сделана не самими разработчиками этого апи
Модуль представлен в виде DLL которая внедряется в процесс Roblox'а, по-этому вам нужен инжектор, всякие Extreme Injector и тому подобное не подойдет (роблокс крашнет при их открытии), и надо либо делать собственный либо использовать с гитхаба
Свой инжектор не публикую, но для начала можно использовать вот этот инжектор при разработке своего екзекутора, при релизе лучше всего сделать собственный
(обновлен на момент 23.01.2026, version-8b8c34790f814a73)
Актуальные оффсеты есть на этом дискорд сервере:
Теперь у нас есть инжектор, приступаем к самому главному: Модуль
Во первых, в роблоксе как не странно используется LUAU (форк LUA), для скриптов обычного луау не достаточно и по-этому в екзекуторах существует такое понятие как Environment (окружение), оно есть в любом екзекуторе, но все функции сделаны по разному а также у некоторых екзекуторов есть определенные функции в их окружении, а в некоторых их нету
Самые НУЖНЫЕ функции которые по логике должны быть у каждого екзекутора находяться тут, это по моему мнению самые хорошие документации по поводу этого, там написано как должна эта функция работать и LUAU пример, а также сразу результат который она должна дать
Также вам нужна база где не будет практически никакого кастомного окружения которое нужно чит-скриптам, но оно просто будет инжектится и запускать LUAU скрипты, его я прикрепил внизу
Например нам нужно сделать функцию restorefunction, сначало читаем обе (или одну) документацию выше и читаем как должна работать функция и что она вообще должна делать (если вы не знаете), если вы не поняли даже после прочтения то спрашиваем у нейронок, они всё расжуют
restorefunction должна восстанавливать оригинальное состояние функции которая была изменена через hookfunction, т.е вот так:
Если вы планируете делать паста-екзекутор то можете просто смотреть слитые сурсы модулей и пастить с нейронкой (ниже расскажу почему так делать не стоит), но вас никто не останавливает
Если вы хотите учиться с нуля то тут можете также смотреть и изучать (но не пастить) сурсы модулей, но писать функции уже в своем модуле лучше всего самостоятельно, нейронка максимум может помочь пофиксить баги функции либо же сделать скелет этой функции, если вы планируете именно учить всё это дело то я могу помочь с какими-то функциями если у вас будут проблемы
Теперь расскажу почему пастить это очень сомнительное дело в сфере разработки екзекуторов на роблокс:
Дело в том что это Environment функции, они очень много взаимодействуют с игрой (хукают, клонируют, эмулируют функции), а если функция сделана некачественно (код нейронки / с слитых сурсов) то игра это может спокойно заметить и задетектить ваш екзекутор, вот пример самого дефолтного детекта:
это базовый (но очень распространненый) детект вашего Environment, тут даже дело не в какой-то определенной функции а именно в getgenv (функция которая дает доступ к всему вашему окружению для скриптов, очень важна и обязательная), если она сделана криво то будет env leak, ваш екзекутор будет светить своими функциями для самого Roblox, и игра в роблоксе сможет спокойно вызвать любую функцию из вашего Environment
Причина в том что ваш getgenv общий для всех, хуки попадают в стек вызова
И таких детектов очень много, но не стоит беспокоится сильно насчет этого, большинство игр в роблоксе не делают эти детекты т.к это стоит денег, но все же всякое базовое стоит пофиксить (например в Steal a Brainrot есть некоторые детекты, можно тестировать на нем)
И насчет базы для начала, если вы все равно готовы этим заниматься то можете взять вот эту базу, в Environment там есть некоторые функции, но например тот же getscriptclosure крашит (вы можете его убрать или переделать), в любом случае это отличный исходник чтобы начать разработку
Если тема зайдёт - в следующих частях могу разобрать конкретные функции environment (с примерами) и типичные ошибки при их реализации, а также буду учитывать ошибки которые сделал в этом посте (так как это мой первый гайд), всем удачи!
UPD: Старый инжектор не работал на последней версии роблокса, уже изменил ссылку на исправленную версию
Сегодня я расскажу как сделать собственный приватный модуль на роблокс чтобы не использовать апи в которых непонятно что вшито а собственную DLL
Начнем с основного: Что вообще такое модуль?
Модуль - именно то что вы инжектите и то что екзекутит (внедряет) ваши скрипты (т.е DLL), апишки тоже имеют модули (что очевидно), но это обычно бесплатные длл (по типу хено) которая была сделана не самими разработчиками этого апи
Модуль представлен в виде DLL которая внедряется в процесс Roblox'а, по-этому вам нужен инжектор, всякие Extreme Injector и тому подобное не подойдет (роблокс крашнет при их открытии), и надо либо делать собственный либо использовать с гитхаба
Свой инжектор не публикую, но для начала можно использовать вот этот инжектор при разработке своего екзекутора, при релизе лучше всего сделать собственный
Пожалуйста, авторизуйтесь для просмотра ссылки.
(обновлен на момент 23.01.2026, version-8b8c34790f814a73)
Актуальные оффсеты есть на этом дискорд сервере:
Пожалуйста, авторизуйтесь для просмотра ссылки.
(noad), там есть всё чтобы обновить инжектор сверху до последней версии роблокса под будущие обновления игры, а также и ваш модульТеперь у нас есть инжектор, приступаем к самому главному: Модуль
Во первых, в роблоксе как не странно используется LUAU (форк LUA), для скриптов обычного луау не достаточно и по-этому в екзекуторах существует такое понятие как Environment (окружение), оно есть в любом екзекуторе, но все функции сделаны по разному а также у некоторых екзекуторов есть определенные функции в их окружении, а в некоторых их нету
Самые НУЖНЫЕ функции которые по логике должны быть у каждого екзекутора находяться тут, это по моему мнению самые хорошие документации по поводу этого, там написано как должна эта функция работать и LUAU пример, а также сразу результат который она должна дать
Пожалуйста, авторизуйтесь для просмотра ссылки.
(более гибкая и всегда обновляется)
Пожалуйста, авторизуйтесь для просмотра ссылки.
(русскоязычная и более простая, но немного старая (не обновлялась 3 месяца))Также вам нужна база где не будет практически никакого кастомного окружения которое нужно чит-скриптам, но оно просто будет инжектится и запускать LUAU скрипты, его я прикрепил внизу
Например нам нужно сделать функцию restorefunction, сначало читаем обе (или одну) документацию выше и читаем как должна работать функция и что она вообще должна делать (если вы не знаете), если вы не поняли даже после прочтения то спрашиваем у нейронок, они всё расжуют
restorefunction должна восстанавливать оригинальное состояние функции которая была изменена через hookfunction, т.е вот так:
code_language.lua:
function dummy_func()
print("я не хукнут")
end
hookfunction(dummy_func, function()
print("я хукнут")
end)
dummy_func() -- Выведет в консоль: я хукнут
restorefunction(dummy_func)
dummy_func() -- Выведет в консоль: я не хукнут
Если вы планируете делать паста-екзекутор то можете просто смотреть слитые сурсы модулей и пастить с нейронкой (ниже расскажу почему так делать не стоит), но вас никто не останавливает
Если вы хотите учиться с нуля то тут можете также смотреть и изучать (но не пастить) сурсы модулей, но писать функции уже в своем модуле лучше всего самостоятельно, нейронка максимум может помочь пофиксить баги функции либо же сделать скелет этой функции, если вы планируете именно учить всё это дело то я могу помочь с какими-то функциями если у вас будут проблемы
Теперь расскажу почему пастить это очень сомнительное дело в сфере разработки екзекуторов на роблокс:
Дело в том что это Environment функции, они очень много взаимодействуют с игрой (хукают, клонируют, эмулируют функции), а если функция сделана некачественно (код нейронки / с слитых сурсов) то игра это может спокойно заметить и задетектить ваш екзекутор, вот пример самого дефолтного детекта:
code_language.lua:
while task.wait(1) do
xpcall(function()
error("__AAA__")
end, function()
pcall(function()
for i = 0, 100 do
if select(2, pcall(getfenv, i + 1)).getgenv then
print("ty for the env bro")
print(getfenv(i).getgenv())
end
end
end)
end)
end
credit: testerdэто базовый (но очень распространненый) детект вашего Environment, тут даже дело не в какой-то определенной функции а именно в getgenv (функция которая дает доступ к всему вашему окружению для скриптов, очень важна и обязательная), если она сделана криво то будет env leak, ваш екзекутор будет светить своими функциями для самого Roblox, и игра в роблоксе сможет спокойно вызвать любую функцию из вашего Environment
Причина в том что ваш getgenv общий для всех, хуки попадают в стек вызова
И таких детектов очень много, но не стоит беспокоится сильно насчет этого, большинство игр в роблоксе не делают эти детекты т.к это стоит денег, но все же всякое базовое стоит пофиксить (например в Steal a Brainrot есть некоторые детекты, можно тестировать на нем)
И насчет базы для начала, если вы все равно готовы этим заниматься то можете взять вот эту базу, в Environment там есть некоторые функции, но например тот же getscriptclosure крашит (вы можете его убрать или переделать), в любом случае это отличный исходник чтобы начать разработку
Пожалуйста, авторизуйтесь для просмотра ссылки.
Если тема зайдёт - в следующих частях могу разобрать конкретные функции environment (с примерами) и типичные ошибки при их реализации, а также буду учитывать ошибки которые сделал в этом посте (так как это мой первый гайд), всем удачи!
UPD: Старый инжектор не работал на последней версии роблокса, уже изменил ссылку на исправленную версию
Последнее редактирование: