About

Synapse Z documentation

Environment

Script

Documentation of script-related Synapse Z environment functions

getscriptbytecode

string getscriptbytecode(target: <Script/function>)

gets roblox luau format bytecode of the specified target

getscriptclosure

function getscriptclosure(script: Script)

loads the script bytecode and returns the main function

getscripthash

string getscripthash(target: <Script/function>)

returns a hash of the bytecode of the specified target

getscriptthread

thread getscriptthread(script: Script)

returns the target script running thread, returns nil if not running

getsenv

table getsenv(script: Script)

returns the target script running thread environment, returns nil if not running

getcallingscript

Script getcallingscript()

returns the current thread caller script, returns nil if none

getthreadscript

Script getthreadscript(thread: thread)

returns the thread script, returns nil if none

decompile

string decompile(target: <Script/function>)

decompiles the specified target

getloadedmodules

table<ModuleScript> getloadedmodules()

returns a list of all loaded (required) modules

getrunningscripts

table<Script> getrunningscripts()

returns a list of all running scripts

disablescript

void disablescript(script: Script)

"disables" the script by setting the bytecode to return nil

Instance

Documentation of instance-related Synapse Z environment functions

cloneref

Instance cloneref(instance: Instance)

returns a cloned reference of the specified instance

compareinstances

bool compareinstances(instance1: Instance, instance2: Instance)

compares 2 instances useful for comparing normal instance references with cloned references

gethiddenproperty

any gethiddenproperty(instance: Instance, property_name: string)

gets the property of the specified instance, including types such as: BinaryString and SharedString

sethiddenproperty

void sethiddenproperty(instance: Instance, property_name: string, value: any)

sets the property of the specified instance, including types such as: BinaryString and SharedString

isscriptable

bool isscriptable(instance: Instance, property_name: string)

returns whenever the specified property is scriptable or not

isscriptable

void setscriptable(instance: Instance, property_name: string, scriptable: bool?)

sets whenever the specified property is scriptable or not

getproperties

table<string> getproperties(instance: Instance)

returns a list of instance property names

gethiddenproperties

table<string> gethiddenproperties(instance: Instance)

returns a list of instance hidden property names

getinstances

table<Instance> getinstances()

returns a list of all instances

getnilinstances

table<Instance> getnilinstances()

returns a list of all instances which are parented to nil

getscripts

table<Script> getscripts()

returns a list of all scripts (ignores core modules/scripts)

gethui

Instance gethui()

returns a hidden UI instance container

fireclickdetector

void fireclickdetector(click_detector: ClickDetector, distance: number?)

fires the specified click detector with optional distance

fireproximityprompt

void fireproximityprompt(proximity_prompt: ProximityPrompt)

fires the specified proximity prompt

firetouchinterest

void firetouchinterest(target: Part, toucher: Part, touching: bool)

begins/stops touching the specified target by the specified toucher depending on the touching parameter

isnetworkowner

bool isnetworkowner(part: Part)

returns whenever we own network ownership of the specified part

Filesystem

Documentation of filesystem-related Synapse Z environment functions

readfile

string readfile(path: string)

returns file contents of the specified path

writefile

void writefile(path: string, content: string)

writes the file content to the specified path

appendfile

void appendfile(path: string, content: string)

appends the file content of the specified path

loadfile

function loadfile(path: string)

loads the specified path file content

isfile

bool isfile(path: string)

returns whenever the specified path is a file

delfile

void delfile(path: string)

deletes the file at the specified path

makefolder

void makefolder(path: string)

creates a folder at the specified path

isfolder

bool isfolder(path: string)

returns whenever the specified path is a folder

delfolder

void delfolder(path: string)

deletes the folder at the specified path

listfiles

table<string> listfiles(path: string)

lists all files and folders in the specified path

getcustomasset

string getcustomasset(path: string)

writes the specified path file content to the roblox directory and returns a rbxasset

Hooking

Documentation of hooking-related Synapse Z environment functions

hookfunction

function hookfunction(target: function, hook: function, filter: Filter?)

hooks the target function with optional hook filter, returns a clone of the target function

restorefunction

void restorefunction(target: function)

restores the target function, errors if not hooked

isfunctionhooked

bool isfunctionhooked(target: function)

returns whenever the target function is hooked or not

hookmetamethod

function hookmetamethod(object: any, metamethod: string, hook: function, arg_guard: bool?, filter: Filter?)

hooks the target object metamethod with optional arg guard and hook filter, returns a clone of the target object metamethod

restoremetamethod

void restoremetamethod(object: any, metamethod: string)

restores the target object metamethod, errors if not hooked

ismetamethodhooked

bool ismetamethodhooked(object: any, metamethod: string)

returns whenever the target object metamethod is hooked or not

hookproto

function hookfunction(target: function, hook: function)

target function must be a lua function hooks the target function, returns a clone of the target function

restoreproto

void restorefunction(target: function)

target function must be a lua function restores the target function, errors if not hooked

isfunctionhooked

bool isprotohooked(target: function)

target function must be a lua function returns whenever the target function is hooked or not

getfilter

function getfilter(unfiltered: function, filtered: function, filter: Filter)

converts specified functions into a "filtered" function, see Filter

Functions

Documentation of function-related Synapse Z environment functions

islclosure

bool islclosure(target: function)

returns whenever the target function is a lua function or not

iscclosure

bool iscclosure(target: function)

returns whenever the target function is a c function or not

isexecutorclosure

bool isexecutorclosure(target: function)

returns whenever the target function is an executor function or not

newlclosure

function newlclosure(target: function)

returns a new lua function of the specified function

newcclosure

function newcclosure(target: function, name: string?)

returns a new c function of the specified function with optional function name

clonefunction

function clonefunction(target: function)

returns a clone of the specified function

getfunctionbytecode

string getfunctionbytecode(target: function)

Input

Documentation of input-related Synapse Z environment functions

iswindowactive

bool iswindowactive()

returns whenever the roblox window is focused

mouse1click

void mouse1click(x: number?, y: number?)

clicks the left mouse button with optional x and y parameters

mouse1press

void mouse1press(x: number?, y: number?)

presses the left mouse button with optional x and y parameters

mouse1release

void mouse1release(x: number?, y: number?)

releases the left mouse button with optional x and y parameters

mouse2click

void mouse2click(x: number?, y: number?)

clicks the right mouse button with optional x and y parameters

mouse2press

void mouse2press(x: number?, y: number?)

presses the right mouse button with optional x and y parameters

mouse2release

void mouse2release(x: number?, y: number?)

releases the right mouse button with optional x and y parameters

mousemoveabs

void mousemoveabs(x: number, y: number)

moves the mouse to specified x and y coordinates

mousemoverel

void mousemoverel(x: number, y: number)

relatievly moves the mouse to specified x and y coordinates

mousescroll

void mousescroll(x: number, y: number)

scrolls the mouse with the specified x and y coordinates

keyclick

void keyclick(keycode: number)

clicks the key representing the specified keycode

keypress

void keypress(keycode: number)

presses the key representing the specified keycode

keyrelease

void keyrelease(keycode: number)

releases the key representing the specified keycode

iskeydown

bool iskeydown(keycode: number)

returns whenever the key representing the specified keycode is down or not

iskeytoggled

bool iskeytoggled(keycode: number)

returns whenever the key representing the specified keycode is toggled or not

Tables

Documentation of table-related Synapse Z environment functions

getgenv

table getgenv()

returns exploit global environment

getrenv

table getrenv()

returns roblox global environment

getreg

table getreg()

returns the current state registry table

getgc

table getgc()

returns the current state gc table

filtergc

table filtergc(type: string, special_filter: table?, return_one: bool?)

returns the current state gc table with filtered objects, special_filter can be used with types:

table

FieldTypeDescription
Keystable<any>key indexes that must match all table key indexes
Valuestable<any>values that must match all table values
KeyValuePairstable<any:any>key indexes and values that must match all table key indexes and values
Metatabletabletable must have the specified metatable

function

FieldTypeDescription
Namestringfunction name must match the specified name
Constantstable<any>constants that must match all function constants
Upvaluestable<any>upvalues that must match all function upvalues
IgnoreSynboolignore synapse functions
Protofunctionproto that must match the function proto
Environmenttableenvironment that the function must match
Hashstringhash that the function must match
StartLinenumberfunction starting line that the function must match (-1 to match c functions)

userdata

FieldTypeDescription
Tagnumberthe userdata tag that the userdata must match (see getuserdatatag for info)
Metatabletableuserdata must have the specified metatable

getrawmetatable

table getrawmetatable(object: any)

returns the metatable of the specified object, bypassing __metatable

getrawmetatable

table getrawmetatable(object: any, metatable: <table/nil>)

sets the metatable of the specified object, bypassing __metatable

setreadonly

void setreadonly(table: table, readonly: bool)

sets the table readonly flag

isreadonly

bool isreadonly(table: table)

returns whenever the table is readonly or not

setuntouched

void setuntouched(table: table, untouched: bool)

sets the table untouched (safeenv) flag

isuntouched

bool isuntouched(table: table)

returns whenever the table is untouched (safeenv) or not

makereadonly

void makereadonly(table: table)

sets the table readonly flag to true

makewriteable

void makewriteable(table: table)

sets the table readonly flag to false

newtable

table newtable(narray: number, nhash: number)

creates a new table with the specified sizes, narray must be >= 33, nhash must be >= 17

Miscellaneous

Documentation of miscellaneous Synapse Z environment functions

identifyexecutor

(string, string) identifyexecutor()

returns Synapse Z and current version

setclipboard

void setclipboard(content: string)

sets the clipboard content

getmemorystats

table<string:number> getmemorystats()

gets memory usage in MB for each object type

getfflag

any getfflag(name: string)

gets the specified fflag by name, errors if doesnt exist

setfflag

void setfflag(name: string, value: any)

sets the specified fflag by name, errors if doesnt exist

getfpscap

number getfpscap()

gets current fps cap

setfpscap

void setfpscap(fpscap: number)

sets current fps cap

queue_on_teleport

void queue_on_teleport(source: string)

queues the source to be executed on teleport

clear_teleport_queue

void clear_teleport_queue()

clears the teleport queue

getrendersteppedlist

table<function/table> getrendersteppedlist(extended_information: bool?)

returns a list of all functions binded to render step using RunService:BindToRenderStep, if extended_information is true then table with this prototype is returned:

FieldTypeDescription
Prioritynumberthe priority of the callback on render step
Namestringthe name of the render step callback
Threadthreadthe thread that the render step was binded in
Functionfunctionthe render step callback

getsimulationradius

number getsimulationradius()

returns local player simulation radius

setsimulationradius

void getsimulationradius(radius: number)

sets local player simulation radius

messagebox

number messagebox(text: string, caption: string, type: number?)

shows user a message box with the specified text, caption, type, see windows docs

setwindowtitle

void setwindowtitle(title: string)

sets roblox window title

issynapsethread

bool issynapsethread(thread: thread)

returns whenever the specified thread is synapse thread or not

getthreads

table<thread> getthreads()

returns a list of all threads

makeref

number makeref(object: any)

creates a reference to the specified object in luau registry, further obtainable using getref

getref

any getref(ref: number)

returns the object at the specified reference id in registry

getcstring

string getcstring(string: string)

returns a c string format of the specified string (returns trailing \0)

comparestring

bool comparestring(string1: string, string2: string)

compares the specified strings in c (bypassing trailing \0)

getuserdatatag

number getuserdatatag(target: userdata)

returns internal userdata tag (used for uniquely identifying different types of userdata)

Console

Documentation of console-related Synapse Z environment functions

rconsolecreate

void rconsolecreate()

creates roblox console if it wasnt already

rconsoledestroy

void rconsoledestroy()

closes roblox console if it exists

rconsoleprint

void rconsoleprint(content: string)

prints the specified string in roblox console

rconsolewarn

void rconsolewarn(content: string)

warns the specified string in roblox console

rconsoleerror

void rconsoleerror(content: string)

errors the specified string in roblox console

rconsoleinfo

void rconsoleinfo(content: string)

outputs as info the specified string in roblox console

rconsoleclear

void rconsoleclear()

clears roblox console output

rconsoletitle

void rconsoletitle(title: string)

sets roblox console title

rconsoleinput

string rconsoleinput()

gets roblox console user input

Signal

Documentation of signal-related Synapse Z environment functions

getconnections

table<SynConnection> getconnections(signal: RBXScriptSignal)

returns a list of all connections to the specified signal, see SynConnection

firesignal

void firesignal(signal: RBXScriptSignal, ...)

fires the signal connections (ignoring core/c connections)

getsignalarguments

table<string> getsignalarguments(signal: RBXScriptSignal)

returns signal argument types

cfiresignal

void cfiresignal(signal: RBXScriptSignal, ...)

fires all signal connections, arguments must be of correct types

cansignalreplicate

bool cansignalreplicate(signal: RBXScriptSignal)

returns whenever the signal can replicate or not

replicatesignal

void replicatesignal(signal: RBXScriptSignal, ...)

replicates the signal invocation to the server, arguments must be of correct types

hooksignal

void hooksignal(signal: RBXScriptSignal, hook: function)

hooks the signal connections (ignoring core/c connections), example:

hooksignal(game.Changed, function(connection, ...)
    return 
        true, -- call the original connection function?
        ... -- arguments to pass to the connection function
end)

restoresignal

void restoresignal(signal: RBXScriptSignal)

restores the specified signal connections, errors if not hooked

issignalhooked

bool issignalhooked(signal: RBXScriptSignal)

returns whenever the signal is hooked or not

geteventmember

RBXScriptSignal geteventmember(instance: Instance, event_name: string)

returns the specified signal of the instance, allowing to connect to nonscriptable signals

SynConnection

Documentation of Synapse Z SynConnection class

FieldTypeDescription
Functionfunction/userdatareturns the connection function (returns internal address for c connections)
Threadthreadreturns the connection thread (doesnt exist for c connections)
Objectuserdatareturns the internal c object (doesnt exist for lua connections)
ForeignThreadboolwhenever the connection was connected by a game/core thread
LuaConnectionboolwhenever the connection is lua or not
Enabledboolwhenever the connection is enabled or not
Disabledboolwhenever the connection is disabled or not

SynConnection:Enable

void SynConnection:Enable()

enables the connection if was disabled previously

NOTE: ignored for core connections

SynConnection:Disable

void SynConnection:Disable()

disables the connection

NOTE: ignored for core connections

SynConnection:Fire

void SynConnection:Fire()

fires the connection with the specified arguments

NOTE: ignored for c/core connections

SynConnection:Spawn

void SynConnection:Spawn()

spawns the connection with the specified arguments

NOTE: ignored for c/core connections

SynConnection:Defer

void SynConnection:Defer()

defers the connection with the specified arguments

NOTE: ignored for c/core connections

SynConnection:Hook

function SynConnection:Hook(hook: function)

hooks the connection function and returns the original

NOTE: ignored for c/core connections

Http

Documentation of http-related Synapse Z environment functions

httpget

string httpget(url: string)

performs a HTTP GET request and returns the response body

httppost

string httppost(url: string, body: string)

performs a HTTP POST request and returns the response body

request

table request(request: table)

performs a HTTP request with the specified request prototype:

FieldTypeDescription
Urlstringurl to perform the HTTP request on
MethodstringHTTP method of the request
Bodystringbody of the HTTP request
Headerstable<string:string>headers of the HTTP request
Cookiestable<string:string>cookies of the HTTP request

and returns a response of this prototype:

FieldTypeDescription
StatusCodenumberresponse status code
Successboolwhenever the request was successfull
Bodystringresponse body
Headerstable<string:string>response headers
Cookiestablereturns a blank table for backward compability

with: additional synapse z headers:

FieldTypeDescription
Syn-Fingerprintstringa fingerprint of user machine
Syn-User-Identifierstringa fingerprint of user synapse account

Actors

Documentation of actor-related Synapse Z environment functions

getactors

table<Actor/ActorProxy> getactors()

returns a list of all loaded actors

run_on_actor

void run_on_actor(actor: <Actor/ActorProxy>, source: string, ...)

runs the specified code on specified actor, additionaly passing arguments

check_parallel

bool check_parallel()

returns whenever the current thread is parallel

NOTE: if FFlagDebugRunParallelLuaOnMainThread is true, it would always return false, please account for this using getfflag.

get_current_actor

<Actor/ActorProxy/nil> get_current_actor()

returns the actor the thread is currently running on, returns nil if running on main global state

create_comm_channel

<SynCommChannel/(string, SynCommChannel)> create_comm_channel(name: string?)

returns a new communication channel if name is provided, else returns a random generated name and a new communication channel with the following prototype:

FieldTypeDescription
EventSynSignalthe event used for communication
Firevoid function(...)equal to this.Event:Fire(...)

get_comm_channel

SynCommChannel get_comm_channel(name: string)

returns the communication channel by name, errors if doesnt exist

Special

Documentation of special Synapse Z environment functions

perma_death

void perma_death(respawn_time: number?, callback_before_death: function?)

prevents your character from respawing and kills you (useful for reanimates)

NOTE: the function may get patched any update

perma_death_respawn

void perma_death_respawn()

respawns your character from perma_death

NOTE: the function may get patched any update

Libraries

syn

Documentation of Synapse Z syn library

syn.killprocess

void syn.killprocess(exit_code: number?)

kills roblox process with optional exit code

syn.trampoline_call

void syn.trampoline_call(target: function, callstack: table, options: table)

calls the target function on a new thread with the specified callstack and options, callstack is a list of tables with fields:

FieldTypeDescription
funcfunctionif specified would overwrite all other options (excluding currentline)
sourcestringchunkname of the function
namestringname of the function
numparamsnumbernumber of function parameters
is_varargnumberis function variadic
nupsnumbernumber of function upvalues
envtablefunction environment
currentlinenumbercurrent line the function is being executed on

options is a table with the following fields:

FieldTypeDescription
threadthreadthe thread to create a new thread from
scriptScriptthe script that the new thread will be assigned
envtableenvironment of the new thread
identitynumberidentity of the new thread
NOTE: trampoline_call cannot yield when callstack is provided

syn.protect_gui

void syn.protect_gui(gui: ScreenGui)

would automatically reparent the gui to gethui() when Parent is assigned

syn.unprotect_gui

void syn.unprotect_gui(gui: ScreenGui)

removes the gui protection

syn.get_auroraservice

AuroraService syn.get_auroraservice()

returns AuroraService, mostly a joke function

syn.sandbox

thread syn.sandbox(target: <Script/function>, callback: function)

runs target on a new sandboxed thread which calls callback on each luau instruction execution

syn.sandbox(function()
    warn("evil world")
    error()
end, function(pc, op, A, B, C, D, E)
    if pc == 2 then
        debug.setstack(2, 1, print) -- replace warn function with print
    elseif pc == 3 then
        debug.setstack(2, 2, "hello world") -- replace "evil world" with "hello world"
    elseif pc == 6 then
        return true -- skip error call
    end
end)

syn.spoof_memory_begin

void syn.spoof_memory_begin()

creates a copy of current memory usage and backups it when syn.spoof_memory_end is called

syn.spoof_memory_end

void syn.spoof_memory_end()

backups memory usage counter since syn.spoof_memory_begin call

syn.get_instance_count

void syn.get_instance_count()

equal to stats().InstanceCount

syn.set_instance_count

void syn.set_instance_count(count: number)

sets stats().InstanceCount to the specified count

syn.rpc

Documentation of Synapse Z syn.rpc library

syn.rpc.set

void syn.rpc.set(table: options)

sets discord rpc to the specified options with following fields:

FieldTypeDescription
ApplicationIdstringdiscord rpc application id
Statestringdiscord rpc state
Detailsstringdiscord rpc details
StartTimestampnumberstart timestamp of the discord rpc (UNIX time in seconds)
EndTimestampnumberend timestamp of the discord rpc (UNIX time in seconds)
LargeImageKeystringdiscord rpc large image key
LargeImageTextstringdiscord rpc large image text
SmallImageKeystringdiscord rpc small image key
SmallImageTextstringdiscord rpc small image text
PartyIdstringdiscord rpc party id
PartySizenumberdiscord rpc party size
PartyMaxnumberdiscord rpc party max
MatchSecretstringdiscord rpc match secret
JoinSecretstringdiscord rpc join secret
SpectateSecretstringdiscord rpc spectate secret
Instancenumberdiscord rpc instance

syn.rpc.remove

void syn.rpc.remove()

removes discord rpc if was set

cache

Documentation of Synapse Z cache library

cache.iscached

bool cache.iscached(instance: Instance)

returns whenever the instance is in registry cache or not

cache.invalidate

void cache.invalidate(instance: Instance)

removes the target instance from registry cache

cache.replace

void cache.replace(instance: Instance, replacement: Instance)

replaces the target instance in registry cache with the specified replacement

debug

Documentation of Synapse Z debug library

debug.getconstants

table<any> debug.getconstants(target: <number/function>)

gets constants of a lua function passed at target or number stack level

debug.getconstant

any debug.getconstant(target: <number/function>, index: number)

gets constant of a lua function passed at target or number stack level (uses lua based indexing)

debug.setconstant

void debug.setconstant(target: <number/function>, index: number, value: any)

sets constant of a lua function passed at target or number stack level (uses lua based indexing)

debug.getupvalues

table<any> debug.getupvalues(target: <number/function>)

gets upvalues of a lua function passed at target or number stack level

debug.getupvalue

any debug.getupvalue(target: <number/function>, index: number)

gets upvalue of a lua function passed at target or number stack level (uses lua based indexing)

debug.setupvalue

void debug.setupvalue(target: <number/function>, index: number, value: any)

sets upvalue of a lua function passed at target or number stack level (uses lua based indexing)

debug.getprotos

table<function> debug.getprotos(target: <number/function>)

gets protos of a lua function passed at target or number stack level

debug.getproto

<function/table<function>> debug.getproto(target: <number/function>, index: number, active: bool?)

gets proto of a lua function passed at target or number stack level (uses lua based indexing)

if active is true returns a list of all loaded functions with the proto

debug.getstack

<any/table<any>> debug.getstack(stack_level: number, index: number?)

gets full stack or a single element of the stack on stack_level if index is provided

debug.setstack

void debug.setstack(stack_level: number, index: number, value: any)

sets a value of the stack on stack_level

debug.getinfo

table debug.getinfo(target: <number/function>, options: string?)

gets info of target function or target call stack function

return value is a table of this prototype:

FieldTypeOptionDescription
funcfunctionfthe target function / the function on the callstack
linedefinednumberlthe line that the function was defined on
currentlinenumberlcurrent line that the function is executing
namestringnthe name of the function
sourcestringsthe chunkname where the function was made
short_srcstringsthe shortened chunkname where the function was made
whatstringsLua/C depending on whenever the function is lua or not
numparamsnumberunumber of function parameters
is_varargnumberuwhenever the function is variadic or not
nupsnumberunumber of function upvalues

debug.getcallstack

table<function> debug.getcallstack(start_level: number?)

returns the whole callstack or the callstack before start_level if specified

debug.isvalidlevel

bool debug.isvalidlevel(stack_level: number)

returns whenever the stack level is valid or not

crypt

Documentation of Synapse Z crypt library

crypt.encrypt

string crypt.encrypt(data: string, key: string, additional_data: string?)

uses libsodium secretbox or aead if additonal_data is provided, nonce is appended to the start

crypt.decrypt

string crypt.decrypt(data: string, key: string, additional_data: string?)

uses libsodium secretbox or aead if additonal_data is provided

crypt.hash

string crypt.hash(data: string, key: string?)

uses blake2b_sha512 with optional key

crypt.hmac

string crypt.hmac(data: string, key: string)

uses libsodium auth

crypt.random

string crypt.random(size: number)

generates a random string with the specified size (size >= 0 and size <= 1024)

crypt.generatebytes

string crypt.generatebytes(size: number)

generates a random string with the specified size (size >= 0 and size <= 1024) and encodes it using base64

crypt.generatekey

string crypt.generatekey()

equal to crypt.generatebytes(32)

crypt.derive

Documentation of Synapse Z crypt.derive library

crypt.derive.key

string crypt.derive.key(result_size: number, key: string, id: <string/number>, context: string?)

if id is a number then context is required to perform libsodium kfd key derivation

else performs a blake2b_sha512 with the specified key and id

crypt.derive.password

string crypt.derive.password(result_size: number, password: string, salt: string, type: number)

uses libsodium pwhash

type can be any of following:

TypeNameTypeValueDescription
Interactive0Fastest type of pwhash
Moderate1Second fastest type of pwhash
Sensitive2Slowest type of pwhash, used for advanced password hashing

crypt.user

Documentation of Synapse Z crypt.user library

crypt.user.encrypt

string crypt.user.encrypt(data: string, type: number, additional_data: string?)

uses libsodium secretbox or aead if additonal_data is provided, nonce is appended to the start

type can be any of following:

TypeNameTypeValueDescription
SynapseAccount0the data could be decrypted if the user have the same synapse account
WindowsAccount1the data could be decrypted if the user have the same synapse account and the same windows account
SynapseIdentifier2the data could be decrypted if the user have the same synapse acciunt and same HWID

crypt.user.decrypt

string crypt.user.decrypt(data: string, type: number, additional_data: string?)

uses libsodium secretbox or aead if additonal_data is provided, see crypt.user.encrypt

crypt.seal

Documentation of Synapse Z crypt.seal library

crypt.seal.keygen

(string, string) crypt.seal.keygen()

generates libsodioum cryptography seal public and secret key

crypt.seal.encrypt

string crypt.seal.encrypt(data: string, public_key: string)

encrypts the data using libsodium box_seal, which could only be decrypted with the secret key

crypt.seal.decrypt

string crypt.seal.decrypt(data: string, public_key; string, secret_key: string)

decrypts the data generated using crypt.seal.encrypt

crypt.sign

Documentation of Synapse Z crypt.sign library

crypt.sign.keygen

(string, string) crypt.sign.keygen()

generates libsodioum cryptography sign public and secret key

crypt.sign.encrypt

string crypt.sign.create(data: string, secret_key: string)

signs the data using libsodium sign with the secret key

crypt.sign.decrypt

string crypt.sign.open(data: string, public_key; string)

verifies the data using public key and returns it

crypt.hex

Documentation of Synapse Z crypt.hex library

crypt.hex.encode

string crypt.hex.encode(string: data)

returns the string in hex format

crypt.hex.decode

string crypt.hex.decode(string: data)

decodes the string from hex format

crypt.base64

Documentation of Synapse Z crypt.base64 library

crypt.base64.encode

string crypt.base64.encode(data: string)

returns the string in base64 format

crypt.base64.decode

string crypt.base64.decode(string: data)

decodes the string from base64 format

crypt.lz4

Documentation of Synapse Z crypt.lz4 library

crypt.lz4.compress

string crypt.lz4.compress(data: string)

compresses data using lz4

crypt.lz4.decompress

string crypt.lz4.decompress(string: data, return_size: number?)

decompresses data using lz4, optionally can specify return size

Drawing

Documentation of Synapse Z Drawing library

Drawing.new

SynDrawing Drawing.new(type: string)

creates a new drawing of the specified type, see subclasses

DrawingLineObject

Documentation of Synapse Z DrawingLineObject class

FieldTypeDescription
__OBJECT_EXISTSboolwhenever the drawing object exists or not
__OBJECT_TYPEstringthe type of the drawing object
Visibleboolwhenever the drawing object is rendered or not
ZIndexnumberpriority of the drawing object renderer
Transparencynumbernumber between 0 and 1 where 0 is fully visible, 1 is fully invisible
Opacitynumbernumber between 0 and 1 where 0 is fully invisible, 1 is fully visible
ColorColor3the color of the drawing object
Thicknessnumberthickness of the line
FromVector2position where the line starts at
ToVector2position where the line ends at

DrawingLineObject:Remove

void DrawingLineObject:Remove()

removes the drawing object from drawing object list

DrawingTextObject

Documentation of Synapse Z DrawingTextObject class

FieldTypeDescription
__OBJECT_EXISTSboolwhenever the drawing object exists or not
__OBJECT_TYPEstringthe type of the drawing object
Visibleboolwhenever the drawing object is rendered or not
ZIndexnumberpriority of the drawing object renderer
Transparencynumbernumber between 0 and 1 where 0 is fully visible, 1 is fully invisible
Opacitynumbernumber between 0 and 1 where 0 is fully invisible, 1 is fully visible
ColorColor3the color of the drawing object
Centeredboolwhenever the drawing text is centered or not
Outlinedboolwhenever the drawing text is outlined or not
FontSizenumbersize of the font used by this drawing object
Fontnumberfont id used by this drawing object
PositionVector2position of the drawing object
OutlineColorColor3color of the text outline
Textstringthe drawing object text

DrawingTextObject:Remove

void DrawingTextObject:Remove()

removes the drawing object from drawing object list

DrawingImageObject

Documentation of Synapse Z DrawingImageObject class

FieldTypeDescription
__OBJECT_EXISTSboolwhenever the drawing object exists or not
__OBJECT_TYPEstringthe type of the drawing object
Visibleboolwhenever the drawing object is rendered or not
ZIndexnumberpriority of the drawing object renderer
Transparencynumbernumber between 0 and 1 where 0 is fully visible, 1 is fully invisible
Opacitynumbernumber between 0 and 1 where 0 is fully invisible, 1 is fully visible
ColorColor3the color of the drawing object
Roundingnumberrounding of the drawing image
PositionVector2position of the drawing object
SizeVector2size of the drawing object
Datastring (writeonly)raw data of the image

DrawingImageObject:Remove

void DrawingImageObject:Remove()

removes the drawing object from drawing object list

DrawingCircleObject

Documentation of Synapse Z DrawingCircleObject class

FieldTypeDescription
__OBJECT_EXISTSboolwhenever the drawing object exists or not
__OBJECT_TYPEstringthe type of the drawing object
Visibleboolwhenever the drawing object is rendered or not
ZIndexnumberpriority of the drawing object renderer
Transparencynumbernumber between 0 and 1 where 0 is fully visible, 1 is fully invisible
Opacitynumbernumber between 0 and 1 where 0 is fully invisible, 1 is fully visible
ColorColor3the color of the drawing object
Thicknessnumberthickness of the drawing object
NumSidesnumbernumber of sides in the circle
Radiusnumberradius of the circle
Filledboolwhenever the circle is filled or not
PositionVector2position of the drawing object

DrawingCircleObject:Remove

void DrawingCircleObject:Remove()

removes the drawing object from drawing object list

DrawingSquareObject

Documentation of Synapse Z DrawingSquareObject class

FieldTypeDescription
__OBJECT_EXISTSboolwhenever the drawing object exists or not
__OBJECT_TYPEstringthe type of the drawing object
Visibleboolwhenever the drawing object is rendered or not
ZIndexnumberpriority of the drawing object renderer
Transparencynumbernumber between 0 and 1 where 0 is fully visible, 1 is fully invisible
Opacitynumbernumber between 0 and 1 where 0 is fully invisible, 1 is fully visible
ColorColor3the color of the drawing object
Thicknessnumberthickness of the drawing object
Filledboolwhenever the circle is filled or not
PositionVector2position of the drawing object
SizeVector2size of the drawing object

DrawingSquareObject:Remove

void DrawingSquareObject:Remove()

removes the drawing object from drawing object list

DrawingTriangleObject

Documentation of Synapse Z DrawingTriangleObject class

FieldTypeDescription
__OBJECT_EXISTSboolwhenever the drawing object exists or not
__OBJECT_TYPEstringthe type of the drawing object
Visibleboolwhenever the drawing object is rendered or not
ZIndexnumberpriority of the drawing object renderer
Transparencynumbernumber between 0 and 1 where 0 is fully visible, 1 is fully invisible
Opacitynumbernumber between 0 and 1 where 0 is fully invisible, 1 is fully visible
ColorColor3the color of the drawing object
Thicknessnumberthickness of the drawing object
Filledboolwhenever the circle is filled or not
PointAVector2first point of the triangle
PointBVector2second point of the triangle
PointCVector2third point of the triangle

DrawingTriangleObject:Remove

void DrawingTriangleObject:Remove()

removes the drawing object from drawing object list

DrawingQuadObject

Documentation of Synapse Z DrawingQuadObject class

FieldTypeDescription
__OBJECT_EXISTSboolwhenever the drawing object exists or not
__OBJECT_TYPEstringthe type of the drawing object
Visibleboolwhenever the drawing object is rendered or not
ZIndexnumberpriority of the drawing object renderer
Transparencynumbernumber between 0 and 1 where 0 is fully visible, 1 is fully invisible
Opacitynumbernumber between 0 and 1 where 0 is fully invisible, 1 is fully visible
ColorColor3the color of the drawing object
Thicknessnumberthickness of the drawing object
Filledboolwhenever the circle is filled or not
PointAVector2first point of the quad
PointBVector2second point of the quad
PointCVector2third point of the quad
PointDVector2fourth point of the quad

DrawingQuadObject:Remove

void DrawingQuadObject:Remove()

removes the drawing object from drawing object list

Filter

Filters are used for faster/easier hooking argument/call/etc validation

NotFilter

Documentation of Synapse Z NotFilter class

NotFilter.new

userdata NotFilter.new(other: Filter)

creates a filter which reverses the other filter

AnyFilter

Documentation of Synapse Z AnyFilter class

AnyFilter.new

userdata AnyFilter.new(filters: table<Filter>)

creates a filter which would return true if any of the filters are true

AllFilter

Documentation of Synapse Z AllFilter class

AllFilter.new

userdata AllFilter.new(filters: table<Filter>)

creates a filter which would return true if all of the filters are true

TypeFilter

Documentation of Synapse Z TypeFilter class

TypeFilter.new

userdata TypeFilter.new(argument_index: number, type: string)

creates a filter which would return true if the argument at the specified index is of the specified type

NamecallFilter

Documentation of Synapse Z NamecallFilter class

NamecallFilter.new

userdata NamecallFilter.new(method: string)

creates a filter which would return true if the current thread is currently in a namecall and matches the specified method

InstanceTypeFilter

Documentation of Synapse Z InstanceTypeFilter class

InstanceTypeFilter.new

userdata InstanceTypeFilter.new(argument_index: number, class_name: string)

creates a filter which would return true if the argument at the specified index is an instance and matches the specified class_name

UserdataTypeFilter

Documentation of Synapse Z UserdataTypeFilter class

UserdataTypeFilter.new

userdata UserdataTypeFilter.new(argument_index: number, type: <userdata/string>)

creates a filter which would return true if the argument at the specified index is an userdata and matches the specified type (providing type as a sample userdata of the type would result in better checking)

ArgumentFilter

Documentation of Synapse Z ArgumentFilter class

ArgumentFilter.new

userdata ArgumentFilter.new(argument_index: number, value: any)

creates a filter which would return true if the argument at the specified index matches the value

ArgCountFilter

Documentation of Synapse Z ArgCountFilter class

ArgCountFilter.new

userdata ArgCountFilter.new(argument_count: number)

creates a filter which would return true if the argument count matches the specified count

CallerFilter

Documentation of Synapse Z CallerFilter class

CallerFilter.new

userdata CallerFilter.new(invert: bool)

creates a filter which would return true (or false if invert is true) if the caller thread is synapse thread

Regex

Documentation of Synapse Z Regex class

Regex.new

SynRegex Regex.new(pattern: string)

creates a SynRegex based of the patten

Regex.Escape

string Regex.Escape(data: string)

"escapes" the specified string for usage in regex

SynRegex

Documentation of Synapse Z SynRegex class

SynRegex:Match

Match SynRegex:Match(target: string)

matches the patten in the target string and returns the first match, see Match

SynRegex:MatchMany

table<Match> SynRegex:MatchMany(target: string)

matches the patten in the target string

SynRegex:Replace

string SynRegex:Replace(target: string, replacement: string)

matches the patten in the target string and replaces with the specified replacement

Match

Documentation of Synapse Z Match class

FieldTypeDescription
Capturestable<table<string, number, number>>returns a table of patten captures, in format match_string, match_position, match_size

Duration

Documentation of Synapse Z Duration class

Duration.TimeSinceEpoch

table Duration.TimeSinceEpoch()

returns a new duration object with its fields being current time since epoch

Duration.FromNanoseconds

table Duration.FromNanoseconds(nanoseconds: number)

returns a new duration object with its fields being the nanoseconds time

Duration.FromMicroseconds

table Duration.FromMicroseconds(microseconds: number)

returns a new duration object with its fields being the microseconds time

Duration.FromMilliseconds

table Duration.FromMilliseconds(milliseconds: number)

returns a new duration object with its fields being the milliseconds time

Duration.FromSeconds

table Duration.FromSeconds(seconds: number)

returns a new duration object with its fields being the seconds time

Duration.FromMinutes

table Duration.FromMinutes(minutes: number)

returns a new duration object with its fields being the minutes time

Duration.FromHours

table Duration.FromHours(hours: number)

returns a new duration object with its fields being the hours time

Duration.FromDays

table Duration.FromDays(days: number)

returns a new duration object with its fields being the days time

Duration.FromWeeks

table Duration.FromWeeks(weeks: number)

returns a new duration object with its fields being the weeks time

Duration.FromMonths

table Duration.FromMonths(months: number)

returns a new duration object with its fields being the months time

Duration.FromYears

table Duration.FromYears(years: number)

returns a new duration object with its fields being the years time

FieldTypeDescription
Nanosecondsnumberthe time in nanoseconds
Microsecondsnumberthe time in microseconds
Millisecondsnumberthe time in milliseconds
Secondsnumberthe time in seconds
Minutesnumberthe time in minutes
Hoursnumberthe time in hours
Daysnumberthe time in days
Weeksnumberthe time in weeks
Monthsnumberthe time in months
Yearsnumberthe time in years

Stopwatch

Documentation of Synapse Z Stopwatch class

Stopwatch.new

SynStopwatch Stopwatch.new()

creates a new SynStopwatch object

SynStopwatch

Documentation of Synapse Z SynStopwatch class

FieldTypeDescription
ElapsedTimeDurationthe elapsed time since Start and Stop calls

SynStopwatch:Start

void SynStopwatch:Start()

starts the stopwatch

SynStopwatch:Stop

void SynStopwatch:Stop()

stops the stopwatch

SynStopwatch:Reset

void SynStopwatch:Reset()

resets the stopwatch elapsed time

Timer

Documentation of Synapse Z Timer class

Timer.new

SynTimer Timer.new()

creates a new SynTimer object

SynTimer

Documentation of Synapse Z SynTimer class

FieldTypeDescription
Enabledboolwhenever the timer is enabled or not
RepetitionCountnumberhow much times would the timer repeat
IntervalDurationinterval between each timer elapse
TimeLeftDurationtime left before next elapse
LastElapsedDurationlast time the timer elapsed
OnElapsedRBXScriptSignalthe event on elapse

NOTE: the timer starts once you set Enabled to true