【发布时间】:2016-03-27 02:11:01
【问题描述】:
现在我正在做很多事情。
local env = {
print = print,
}
setfenv(函数,环境) 然后使用元方法来锁定Instances上的属性,但它确实效率低下并且有很多绕过。我用谷歌搜索了它,我发现的一切都与此相同:无法正常工作。
【问题讨论】:
-
您指的是什么“绕过”?沙盒意味着脚本只能访问您明确允许的内容。鉴于您显示的代码,
func将只能访问print以及您调用它时使用的任何参数。 -
“假设我也想授予对 getfenv() 的访问权限。”如果你不希望人们走进你的家,你就不要给他们钥匙。这里也是如此:如果您不希望人们突破沙盒,不要给他们这样做的工具。所以任何好的沙盒都会阻止你使用
getfenv。 -
@Nicol 但更好的沙箱将允许沙箱化访问任何东西。当我想到沙盒时,我认为它就像是我自己的微型世界,在那里我可以安全地做事,而无需访问“父环境”。例如 getfenv(2) 会出错,因为“父环境”不存在。 (确实如此,但这不应该从沙箱内部看到。)
-
所以我认为对你的比喻的改进是如果你不希望人们走进你的家,不要告诉他们它在哪里。
-
我不用担心字节码; ROBLOX 已将其删除。