Website: https://glu.cldmk.ly/
Super cool feature: Can be used offline after visiting once!
Garry's Mod strips powerful debugging functions from Lua to prevent abuse. This project undoes that, allowing previously removed functions to be used again.
- Go to the unlocker's page.
- Drag and drop your
lua_shared.dll
file to 'unlock' it. - Backup your original
lua_shared.dll
file in(Garry's Mod Install)\garrysmod\bin\
(or\bin\win64
for 64 bit). - Rename the unlocked file to
lua_shared.dll
and place in same location as original. - Enjoy forbidden functions!
The website finds the following facepunch code which is responsible for removing the forbidden functions and skips over it to ignore facepunch's modification:
lua_getfield(L, LUA_GLOBALSINDEX, "debug");
lua_pushnil(L);
lua_setfield(L, -2, "setlocal");
lua_pushnil(L);
lua_setfield(L, -2, "setupvalue");
lua_pushnil(L);
lua_setfield(L, -2, "upvalueid");
lua_pushnil(L);
lua_setfield(L, -2, "upvaluejoin");
lua_settop(L, -2);
Some servers check for presence of these functions, make sure to hide them to avoid being banned.
local debug_setupvalue = debug.setupvalue
debug.setupvalue = nil
# Now use debug_setupvalue instead of debug.setupvalue.