Skip to content

Releases: 3skue/xAPI4

xAPI v4.4

17 Nov 14:21
dfbf8a0
Compare
Choose a tag to compare

Added:

  • decentralized GetObjects: game:GetObjects is now able to import untrusted models without InsertService

Fixed:

  • fixed proxy piping and networking

Full Changelog: v4.3...v4.4

xAPI v4.3

20 Sep 18:59
ceb06f4
Compare
Choose a tag to compare

Added:

  • added instance wrapping: xAPI now supports game.CoreGui, game:GetHttp, and more!
  • full command bar compatibility

Changed:

  • hopefully fixed most problems with the decompiler, function hooking and loadstring

xAPI v4.2

01 Aug 13:57
750b755
Compare
Choose a tag to compare

Added:

  • FFlags - You can now disable and enable settings to efficiently modify how xAPI works (xAPI → FFlags)
  • run_on_actor
  • Synapse X library and aliases
  • Even more aliases
  • File system
  • setreadonly
  • checkcallstack
  • cache.replace
  • fireproximityprompt
  • loadstring, clonefunction, execute_clipboard, and the teleport queue are now equipped with the xAPI environment
  • prob some other things I forgor

Changed:

  • Improved decompiler even moar
  • Better Instance type checking
Fun fact: xAPI is the first and only """"executor"""" to include a native decompiler, `run_on_actor`, `isnetworkowner` and more for free.

xAPI v4.1

08 Jun 19:42
f0a2216
Compare
Choose a tag to compare

Added:

  • oth.hook, oth.unhook (more secure versions of hookfunction and restorefunction I guess)
  • debug.getconstants
  • debug.getconstant
  • debug.getprotos
  • debug.getproto

Fixed:

  • Improved decompiler
  • Updated loadstring (Fiu and LuauCeption)
  • gethwid is now equipped with a real session tracking calculator
  • Added a single LocalScript responsible for masking xAPI and 'host scripts'

Me when I allow calling protos: :trollface:

Full Changelog: v4.0...v4.1

xAPI v4.0

08 May 22:09
d4f192f
Compare
Choose a tag to compare
  • added getrunningscripts (gets scripts that are able to run, not those which are actually running) (we can't extract threads from scripts so we can't check if they are actually running)
  • added getscripthash
  • added getclipboard, setclipboard, executeclipboard
  • added emulate_call (secure_call, securecall)
  • added Hydrogen/Delta aliases (for example: hookfunction = hookfunc = replacefunction = replacefunc = ...)
  • improved function debugger
  • upgraded loadstring from Luau 0.590 to 0.618 (bytecode interpreter (Fiu)) and 0.621 (bytecode compiler (LuauCeption))
  • fixed getscripts getting everything except for scripts
  • optimized getidentity (gettheadidentity, getthreadcontext) to be 10 times faster
  • made unreadable code readable

Disassembly example:

SOURCE:

local function test_function()
	return {math:b("print").loadstring, function(a, b, ...)
		return 12345, a * b - c
	end,}
end

OLD DISASSEMBLY:

-- Decompiled with the xAPI function sandbox.
-- 'test_function', 0 params

local stack = {};
stack[1] = math;
stack[2] = stack[1]["b"];
stack[3] = stack[2](stack[1], "print");
stack[4] = stack[3]["loadstring"];
return {[1] = stack[4]; [2] = function() -- anonymous, 2+ params

local stack = {};
stack[1] = stack[0] * stack[0];
stack[2] = c;
stack[3] = stack[1] - stack[2];
return 12345, stack[3];
end; };

NEW DISASSEMBLY:

-- Decompiled with the xAPI function sandbox.
-- test_function, 0 params, 4 constants, 1 functions
local stack = {};

stack[1] = math;
stack[2] = stack[1]["b"];
stack[3] = stack[2](stack[1], "print");
stack[4] = stack[3]["loadstring"];

return {[1] = stack[4]; [2] = function(p1, p2, ...) -- anonymous, 2+ params, 1 constants, 0 functions
	local stack = {};

	stack[1] = stack[0] * p2; --// might fix later
	stack[2] = c;
	stack[3] = stack[1] - stack[2];
	
	return 12345, stack[3];
end; };

Full Changelog: v4.0a...v4.0

Also, how did I manage to change the filesizes from 10 MB to 3 MB in one update even though I added 90000 new lines of code?

xAPI v4.0a

21 Apr 00:11
9c15fc4
Compare
Choose a tag to compare

New in 4.0a:

  • decompile (function only)
  • queue_on_teleport, clear_teleport_queue

Enhanced:

  • hookfunction (previous incorrect implementation
  • hookmetamethod (PII)
  • getrawmetatable (read-only (PII))
  • dumpstring
  • checkcaller (fixed)
  • clonefunction
  • getrenv (semi-PII)
  • getcallingscript (fixed)

Removed:

  • getthreads (insufficient functionality)
  • saveinstance (output message size limit + IF)
  • cloneref, compareinstances, cache.replace (IF)
  • getgc (IF)
  • WebSocket (IF)
  • Wrapping (xAPI should actually do stuff, not pretend to do stuff)

Pending (Not present in this update, but may be in the next one):

  • File system
  • Hydrogen/Delta aliases (🥶)