Lua:"安全缓存"

如何制作一个脚本来检查某些函数是否被重新定义?这对于像roblox、fivem等游戏非常有用。 它非常有用,因为作弊者可以修改重要的函数,比如AC函数。

点赞
用户14876838
用户14876838
function ThisIsProtected(...)
    local args = {...}
    for k, v in pairs(args) do
        print(k, v)
    end
end

local function CreateCache(Namespace)
    local Cache = {}
    for k, v in pairs(Namespace) do
        if type(v) ~= "string" then
            Cache[k] = tostring(v)
        end
    end

    return Cache
end

local function CheckCache(Namespace, CacheTable)
    for k, v in pairs(CacheTable) do
        if Namespace[v] ~= CacheTable[v] then
            print("Something is modified :/")
            return true
        end
    end

    return false
end

local SecureCache = CreateCache(_G)
while true do
    Wait(60000)
    if CheckCache(SecureCache) then
        os.exit()
    end
end

-- 骗子/坏人试图重新定义函数
function ThisIsProtected(...)
    print("AHAHAHHAHAHAHHA")
end
2021-05-26 18:37:46