gpt4 book ai didi

Lua __metatable 绕过?

转载 作者:行者123 更新时间:2023-12-05 01:00:40 27 4
gpt4 key购买 nike

我想知道是否有任何方法可以逃避 __metatable 元方法。我知道没有,但我正在尝试做这样的事情,但显然 __metatable 阻止了这种情况的发生:

    -- pretend that there is a __metatable field given to a table
setmetatable(_G, {__index = {None="No indexes"}})
-- error: (the string given to the __metatable metamethod)

我在这里想要做的只是跳过 __metatable 字段,并允许自己在 _G 上设置一个元表,它已经有一个元表。
我知道这样做是不可能的,但我想问一下是否还有机会绕过?

最佳答案

从 Lua 执行此操作的唯一方法是使用 debug.setmetatable .

整点__metatable是保护。调试库绕过了这种保护(和其他保护),当然应该小心使用。

关于Lua __metatable 绕过?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29329377/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com