print("--//Made with Zfuscator\\--")
-- Define an Ultra-Advanced Obfuscator Function
function obfuscate(script)
-- Helper Functions
local function generateRandomName()
return "var" .. math.random(1000000000, 9999999999)
end
local function generateRandomString(length)
local chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
local str = ''
for i = 1, length do
local rand = math.random(1, #chars)
str = str .. chars:sub(rand, rand)
end
return str
end
local function encryptString(str, key)
local encrypted = {}
for i = 1, #str do
local c = str:sub(i, i)
local enc = string.format("\\x%02X", string.byte(c) ~ key)
table.insert(encrypted, enc)
end
return table.concat(encrypted)
end
local function decryptString(str, key)
return (str:gsub("\\x(%x%x)", function(hex)
return string.char(tonumber(hex, 16) ~ key)
end))
end
-- Generate random encryption key
local key = math.random(1, 255)
-- Variable and Function Renaming
local renamed = {}
local counter = 0
script = script:gsub("%f[%a_](%w+)%f[^%w_]", function(var)
if not renamed[var] then
counter = counter + 1
renamed[var] = generateRandomName()
end
return renamed[var]
end)
-- Polymorphic String Encryption with Multiple Layers
local function encryptMultipleLayers(str)
local key1 = math.random(1, 255)
local key2 = math.random(1, 255)
local encrypted1 = encryptString(str, key1)
local encrypted2 = encryptString(encrypted1, key2)
return encrypted2, key1, key2
end
script = script:gsub('"(.-)"', function(str)
local encrypted, key1, key2 = encryptMultipleLayers(str)
return '"..decryptString(decryptString("' .. encrypted .. '", ' .. key2 .. '), ' .. key1 .. ').."'
end)
-- Add Decryption Function to the Script
local decryptFunc = [[
local function decryptString(str, key)
return (str:gsub("\\x(%x%x)", function(hex)
return string.char(tonumber(hex, 16) ~ key)
end))
end
]]
-- Advanced Anti-Debugging Techniques
local antiDebug = [[
local function antiDebug()
local dbg = debug.getinfo(2, "S")
if dbg and dbg.what ~= "C" then
while true do end
end
end
antiDebug()
]]
-- Polymorphic Control Flow Obfuscation
local controlFlow = [[
local function complexFlow()
local fns = {}
for i = 1, 10 do
fns[i] = function(a)
if a == i then return a * 2 end
end
end
local result = 0
for _, fn in ipairs(fns) do
result = result + fn(result)
end
return result
end
complexFlow()
]]
-- Environmental Fingerprinting
local fingerprinting = [[
local function checkEnvironment()
if game and typeof(game) == "Instance" then
return true
else
while true do end
end
end
checkEnvironment()
]]
-- Virtualization with a Custom VM
local vmCode = [[
local function customVM(code)
local memory = {}
for i = 1, #code do
memory[i] = string.byte(code, i)
end
local ip = 1
while ip <= #memory do
local opcode = memory[ip]
-- Interpret the opcode
if opcode == 1 then
ip = ip + 1
local reg = memory[ip]
ip = ip + 1
local val = memory[ip]
memory[reg] = val
elseif opcode == 2 then
-- More opcodes...
end
ip = ip + 1
end
end
local vmScript = "]] .. encryptString(script, key) .. [["
customVM(vmScript)
]]
-- Combine All Parts
local obfuscatedScript = decryptFunc .. antiDebug .. fingerprinting .. controlFlow .. vmCode
-- Whitespace Removal & Code Flattening
obfuscatedScript = obfuscatedScript:gsub("%s+", "") -- Remove whitespace and newlines
obfuscatedScript = obfuscatedScript:gsub("\n", "") -- Remove newlines
obfuscatedScript = obfuscatedScript:gsub("endend", "end") -- Flatten end statements
return obfuscatedScript
end
-- Your Lua script to be obfuscated
local myScript = [[
Script here!
]]
-- Obfuscate the Script
local obfuscatedScript = obfuscate(myScript)
-- Print the Obfuscated Script (for debugging or review)
print(obfuscatedScript)
To embed this project on your website, copy the following code and paste it into your website's HTML: