首页 > 解决方案 > 哪些 Roblox/LUAU 类可以隐藏恶意软件/脚本?

问题描述

哪些 Roblox/LUAU 类可以隐藏恶意软件/脚本?哪些类仍将作为脚本执行?哪些类不能包含恶意脚本?声音的?

由于有人抱怨不清楚我在问什么,所以我在上面添加了重点并将标题也放在那里。

好的,所以我正在尝试学习如何从 Roblox Studio 工具箱中检测和删除恶意软件。这是一个艰巨的任务,因为我仍在学习 LUAU,并且有很多方法可以隐藏恶意软件,包括混淆技术(间距、反向字符串、反向 ascii 字符串、getfenv()、隐藏的传送、嵌套脚本、被重新分类为其他东西,如焊接等)。

重新分类的恶意软件是我最麻烦的事情,尽管长脚本和拆分成不同文件的脚本也可能很痛苦。我通过反复试验来做事,例如 TreelingDeveloper (rbxassetid://6787294322) 的 Sakura Tree 模型。除了树干和网格、落叶和粒子发射器以及叶子和网格之外,我去掉了它的所有内容,它仍然相似,尽管删除了几十块,包括嵌套在几个焊缝中并声称焊接树皮的两个脚本在。

编辑:发布后我重新检查了樱花树。删除所有这些部分会降低其视觉吸引力,尽管并非完全如此。我删除了很多“树皮”、“其他”和“焊缝”,甚至还有缩略图相机。事实证明,保留所有“树皮”和“其他”会为后备箱增加额外的细节。我看不到 ThumbnailCamera 或焊接和“自动焊接”脚本的用途。

使用 CTRL-SHIFT-F 搜索诸如“getfenv”、“string.reverse”、“require”、“eriuqer”和“teleport”之类的词并不难,但这超出了我查找所有内容的能力范围。

如果您对该问题或 Roblox 资产中更大的恶意软件问题有任何建议或提示,我很想听听。谢谢!

反恶意软件插件

到目前为止,我已经查看了几个(约 10 个)用于检测恶意软件的插件。他们似乎都没有行为或实时检测。它们似乎都使用简单的启发式检测,通常依赖与已知恶意软件相关的常见单词和短语,以及某些 LUAU 命令和混淆技术。我认为值得使用的那些,尽管它们不够用,但它们是 GameGuard、Guardian Angel Defender、Mirror Egg 和 Ro-Protect。不幸的是,他们得到了相当多的误报(例如,Mirror Egg 表明任何名称为“火”的东西,包括我添加的火效果,都可能是恶意软件)。GAD 拥有最好的用户界面,似乎比其他任何东西都发现了更多,但它也发现了很多我不知道该怎么做的“空对象”。它们都不是实时的,

解释

我不是艺术家,所以我真的不可能开发自己的模型、网格等,而且我认为那些说使用工具箱的人很懒惰并得到他们应得的东西的人显然没有意识到不是每个人都是CG方面的大师级工匠。

Roblox Studio 的工具箱中塞满了资产,这很棒,但其中许多都包含恶意软件。

超过这一点主要是咆哮。请随意忽略,除非您要告诉我联系 Roblox 客户服务或访问 Roblox 开发论坛。

你可能会问我为什么不在 DevForum 上发布这个。自四月以来我一直在那里,尽管阅读了 7 个小时并获得了超过 1k 的赞,但我仍然没有成为“常客”。我问过客户服务,但他们给了我一个绕口令,让我回到规则成为常客(故意含糊其辞),并且通常渴望尽快摆脱我而没有实际帮助。

你可能会问我为什么不向 Roblox 寻求帮助。 在询问了上诉团队(他们给了我 3 天的 IP 禁令并永久暂停了我仍在开发中的未上市、>私人< 游戏,因为他们说,我从工具箱中添加了一个“不合适的模型”-我没有修改的模型,然后无正当理由拒绝了我的上诉)和客户服务,这让我四处奔波,尽了最大的努力不帮助我,为了尽快摆脱我,我正在努力学习如何保护自己。简而言之,Roblox 显然拒绝采取任何实际措施来处理过多的恶意软件,并且帮助页面不教开发人员如何查找恶意软件。我自己学到了更多——这还远远不够。

如果我听起来很生气,那是因为我很生气。他们有一些我在成年后 36 年中遇到过的最糟糕的客户支持,而且我在该领域拥有多年的经验,包括技术支持。

Roblox 教程页面在介绍工具箱时有这样的说法:

> 任何人都可以将物品上传到工具箱,因此请确保您的游戏在添加物品后仍能正常运行,然后再确定。要了解如何在插入模型之前对其进行检查,请参阅 [项目检查][1]。

链接页面严重不足,客户支持向我推荐的页面也是如此。[我这里的感染模型是什么?帮助文章。][2]

[1]:https ://developer.roblox.com/en-us/resources/studio/Toolbox#item-inspection [2]:https ://en.help.roblox.com/hc/articles/203312920

标签: classluarobloxmalwaremalware-detection

解决方案


当涉及到可以执行代码的东西时,答案是ScriptsLocalScripts

有些事情要知道,脚本只在少数几个地方活跃。根据文档:

满足以下条件的瞬间,Script 的 Lua 代码在新线程中运行:

对于 LocalScripts 类似:

如果 LocalScript 是以下对象之一的后代,它将只运行 Lua 代码:

这不适用于编辑模式,仅当您在播放模式下对其进行测试时。

问题是,一个 Script 实例可以插入到任何东西的层次结构中。音频、网格、贴花等。这些东西都不是自己执行代码的,但它们通常是用于将脚本传递到工作区的特洛伊木马。而且因为工具箱默认将东西插入工作区,它为您在问题中描述的漏洞创造了途径。

这就是为什么我推荐pa00 的 Venom 插件的原因,因为它允许您删除资产可能附带的任何和所有脚本。当您只寻找简单的东西时,这是一个简单的对策。一旦您开始寻找更复杂的资产(如车辆、工具和枪支),其中的交互必须编写脚本,这个建议就会失效,但这是一个起点。


推荐阅读