Unity Exploit

Exploit for Unity Games


Base API

ByteArray

__call

fun(self: ByteArray, n: integer):sol.ByteArray|fun(self: ByteArray, value: table):sol.ByteArray

ByteArray

ByteArray

ByteArrayView

__call

fun(self: ByteArrayView, pointer: sol.Pointer, len: integer):sol.ByteArrayView|fun(self: ByteArrayView, value: sol.ByteArray):sol.ByteArrayView

ByteArrayView

ByteArrayView

ConcurrentTable

ConcurrentTable

ConcurrentTable

__call

fun(self: ConcurrentTable):sol.ConcurrentTable|fun(self: ConcurrentTable, value: table):sol.ConcurrentTable

Directory

Directory

Directory

CreateDirectory

fun(name: string):boolean

Delete

fun(name: string):nil

Exists

fun(name: string):boolean

GetCurrentDirectory

fun():string

GetDirectories

fun(path: string):string[]

GetDirectoryRoot

fun(path: string):string

GetFiles

fun(path: string):string[]

GetParent

fun(path: string):string

Move

fun(sourceDirName: string, destDirName: string):nil

EnginePath

function EnginePath()
  -> string

File

File

File

AppendAllBytes

fun(path: string, barr: sol.ByteArray):nil

AppendAllText

fun(path: string, text: string):nil

Copy

fun(sourcePath: string, destPath: string):nil

Delete

fun(path: string):nil

Exists

fun(filename: string):boolean

Move

fun(sourcePath: string, destPath: string):nil

ReadAllBytes

fun(filename: string):sol.ByteArray

ReadAllText

fun(filename: string):string

WriteAllBytes

fun(filename: string, barr: sol.ByteArray):nil

WriteAllText

fun(filename: string, text: string):nil

GUI

ArrowButton

fun(label: string, key: GUI.Dir):boolean|fun(label: string, key: GUI.Dir, state: table):boolean

Bullet

fun():nil

Button

fun(label: string):boolean|fun(label: string, state: table):boolean

CheckBox

fun(label: string, state: table):table

Child

fun(label: string, callback: fun():nil):boolean

CollapsingHeader

fun(label: string):boolean|fun(label: string, state: table):boolean

ColorButton

fun(label: string, callback: table):table

ColorEdit3

fun(label: string, callback: table):table

ColorEdit4

fun(label: string, callback: table):table

ColorPicker3

fun(label: string, callback: table):table

ColorPicker4

fun(label: string, callback: table):table

ComboBox

fun(label: string, state: table):table

DragFloat

fun(label: string, state: table):table

DragInt

fun(label: string, state: table):table

InputDouble

fun(label: string, state: table):table

InputFloat

fun(label: string, state: table):table

InputInt

fun(label: string, state: table):table

InputPassword

fun(label: string, state: table):table

InputTextWithHint

fun(label: string, hint: string, state: table):table

InvisibleButton

fun(label: string, size: GUI.Vector2):boolean

Label

fun(label: string):nil|fun(label: string, state: table):nil

ListBox

fun(label: string, state: table):table

PlotHistogram

fun(label: string, state: table):table

PlotLines

fun(label: string, state: table):table

ProgressBar

fun(fraction: number):nil|fun(fraction: number, state: table):nil

RadionButton

fun(label: string, checked: boolean):boolean|fun(label: string, checked: boolean, index: integer):table

RepeatButton

fun(label: string):boolean|fun(label: string, state: table):boolean

SameLine

fun():nil

Separator

fun():nil

SliderAngle

fun(label: string, state: table):table

SliderFloat

fun(label: string, state: table):table

SliderInt

fun(label: string, state: table):table

SmallButton

fun(label: string):boolean|fun(label: string, state: table):boolean

Spacing

fun():nil

Tab

fun(label: string, callback: fun():(any, state: table)):table

Table

fun(label: string, callback: fun():(any, state: table)):table

TextInput

fun(label: string, state: table):table

TextInputMultiline

fun(label: string, state: table):table

Tooltip

fun(callback: fun():any):nil

TreeNode

fun(label: string, callback: fun():any):boolean

VSliderFloat

fun(label: string, state: table):table

VSliderInt

fun(label: string, state: table):table

ValueBool

fun(prefix: string, v: boolean):nil

ValueFloat

fun(prefix: string, v: number):nil

ValueInt

fun(prefix: string, v: integer):nil

ValueUint

fun(prefix: string, v: integer):nil

GUI

table

GUI.Color

__call

fun():sol.GUI.Color|fun(R: number, G: number, B: number):sol.GUI.Color|fun(R: number, G: number, B: number, A: number):sol.GUI.Color

GUI.Color

GUI.Color

GUI.Dir

Down

1

Left

3
2

Up

0

GUI.Vector2

__call

fun():sol.GUI.Vector2|fun(x: number, y: number):sol.GUI.Vector2

GUI.Vector2

GUI.Vector2

Mutex

Mutex

Mutex

__call

fun(self: Mutex):sol.Mutex

Path

Path

Path

ChangeExtension

fun(path: string, extension: string):string

Combine

fun(path1: string, path2: string):string

GetDirectoryName

fun(path: string):string

GetExtension

fun(path: string):string

GetFileName

fun(path: string):string

GetFullPath

fun(path: string):string

GetRandomFileName

fun():string

GetRelativePath

fun(path: string, base: string):string

GetTempFileName

fun():string

GetTempPath

fun():string

HasExtension

fun(path: string):boolean

IsPathRooted

fun(path: string):boolean

Join

fun(path1: string, path2: string):string

Normalize

fun(path: string):string

Point

__call

fun(self: Point):sol.Point|fun(self: Point, x: integer, y: integer):sol.Point

Point

Point

Pointer

Alloc

fun(n: integer):string

Nil

sol.Pointer

Size

integer

__call

fun(self: Pointer, value: any):sol.Pointer

Pointer

Pointer

Primitives

Primitives

Primitives

GetBool

fun(ptr: any):boolean

GetByte

fun(ptr: any):integer

GetByteArray

fun(ptr: any, len: integer):integer

GetChar

fun(ptr: any):string

GetDouble

fun(ptr: any):number

GetFloat

fun(ptr: any):number

GetInt

fun(ptr: any):integer

GetLong

fun(ptr: any):integer

GetPointer

fun(ptr: any):sol.Pointer

GetSbyte

fun(ptr: any):integer

GetShort

fun(ptr: any):integer

GetString

fun(ptr: any):string

GetUint

fun(ptr: any):integer

GetUlong

fun(ptr: any):integer

GetUshort

fun(ptr: any):integer

NewBool

fun(value: boolean):sol.SafePointer

NewByte

fun(value: integer):sol.SafePointer

NewByteArray

fun(value: ByteArray):sol.SafePointer

NewChar

fun(value: string):sol.SafePointer

NewDouble

fun(value: number):sol.SafePointer

NewFloat

fun(value: number):sol.SafePointer

NewInt

fun(value: integer):sol.SafePointer

NewLong

fun(value: integer):sol.SafePointer

NewPointer

fun(value: any):sol.SafePointer

NewSByte

fun(value: integer):sol.SafePointer

NewShort

fun(value: integer):sol.SafePointer

NewString

fun(value: string):sol.SafePointer

NewUint

fun(value: integer):sol.SafePointer

NewUlong

fun(value: integer):sol.SafePointer

NewUshort

fun(value: integer):sol.SafePointer

SetBool

fun(ptr: any, value: boolean):nil

SetByte

fun(ptr: any, value: integer):nil

SetByteArray

fun(ptr: any, value: sol.ByteArray):nil

SetChar

fun(ptr: any, value: string):nil

SetDouble

fun(ptr: any, value: number):nil

SetFloat

fun(ptr: any, value: number):nil

SetInt

fun(ptr: any, value: integer):nil

SetLong

fun(ptr: any, value: integer):nil

SetPointer

fun(ptr: any, value: any):nil

SetSbyte

fun(ptr: any, value: integer):nil

SetShort

fun(ptr: any, value: integer):nil

SetString

fun(ptr: any, value: string):nil

SetUint

fun(ptr: any, value: integer):nil

SetUlong

fun(ptr: any, value: integer):nil

Process

Alert

fun(text: string, caption: string):string

Alloc

fun(address: any, len: integer, allocationtype: Process.AllocationType, memoryprotection: Process.MemoryProtection):sol.Pointer

Free

fun(address: any, len: integer, freetype: Process.FreeType)

GetID

fun():integer

GetModuleFromName

fun(dll: string):sol.Pointer

GetModules

fun():sol.Pointer[]

GetName

fun():string

GetProcAddress

fun(dll: string, lpProcName: string):sol.Pointer

HideConsole

fun():nil

Inject

fun(dll: string):sol.Pointer

Invoke

fun(fun: any, arg: any):sol.Pointer

Is64Bits

fun():boolean

IsVisibleConsole

fun():boolean

KeyIsDown

fun(key: integer):boolean

KeyIsUp

fun(key: integer):boolean

ReadMemory

fun(pointer: any, len: integer):sol.ByteArray

ShowConsole

fun():nil

WriteMemory

fun(address: any, barr: sol.ByteArray):nil|fun(address: any, barr: sol.ByteArrayView):nil|fun(address: any, list: table):nil

memcpy

fun(Dst: any, Src: any, len: integer):nil

Process

Process

Process.AllocationType

COMMIT

0

00001000

LARGE_PAGES

0

20000000

PHYSICAL

0

00400000

RESERVE

0

00002000

RESET

0

00080000

RESET_UNDO

0

1000000

TOP_DOWN

0

00100000

WRITE_WATCH

0

00200000


Process.FreeType

COALESCE_PLACEHOLDERS

0

00000001

DECOMMIT

0

00004000

PRESERVE_PLACEHOLDER

0

00000002

RELEASE

0

00008000


Process.MemoryProtection

EXECUTE

0

10

EXECUTE_READ

0

20

EXECUTE_READWRITE

0

40

EXECUTE_WRITECOPY

0

80

GUARD

0

100

NOACCESS

0

01

NOCACHE

0

200

READONLY

0

02

READWRITE

0

04

TARGETS_INVALID

0

40000000

TARGETS_NO_UPDATE

0

40000000

WRITECOMBINE

0

400

WRITECOPY

0

08


SafePointer

Alloc

fun(n: integer):string

Nil

sol.Pointer

Size

integer

__call

fun(self: SafePointer, n: integer):sol.SafePointer

SafePointer

SafePointer

Size

Size

Size

__call

fun(self: Size):sol.Size|fun(self: Size, width: integer, height: integer):sol.Size

Unity

table

Unity.IsIl2Cpp

function Unity.IsIl2Cpp()
  -> boolean

Unity.IsMono

function Unity.IsMono()
  -> boolean

Unity.IsUnity

function Unity.IsUnity()
  -> boolean

Unity.RegisterInOneUpdate

function Unity.RegisterInOneUpdate(callback: fun():any)
  -> nil

Unity.RegisterInUpdate

function Unity.RegisterInUpdate(name: string, callback: fun():any)
  -> nil

Unity.SetMainUpdateHook

function Unity.SetMainUpdateHook(pointer: sol.Pointer)
  -> boolean

Unity.UnregisterInUpdate

function Unity.UnregisterInUpdate(name: string)
  -> nil

UnityUtilsVersion

string

Window

Window

Window

__call

fun(self: Window, windowname: string):sol.Window

globalThis

sol.ConcurrentTable

input

function input(label: string)
  -> string

loadDLL

function loadDLL(dllpath: string)
  -> any

packages

sol.ConcurrentTable

sleep

function sleep(ms: integer)
  -> nil

sol.ByteArray

Address

sol.Pointer

ForEach

fun(self: sol.ByteArray, callback: fun(v: integer):any)

Get

fun(self: sol.ByteArray, index: integer):integer

GetByteArray

fun(self: sol.ByteArray, index: integer, len: integer):sol.ByteArray

GetList

fun(self: sol.ByteArray, index: integer, len: integer):table

Length

integer

Set

fun(self: sol.ByteArray, index: integer, value: integer):nil

SetFromByteArray

fun(self: sol.ByteArray, index: integer, barray: sol.ByteArray):nil

SetFromByteArrayView

fun(self: sol.ByteArray, index: integer, barray: sol.ByteArrayView):nil

SetFromList

fun(self: sol.ByteArray, index: integer, list: table):nil

__gc

fun(self: sol.ByteArray):nil

__pointer

fun(self: sol.ByteArray):sol.Pointer

__tostring

fun(self: sol.ByteArray):string

sol.ByteArrayView

Address

sol.Pointer

ForEach

fun(self: sol.ByteArrayView, callback: fun(v: integer):any):nil

Get

fun(self: sol.ByteArrayView, index: integer):integer

GetByteArray

fun(self: sol.ByteArrayView, index: integer, len: integer):sol.ByteArray

GetList

fun(self: sol.ByteArrayView, index: integer, len: integer):table

Length

integer

Set

fun(self: sol.ByteArrayView, index: integer, value: integer):nil

SetFromByteArray

fun(self: sol.ByteArrayView, index: integer, value: ByteArray):nil

SetFromByteArrayView

fun(self: sol.ByteArrayView, index: integer, value: sol.ByteArrayView):nil

SetFromList

fun(self: sol.ByteArrayView, index: integer, value: table):nil

__pointer

fun(self: sol.ByteArrayView):sol.Pointer

__tostring

fun(self: sol.ByteArrayView):string

sol.ConcurrentTable

Clear

fun(self: sol.ConcurrentTable):nil

ContainsKey

fun(self: sol.ConcurrentTable, key: table):boolean

ForEach

fun(self: sol.ConcurrentTable, callback: fun(key: any, value: any):any):nil

Get

fun(self: sol.ConcurrentTable, key: any):any

GetCount

fun(self: sol.ConcurrentTable):integer

GetKeys

fun(self: sol.ConcurrentTable):table

GetValues

fun(self: sol.ConcurrentTable):table

IsEmpty

fun(self: sol.ConcurrentTable):boolean

Set

fun(self: sol.ConcurrentTable, key: any, value: any):any

ToTable

fun(self: sol.ConcurrentTable):table

__gc

fun(self: sol.ConcurrentTable, value: table):nil

__len

fun(self: sol.ConcurrentTable):integer

sol.GUI.Color

A

number

B

number

G

number

R

number

sol.GUI.Vector2

X

number

Y

number

sol.Mutex

Lock

fun(self: sol.Mutex):nil

Unlock

fun(self: sol.Mutex):nil

sol.Point

X

integer

Y

integer

sol.Pointer

Address

sol.Pointer

Equals

fun(self: sol.Pointer, otherv: any):boolean

IsNil

fun(self: sol.Pointer):boolean

ToInt

fun(self: sol.Pointer):integer

__add

fun(self: sol.Pointer, otherv: any):sol.Pointer

__div

fun(self: sol.Pointer, otherv: any):sol.Pointer

__eq

fun(self: sol.Pointer, otherv: any):boolean

__len

fun(self: sol.Pointer):integer

__mul

fun(self: sol.Pointer, otherv: any):sol.Pointer

__pointer

fun(self: sol.Pointer):sol.Pointer

__sub

fun(self: sol.Pointer, otherv: any):sol.Pointer

__tostring

fun(self: sol.Pointer):string

__unm

fun(self: sol.Pointer):sol.Pointer

sol.SafePointer

Address

sol.Pointer

Equals

fun(self: sol.Pointer, otherv: any):boolean

IsNil

fun(self: sol.Pointer):boolean

ToInt

fun(self: sol.Pointer):integer

__add

fun(self: sol.Pointer, otherv: any):sol.Pointer

__div

fun(self: sol.Pointer, otherv: any):sol.Pointer

__eq

fun(self: sol.Pointer, otherv: any):boolean

__gc

fun(self: sol.SafePointer):nil

__len

fun(self: sol.Pointer):integer

__mul

fun(self: sol.Pointer, otherv: any):sol.Pointer

__pointer

fun(self: sol.Pointer):sol.Pointer

__sub

fun(self: sol.Pointer, otherv: any):sol.Pointer

__tostring

fun(self: sol.Pointer):string

__unm

fun(self: sol.Pointer):sol.Pointer

sol.Size

Height

integer

Width

integer

sol.Window

Exited

boolean

Location

sol.Point

Render

fun(self: sol.Window, callback: fun(isopened: boolean):any)

Size

sol.Size

StyleDark

fun(self: sol.Window):nil

StyleLight

fun(self: sol.Window):nil

Text

string

TopMost

boolean

__gc

fun(self: sol.Window):nil

try

function try(fn: fun():any, onerror: fun(error: string):any)
  -> nil