Skip to content

SECURITY, PERFORMANCE & READABILITY!#218

Open
SpinnySpiwal wants to merge 2 commits intoprometheus-lua:masterfrom
SpinnySpiwal:master
Open

SECURITY, PERFORMANCE & READABILITY!#218
SpinnySpiwal wants to merge 2 commits intoprometheus-lua:masterfrom
SpinnySpiwal:master

Conversation

@SpinnySpiwal
Copy link
Contributor

@SpinnySpiwal SpinnySpiwal commented Mar 23, 2026

This MEGA UPDATE brings 1 enhancement and 1 security improvement to EncryptStrings, increasing performance by 1.1x.

  • Fixed ALL spacing errors!
  • NEW dynamic position-shuffling, and elseif branching in emit.lua!
  • NEW NumbersToExpressions MODULO operator!
  • NEW shuffling of local variables at the top of EncryptStrings decryption runtime with the removal of an unused local variable.
  • Fixed ALL spelling errors
  • FIXED 2 UNPARSER BUGS!
    bug 1:
    input:
    ("").char -- function 0x......
    output:
    "".char -- blah blah syntax error
    bug 2:
    input:
    (0).char -- error, but can be isolated in pcall to intentionally prevent usage of Prometheus for minification or prettification of the script.
    output:
    0.char -- blah blah syntax error!!!
    Both bugs have their own according test, found in syntax.lua.
    Bug 3 is more complex. It's to do with Multi-Return and a specific test. This issue was also fixed by adding a simple if statement and a new Multi-Return Test.
    Also optimised comparison operations code and arithmetic-operation code in the unparser too!
    Added consistency to the top of every file by fixing the missing
-- This Script is Part of the Prometheus Obfuscator by Levno_710
--
-- (FILENAME).lua
-- <-- this line here was missing from a LOT of files!
-- ...

Also improved the formatting in presets.lua to make it easier to read, less comment crowded & more self explanatory.
fixed (all?) random newlines that looked like this in files:

Yes, just empty lines with whitespaces. Gone!
Fixed ProifyLocals variable name changed to ProxifyLocals in ProxifyLocals.lua. Fixed EncryptStrings.lua 'CreateEncrypionService' renamed to 'CreateEncryptionService' (spell correction)
I understand it appears that every file under the sun has been modified, so this might take a while to review.
Why did I create these 2 updates? Well, mainly to push-back on Prometheus deobfuscators. But also because I'm contributing or FOSS, which isn't something I do often.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant