Hello scripters and developers, welcome to my guide on Obfuscation.
Have you ever wanted to sell products to the public? However, are you fearful of someone taking your scripts and re-distributing them? Well, this is the guide to Obfuscation that you might just need!
What is Obfuscation?
Obfuscation is the process of creating code that is hard to read, makes no sense, and has a lot, and a lot of random stuff in it (this is a simple explanation). Whilst your code is still out there, you can choose to Obfuscate it if you wish. This will make it a lot harder for people to obtain your source code, therefore, it will be a lot harder for them to re-distribute your work.
What is the difference between Obfuscation and Closed Source Modules?
Closed Source Modules (Private Modules) are just what they say they are. Open Source is where your source code is clearly visible and can be copied. Closed Source is where its just closed off, and no one can obtain your source code. This was a feature Roblox supported, up until February 2019.
Obfuscation isn’t really closed source. It’s still out there (the code that is). The thing with Obfuscation is that it isn’t Closed Source, but it is making your code extremely hard to identify, depending on what Obfuscator you use.
Why should I even bother Obfuscating?
With Obfuscation, it can give you some sort of ease and relief, that you know it will be a LOT harder for people to obtain your source code. Say you want to sell a Product, that works with licensing. You sell a lot of licenses to the public, but suddenly, 10 people re-distribute it, as the source code is just there, nothing changed. When your code is Obfuscated, it is extremely hard to identify, and for newcomers, its impossible. Here is an example of some Obfuscated Code:
What obfuscators are out there?
There are multiple well known obfuscators for Lua, but I’ll just name a few.
Syanpse Xen: Probably the most well known one, most likely because its associated with Synapse X, a common exploit. Synapse Xen focuses on Security, but can be slow. You also have to purchase the Exploit, Synapse X, to be able to use Synapse Xen.
Ironbrew: Another very well known Obfuscator is ironbrew. Ironbrew has incredible Security, like Synapse, and it’s performance and speeds are very good as well. Generally, from what I have seen, most people consider Ironbrew as the best Obfuscator you can get your hands on.
Luraph: Probably considered the worst out of the 3, Luraph is another Lua Obfuscator. It isnt remotely as secure as Ironbrew or Synapse Xen, and it isn’t as fast as Ironbrew either.
Verdict: I wouldn’t really say there is a “winner” that much, but the best Lua Obfuscators are definitely Ironbrew and Synapse Xen. They both have their goods and bads, but they are definitely the best.
Remember, Obfuscation isn’t 100 percent security. Honestly, it isn’t even really Security, it’s just making your code hard to identify, so your stuff can’t be re-distributed nearly as easily.
The only official feature that ever offered pure security was Private Modules, but they are gone now. You could technically hold your code on an External Server, but that goes beyond the expertise of most, and it also costs for Hosting.
Hope this Guide for Obfuscation helped you out!