- improved
Vector3 Numbersmethod:- randomized number of Vector3 expressions
- added new experimental method
Proxy Globals - bug fixes for
Globals To Localsmethod:- fix self reference issues
- fix chain break issues
- nested properties are now ignored
- only call bases are localized
- new method
Vector3 Numbersfor LuaU (Roblox) - added tooltips for settings
- other small changes/improvements
- added back tooltips
- some other small changes/improvements
- fixed
Undonot working
- full frontend rework
- completely new style (self made, no libary anymore!!)
- improved mobile responsive support (cool tab feature to switch between toolbox and console)
- the login feature will come back soon, i guess
- enjoy :)
- fixed
Obfuscatefunction not working due to missing _ENV local (sorryy)
- new settings system (less buggy and more organized, i guess?)
- fixed monaco editor failing to create web worker and running on main thread
- new
Undofeature to undo (obviously) your recent changes - syntax errors are now highlighted in the editor
- new output console on the website (replaces the comment errors how it was before)
- also fixes syntax errors showing the wrong line (never noticed that lol)
- faster compression method for api requests (using
TextEncoder/TextDecoderapi)- fixes long loading when obfuscating big scripts
- also increases the size limit, since the old method was limited
- complete overhaul of the backend
- improved error handling
- much better performance
- each task will now run on its own thread to prevent crashes
- a task will kill itself when it takes too long
- if a huge task is being processed, it won't block the main thread anymore which caused many many crashes before
- improved api security
- website toolbox now uses its own api endpoint (performance improvements)
- improved how function chains are processed
- improved insertion logic of locals/functions for e.g string encryption (will still insert them twice when the script is minified, will fix this one day maybe)
- many function bug fixes:
Remove LuaU Types- many improvements and support for more much type annotations (complex type annotations might still not work)
Boolean Transform- basically remade the whole thing to make it compatible with other functions
GlobalsToLocals- fixed not replacing all functions at once and creating duplicated locals
GLookup- fixed nested globals not transforming (e.g.
game.Players.LocalPlayer...) - fixed colon calls not transformed correctly
- fixed assigned globals to locals not transformed (
local x = print) - fixed
_Greferences being transformed
- fixed nested globals not transforming (e.g.
Virtualize- fixed sometimes not working (can still sometimes fail, just not as much as before lol)
- moved open settings button to left sidenav thing
- other small improvements
- sorry that's all i did, i was bored :(
- i don't have motivation to work on this anymore. also the backend is hella messy and shit written. i need to rewrite everything first before i can continue this project </3
- fixed / rewrote user session manager (OAuth) for better stability (basically it just saves everything in a database now instead of a file cache)
- added new function
Nonsense Numbers(not 100% stable yet but should work most times)
- fixed compound operators not being parsed correctly (i hope this fix doesnt break anything .-.)
- (hopefully) fixed
GLookuphandlingLocalStatementidentifiers asGlobals - added
Rick Roll Constantsfunction (dont ask why, its just funny) - small bug fixes
- added experimental function
Shuffle Strings(very buggy lol) - changelog list now clears on reload
- bug fixes
- added some kind of anti hook (added this to the
Obfuscatefunction for testing, don't expect it to work correctly- its still in work)
- added notification thing on website for new updates
- added sexy sidebar to website (cooler updates soon, maybe)
- patched
Bytestringsbeing easily dumped by hooking thebit(bxor)&math.floorfunction
- fixed
Constant Chunk 2being very broken due to broken constant indexing
- fixed
GLookuptransforming function calls to method calls
- fixed
TableLookupfunction not transforming a singleMemberExpression(e.g:print(x.y)) (nestedMemberExpressionsstill don't work :/) - fixed
GLookupfunction not transformingMemberExpressionslikegame:GetService() - other small fixes & improvements
- upgraded my vps to double speed (rip my money)
- frontend rework & performance and load time improvements
- fixed
TableLookupfunction not transformingCallExpressionon aMemberExpressionbase. (e.g:getgenv().xyz) - fixed
Bytestringsfunction bug with>255byte chars
- added Lua 5.4 support for the bit32.bxor function (this caused the
ByteStringsfunction to not work at all on Lua 5.4) - added no string encrypt macro
- fixed
AntiBeautify2watermark comment issue - made
DeadCodevariables more randomized - other small fixes & improvements
- improvement for the minifier to handle table indexing
({})[x]&({...})[x] - fixed minifier putting double parens around anonymous call statements
- fixed a server-side unhandled promise rejection for the
Virtualizefunction, causing the server to crash
- fixed
AnonymousDeclarationsincorrectly transforming local declarations into global ones - fixed
AntiBeautify2(finally lol)
- added new function
AnonymousDeclarations - added new function
Virtualizeusing IronBrew2 VM (luaobfuscator.com api) - added new setting
WrapReturn - added new setting
No Decoder Functions - renamed
FakeArgslocal names - other minor bug fixes and improvements
- _env local is now using
_G or _ENVinstead of just_ENV - fixed some minor bugs on the api
- added new function
Args To Vararg(experimental) - fixed function names being declared as local declarations when using
Globals To Localsfunction
- rewrote whole TableLookup function
- ├ fixed invalid transformation of
FunctionDeclarationsand itsMemberExpressionidentifier - └ current issue:
AssignmentStatementswith more than 3 assingedIdentifierswill be ignored - other small improvements on the api endpoints
- performance improvement for memoize function call (credits: lifestorm)
- added new function
Number Combine
- added uglifier stats to info modal
- added new function
TableConcat Strings
- added new setting
byte_string_type - fixed
Constant Chunk 2not able to parse decimal byte strings
- added new setting
minify_output - fixed
GLookupnot working for local declarations - added new setting
memoize_function_calls(experimental) - added new experimental setting
bytecode_watermarktoConstant Chunk 2
SplitStringsnow using supported anonymous functions (currently doesnt even split strings. just puts constants in a anonymous functions. will finish soon)- performance fix for
_stringcharlocal (credits: lifestorm) - fixed anonymous functions not being handled correctly by the minifer when declaring them with a
LocalStatement - added new function
Remove LuaU Types - fixed missing local for
CChunk V1 number_transform_offset_lengthsetting now also applies toBooleanstransform function- added new setting
use_all_mathoperators_number_transformto enable/and*math operators forNumberstransform function - fixed incorrect parsing of request headers for the public api
- added support for a function chain in an api call. e.g:
/v1/api/uglify/bytestrings,minify, ... - other minor bug fixes and improvements
- fixed minifer removing required brackets on
LogicalExpressionsand some other cases - updated
bit32.bxorlocal definition to support other lua versions (bit & bit32) - made decoder functions local
- fixed
Nonsense Stringsnot handling whitespaces correctly - added support to minifier for anonymous call statements (
(function() print("Hello") end)()) - other minor bug fixes and improvements
- fixed incorrect constant type declaration for
ByteStringsfunction (sorry, i didnt notice this bug for a long time) - added
number_transform_offset_lengthsetting toNumbersfunction - added new function
Globals To Locals(experimental, might break your script)
- new binary expression generation for
Numbersfunction - fixed
Bytestringfunction always having the same encoding key Bytestringfunction now encrypts all numbers whenByteEncrypt All Constantssetting is turned on- other minor bug fixes and improvements
- fixed empty string turning into incorrect bytes when using
Bytestring & Constant Chunk 2
- new tester function
Split String(experimental, might break your script) - fixed discord oauth
- added new function
Nonsense Strings - other minor bug fixes and improvements
- added new setting
ByteEncrypt All Constants ByteStringsfunction now can encrypt boolean and numbers. recommended when usingConstant Chunk (v2)(you need to enable it in settings first & numbers currently don't work)
- removed constantindex from the IndexExpression for
Constant Chunk (v2)
- added function locals to
Constant Chunk (v2) - added
Anti Beautify V2(still in work, not really working yet)
- new byte string generation for
Bytestrings - fixed
Constant Chunk (v2)breaking with byteBytestringsfunction | update: this is still not 100% fixed
- updated oauth system wich is more reliable
- new indexing for
Constant Chunk (v2)
- discord oauth improvements & fixes
- added field to check if you have tester access (info tab on top left)
- replaced tester key with discord oauth
- improvements to roblox constants
- added
Clearbutton to quick actions
- updated Roblox fake constants (for
Dead CodeandFake Arguments) - fixed anonymous function
- added IgnoreByteCode setting to
Constant Chunk (v2) - added button to update roblox constants (via info modal)
- added
Anti Beautify(it's bad, i'm just bored) - fixed
Fake Argumentsadding args after aVarArg - fixed
Constant Chunkfunctions not adding if using it multiple times. - other minor bug fixes and improvements
- added fake constants for
Dead CodeandFake Arguments(setting soon) - added
Functionmethods now using random names
- added new example of the new beta
Constant Chunkmethod - fixed
Constant Chunk (v2)not supporting whitespaces
- added new
Constant Chunkmethod (in work so for testers only)
- temporary removed variable check for
Number Tablesmethod due to caused errors - fixed
Dead Codemethod values not being randomized anymore - implemented sessions (work in progress, doesnt really do anything yet)
- backend api fixes and improvements
- added new setting
Table Length Number Memestringsto add memestrings for theTable Lengthmethod - added fake
Assignment Statementsfor theFake Argumentsmethod
- fixed
Functionmethod not transforming function identifiers (e.g.:function test() end; print(test)) - added new tester method
Fake Arguments - added new tester preset with the currently best protection
Table Lookupnow transformsColon Functionsfor object-oriented callsCChunknow supports Byte Strings. still has to be enabled in the settings! (e.g.:"\x5c\x78\x64\x38\x5c\x78\x66\x63")- temporary disabled
Dead Coderandom recursion (performance issues) - added variable check for
Number Tablesmethod to prevent duplicates
- fixed
Constant Chunkbreaking on empty strings (e.g:print("")) - fixed
Dead Codebeing very slow on bigger scripts Control Flowcan now be used 2 times. Using it more than 2 times, will break it. (full fix in future)- fixed
Control Flowadding 2BreakStatementsin a singleIfStatement - added new setting
Table Length Number Rateto modify the size of table values for theTable Lengthmethod - fixed
DeadCodebeing added underReturnStatements&BreakStatements
- fixed
Identifiersbreaking CChunk & string encode methods - added new tester method
Function. Transforms functions into table index? (function x() print("69") end x()>local a = {} a["x"] = function() print("69") end a\["x"]())
- added new setting
Rename Global Functions(default:false) Identifiersmethod now can rename functions but it needs to be enabled in settings first- rewrote
Identifierslogic & fixed non local function variable renaming (local x = function() ... end)
- updated
Control Flow(still very bugy and testers only) - added reset settings button
Constant Chunknow ignoresboolean&numberduplicates
- fixed glookup breaking colon functions aka ignoring it (e.G.
func:x()) - added tester method
Control Flow(in work)
- new settings >
Ignore Bytecode&Ignore Bytestring - added multiple values for
TableLenNumbers - fixed client decompression broke at specific chunk size
- improved client decompression error handler
- other small bug fixes & changes
- implemented response compression (gzip)
- added local function definitions for uglifier functions (i think thats how it's called)
- updated default uglifier methods (quick uglify)
- improved & fixed error handling
- implemented TableKeyStrings to
TableLookupmethod{ index: ... } > { ["index"]: ... } - improved settings handler
- Added new setting for lua version support, that optimizes small things for the chosen version (such as LuaU for roblox)
- Fixed
Constant Chunkmethod sometimes crashing server lol - new method
Table Lookup - Frontend optimizations for mobile
- Start of changelog