Obfusnumb V3 - accurately obfuscate numbers!

About

The obfusnumb series is one of my favorite creations ever because it proves how Lua can be such an extension on the obfuscation branch because it’s easier to do than to undo!
This program allows you to enter a number (finally, any number) and it into confusing, complex, code that returns the exact same value as if it was the original number!

For example, if your number was: 5 and if you used obfusnumb as the processor, you would get something like: (2+3+5+7/5)*2/5+(5-4.56)

Why would this even be helpful?

In most cases, you won’t even be needing this because it only makes your number longer, more stressful to read, and maybe even slower when you run it! However, it can be good to obfuscate accessible & sensitive information that are in a number form. This can be useful for hiding serialization from the client as well.
If you cannot think of a way you might need this, you can just stop reading- no worries!

Where can I get this?

You can get this by requiring the asset: require(3373190347)
This will return a function that requires one argument (number) and returns a string (you’re going to manually convert this into a script)

You can also get this on my repl.it profile!
CLICK HERE

Also, if you are still unaware of how this works, it basically converts a number into a more complex version and returns it in a string where you can manually refactor the original number with the new obfuscated one!

How does this work?

Ah, don’t tell anyone but it uses # to count the amount of values in a table, then proceeds to do this until it reaches your number!
Obviously, it’s more complicated then that with the provided extra help from our little algorithms but if you’re an advanced developer yourself- hopefully you can make sense out of it because it’s open-sourced!
I made this in a day so I’ll be continually editing it for better performance (without any changes on your side!) because it currently has enough issues to make it dangerous to use on a Friday night!

How do I see the other versions?

V2 was never really complete, since I was planning to do some crazy stuff on it to make it look like scrambled eggs however I do have V1 available here!
if you think V1 is better, feel free to use it over V2!

Advanced Features

  • Negation
    takes advantage of the flexible blocks
    the subtraction operator is doubled
    stuff like "#" and "{" are available for HIPS
    Anti-tracks technology break most deobfuscators out there
    Numbers are identified as "super-floats" because they disguise as your own float

  • HIPS
    "hidden in plain sight"
    the action of undoing "minification" (in comparison to V2)
    theoretically can discourage the user permanently instead of instantly

  • Flexicatory
    randomizes Numbers (completely random ranges)
    randomizes Blocks (the number of equations per parenthetical sequences)
    randomizes Operators (+, -, %, etc)

Examples


ORIGINAL

local Number = 5
print(Number) -- output: 5

OBFUSCATED

local Number = ( # { 3851.4780499239 * ( 2397.3899474774 / 58631.987619949 ) + 46276.195588173 + - ( 57585.811586348 * - 16119.991333697 ) - - 8593.297899523 % 30341.779201526 } + # { - 622.65697243607 % - ( 853.23610456485 + - 18245.158239277 ) - 8148.9077221127 } + # { ( 3172.4102008778 / 203.13789249218 ) - 4976.7556068174 ^ 25913.965551956 * ( 48684.297688391 * 35933.052977361 ) ^ 257.65051582346 * - ( 8795.1146858498 ^ - 15987.718056237 ) * - 11577.107547542 - 1299.4050294018 + - ( 28936.532725372 ^ - 5089.0905242204 ) - - 61918.332121138 * 12432.919393129 ^ ( 8825.2375320397 ^ 29378.919595953 ) ^ - ( 13062.378579084 - - 79343.617841365 ) + - 4844.161553884 ^ - ( 24620.08680267 - - 1447.1831069715 ) * - 16365.933444701 + 2010.8452016738 } + # { ( 34134.551689211 / 17977.293359782 ) ^ 14816.26817132 * 17458.744033363 * ( 4010.9337904919 / 566.67221502479 ) * ( 24213.649663833 - 65286.407651013 ) + 178.11350330436 % ( 20566.91368272 * 53734.956761964 ) - 28115.344032515 * - 1124.7024295613 % - ( 17800.148904578 ^ - 40285.042346686 ) + 414.025763297 } + # { 64128.509431932 / - ( 18382.743980339 * - 16161.988254713 ) ^ - 25454.807651109 + 56985.622952888 } )
print(Number)

protection is multiplied by the number you have, therefore it's difficult to break! thanks :slight_smile:

3 Likes

This topic was automatically closed after 1 minute. New replies are no longer allowed.