r bollox s cript exec utor(rsexec)是一个命令行界面,主要使用Wearedevs API在Rōblox客户端上运行脚本。姐妹存储库到个人Roblox客户端脚本。
要运行我的程序,请确保已安装Python并使用Windows。
pip install -r sumpliont.txtpython src/main.py
我使用JJSploit已有几年了,发现当我的其他大多数工作流程生活在Powershell中时,必须与Guis打交道并不适合生产力。为我打开一个新的文件选择窗口并修改一些初始值只是为了获取我保存的脚本以运行的脚本,这是我的麻烦。点击太多!
要解决这个问题,我必须迭代。我首先添加一个全局函数getrenv().exec
,该exec相对于/workspace
和其他一些参数。然后,我必须修改现有脚本以使用我的参数化系统。我确保脚本在需要t的情况下也可以返回。这将我的基本脚本集线器转换为可扩展的功能库!
我还没有完成!我写了一个Python程序,通过finj.exe
将Wearedevs dll连接起来,并与我舒适的终端中的命名管相连。该输出仍在开发人员控制台上打印出来,该控制台仍然需要鼠标干预 - 因此,我编写了笨拙的包装代码,该代码将模块输出输出到控制台(而不是使用Rconsoleprint)。此后,它已大大改善。
显示的命令不会反映LUA getrenv()
或getfenv()
环境中可用的任何内容。
命令由两个主要部分组成:头部和身体。
头是从第一个非Whitespace字符到其后第一个空间的串联。
头通常指出一个以下格式的文件:
$ {root_folder}/workspace/$ {base_name} .lua
身体是一切之后的一切。
一些命令(例如find
)使用空间定界符将身体进一步分为不同的参数。其他人(例如output
)将整个身体视为一个参数。
命令以两个前缀为前缀;
或者:
因为两者都不用于在lua(u)中开始语句。
> ;output 6+4 10
> ;output "string" string
> ;output workspace game.Workspace
可以将前缀output
代替o
可以将多值组存储到工作空间脚本中的lua变量_E.OUTPUT
中(请参阅“输出格式”)。来自多个返回值的生成的输出由;
。 string.gsub()
> ;output (string.gsub("abb", "b", "c")) acc; 2
/workspace
中执行脚本> ;chat "I'm exploiting and probably will catch someone's attention!" 6
如果存在/workspace/chat.lua
,将执行它,而全局表_E.ARGS
初始化为:
{“我正在剥削,可能会引起某人的注意!”,6}
一些脚本返回东西。
> ;plr 'vis' game.Players.VisualPlugin
像任何好的脚本执行平台一样,RSEXEC应该能够从Internet运行脚本。该名称loadstring
在这里具有误导性,因为与Lua对应物不同,它还从提供的URL中获取LUA代码。请注意,URL并未用引号包裹,因为它没有从LUA对象中解析。
> ;ls https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source
这与以下方式相同。
loadstring(game:HttpGet('https://raw.githubusercontent.com/EdgeIY/infiniteyield/master/source'))()
前缀ls
可以代替loadstring
。
没有命令前缀的代码块将以AS-IS传递给评估器。
> game.Players.LocalPlayer.Character.Humanoid.Health = 0
> ;snippet game.Players.LocalPlayer.Character.Humanoid.Health = 0
您的角色应无论哪种方式都死了。
另外,您可以使用前缀snippet
。
可以将前缀snippet
代替snip
或s
。
多行摘要一直接受输入到第一个空线。对原型制作有用...我想吗?
> ;multiline game.Players.LocalPlayer.Character.Humanoid.Health = 0 > ;o 6 6
这是你角色可以死的另一种方式。它还打印6以促进可区分性。
前缀multiline
可以代替ml
或m
> ;del [[tree game.Workspace:GetDescendants()]]
从/workspace/tree.lua
返回工作区中所有对象的列表。
然后,从/workspace/del.lua
删除列表中的所有内容。
为了产生人类喜好的输出,一些工作区脚本在顶级调用时打印一个自定义字符串。这些Callee脚本在身体末端附近初始化一个可选的_E.OUTPUT
表。
这些自定义输出中的许多使用ANSI颜色代码来提高可读性。
> ;tree game.ReplicatedStorage [02] game.ReplicatedStorage.EmoteBar {ModuleScript} [03] game.ReplicatedStorage.EmoteBar.clientConfig {ModuleScript} [03] game.ReplicatedStorage.EmoteBar.emotes {ModuleScript} [03] game.ReplicatedStorage.EmoteBar.enums {ModuleScript} ...
但是,从嵌套呼叫完成时不会应用此行为。以下片段将打印一张机器阅读LUA表:
> ;output [[tree game.ReplicatedStorage]] { game.ReplicatedStorage.EmoteBar, game.ReplicatedStorage.EmoteBar.clientConfig, game.ReplicatedStorage.EmoteBar.emotes, game.ReplicatedStorage.EmoteBar.enums, ...
注射后,RSEXEC立即运行远程间谍。与远程间谍的其他高级实施不同,也收到了发送给客户Vía -onclientevent的事件。没有Guis可以在屏幕上混乱。但是,遥控器确实以每节话为基础填充/workspace/_rspy.dat
。 RSEXEC提供了一种将远程间谍日志转移到控制台的方法,如下所示。执行dump
从上一个读取的末尾开始文件指针,每个文件名:
> dump rspy
> ;tree game.workspace [[function return a1.Parent.Name == 'Head']] [06] game.Workspace.InteractiveModels.AvatarEditorModel.NpcModel.Head.Head {WrapTarget} [06] game.Workspace.InteractiveModels.AvatarEditorModel.NpcModel.Head.NeckRigAttachment {Attachment} [06] game.Workspace.InteractiveModels.AvatarEditorModel.NpcModel.Head.FaceFrontAttachment {Attachment} [06] game.Workspace.InteractiveModels.AvatarEditorModel.NpcModel.Head.HatAttachment {Attachment} [06] game.Workspace.InteractiveModels.AvatarEditorModel.NpcModel.Head.HairAttachment {Attachment} [06] game.Workspace.InteractiveModels.AvatarEditorModel.NpcModel.Head.FaceCenterAttachment {Attachment} [06] game.Workspace.InteractiveModels.AvatarEditorModel.NpcModel.Head.Neck {Motor6D} ...
/workspace/tree.lua
的结果这是工作区中父母名称为“头”的每个对象。
字符串:
[[function return a1.Parent.Name == 'Head']]
...用:
(function(a1, a2, ...) return a1.Parent.Name == 'Head' end)
前缀function
可以代替func
或f
。
Lambdas对于编写动态的单线很有用,以利用RSEXEC语言的其他功能。我个人在tree
命令中经常使用它。
> ;tree game.workspace [[lambda a1.Parent.Name == 'Head']] [06] game.Workspace.InteractiveModels.AvatarEditorModel.NpcModel.Head.Head {WrapTarget} [06] game.Workspace.InteractiveModels.AvatarEditorModel.NpcModel.Head.NeckRigAttachment {Attachment} [06] game.Workspace.InteractiveModels.AvatarEditorModel.NpcModel.Head.FaceFrontAttachment {Attachment} ...
lambdas的工作方式与f
前缀类似,但在功能正文之前添加了return
关键字。
字符串:
[[lambda a1.Parent.Name == 'Head']]
...被替换为:
(function(a1, a2, ...) return a1.Parent.Name == 'Head' end)
前缀lambda
可以代替l
。