Skip to content

utility

Executor/engine-meta helpers: identity, clipboard, notifications, FastFlags, and script bytecode tools (decode, disassemble, decompile, hash, compile).

utility.IdentifyExecutor() -> string name, string version

Returns the executor identity string and version, always “Conduit”, “1.0.0”.

local name, version = utility.IdentifyExecutor()
print(name, version)

utility.GetExecutorName() -> string

Returns just the executor name, “Conduit”.

print(utility.GetExecutorName())

utility.GetBase() -> number | nil

Returns the base address of the attached Roblox engine process, or nil if not attached.

local base = utility.GetBase()
if base then print(string.format("0x%x", base)) end

utility.SetClipboard(text: string) -> boolean

Copies the given string to the system clipboard, returns whether it succeeded.

utility.SetClipboard("hello world")

utility.ToClipboard(text: string) -> boolean

Alias of SetClipboard, copies the given string to the system clipboard.

utility.ToClipboard("hello world")

utility.Notify([title: string,] text: string)

Prints a notification to stdout, taking an optional title, since the external has no in-game toast.

utility.Notify("Conduit", "Script loaded")

utility.GetFFlag(name: string) -> boolean | number | string | nil

Reads the current live value of a Roblox FastFlag by name (FFlag, FInt, FLog, or FString), returns nil if unknown or unattached.

local v = utility.GetFFlag("DebugRenderSkeleton")
print(v)

utility.SetFFlag(name: string, value: boolean | number | string) -> boolean

Writes a new value to a live Roblox FastFlag by name, returns whether the write succeeded.

utility.SetFFlag("DebugRenderSkeleton", true)

utility.SetFFlags(flags: {[string]: boolean | number | string}) -> number set, number unknown, number failed

Applies a table of FastFlag name to value pairs in one call, returns counts of flags set, unknown, and failed.

local set, unknown, failed = utility.SetFFlags({DebugRenderSkeleton = true, FIntFoo = 5})
print(set, unknown, failed)

utility.GetScriptBytecode(script: Instance) -> string | nil

Reads and decodes the raw Luau bytecode retained by a script Instance, returns nil if it has none.

local bc = utility.GetScriptBytecode(script)
if bc then print(#bc) end

utility.DecodeScriptBytecode(blob: string) -> string | nil

Decodes a raw compressed bytecode blob into raw Luau bytecode, returns nil on decode failure.

local bc = utility.DecodeScriptBytecode(compressedBlob)

utility.Disassemble(target: string | Instance) -> string | nil

Produces a Luau bytecode disassembly listing, accepting either raw already-decoded bytecode or a script Instance.

local listing = utility.Disassemble(script)
print(listing)

utility.Decompile(target: string | Instance) -> string | nil

Reconstructs Lua source from bytecode via the vendored Fission decompiler, accepting raw bytecode or a script Instance, returns nil only when no bytecode is retained.

local src = utility.Decompile(script)
print(src)

utility.GetScriptHash(target: string | Instance) -> string | nil

Returns a SHA-384 hex hash of the script’s bytecode, Conduit’s own hash rather than a Roblox-identical one.

local hash = utility.GetScriptHash(script)
print(hash)

utility.DumpString(source: string) -> string

Compiles a Lua source string into Luau bytecode, the inverse of Decompile, raises an error on a compile failure.

local bc = utility.DumpString("print('hi')")