I have made an obfuscation script and it errors at line 44 because of the space
local module = {}
module.Obfuscate = function(str)
local defaultCapitalChars = {"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"}
local defaultLowercaseChars = {"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"}
local defaultSpecialChars = {" ","`","~","!","@","#","$","%","^","&","*","(",")","-","_","=","+","[","{","]","}","\\","|",";",":","'",'"',",","<",".",">","/","?"}
local defaultNumericChars = {"1","2","3","4","5","6","7","8","9","0"}
local NumericChars = {}
local CapitalChars = {}
local LowercaseChars = {}
local specialChars = {}
local obfuscatedChars = {}
local finishedObfuscated
local part = ""
for i = 1, 10001 do
for i,v in pairs(defaultCapitalChars) do
table.insert(CapitalChars, v)
end
end
for i = 1, 10001 do
for i,v in pairs(defaultLowercaseChars) do
table.insert(LowercaseChars, v)
end
end
for i = 1, 10001 do
for i,v in pairs(defaultSpecialChars) do
table.insert(specialChars, v)
end
end
print("FinishedAdding, Length:", #CapitalChars)
local seperateChars = {}
local obfuscatedChars = {}
for i = 1, string.len(str) do
local temp = string.sub(str, i, i)
table.insert(seperateChars, temp)
end
for i,v in pairs(seperateChars) do
if table.find(defaultCapitalChars, v) ~= nil then
local finStr = CapitalChars[table.find(CapitalChars, v)+i]
table.insert(obfuscatedChars, finStr)
elseif table.find(defaultLowercaseChars, v) ~= nil then
local finStr = LowercaseChars[table.find(LowercaseChars, v)+i]
table.insert(obfuscatedChars, finStr)
elseif table.find(defaultSpecialChars, v) ~= nil then
local finStr = specialChars[table.find(LowercaseChars, v)-i]
table.insert(obfuscatedChars, finStr)
elseif table.find(defaultNumericChars, v) ~= nil then
local finStr = NumericChars[table.find(LowercaseChars, v)-i]
table.insert(obfuscatedChars, finStr)
end
end
for i,v in pairs(obfuscatedChars) do
part = part .. v
if i == #obfuscatedChars then
finishedObfuscated = part
end
end
return finishedObfuscated
end
module.UnObfuscate = function(str)
local defaultCapitalChars = {"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"}
local defaultLowercaseChars = {"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"}
local defaultSpecialChars = {"`","~","!","@","#","$","%","^","&","*","(",")","-","_","=","+","[","{","]","}","\\","|",";",":","'",'"',",","<",".",">","/","?"}
local defaultNumericChars = {"1","2","3","4","5","6","7","8","9","0"}
local NumericChars = {}
local CapitalChars = {}
local LowercaseChars = {}
local specialChars = {}
local UnObfuscatedChars = {}
local finishedUnObfuscated
local part = ""
for i = 1, 10001 do
for i,v in pairs(defaultCapitalChars) do
table.insert(CapitalChars, v)
end
end
for i = 1, 10001 do
for i,v in pairs(defaultLowercaseChars) do
table.insert(LowercaseChars, v)
end
end
for i = 1, 10001 do
for i,v in pairs(defaultSpecialChars) do
table.insert(specialChars, v)
end
end
print("FinishedAdding, Length:", #CapitalChars)
local seperateChars = {}
local obfuscatedChars = {}
for i = 1, string.len(str) do
local temp = string.sub(str, i, i)
table.insert(seperateChars, temp)
end
for i,v in pairs(seperateChars) do
if table.find(defaultCapitalChars, v) ~= nil then
local finStr = CapitalChars[table.find(CapitalChars, v)-i]
table.insert(UnObfuscatedChars, finStr)
elseif table.find(defaultLowercaseChars, v) ~= nil then
local finStr = LowercaseChars[table.find(LowercaseChars, v)-i]
table.insert(UnObfuscatedChars, finStr)
elseif table.find(defaultSpecialChars, v) ~= nil then
local finStr = specialChars[table.find(LowercaseChars, v)-i]
table.insert(UnObfuscatedChars, finStr)
elseif table.find(defaultNumericChars, v) ~= nil then
local finStr = NumericChars[table.find(LowercaseChars, v)-i]
table.insert(UnObfuscatedChars, finStr)
end
end
for i,v in pairs(UnObfuscatedChars) do
part = part .. v
if i == #UnObfuscatedChars then
finishedUnObfuscated = part
end
end
return finishedUnObfuscated
end
return module
and the error I get is:
script that is calling it:
local ob = require(script.Parent.Obfuscator)
local ToBe = "Hello Hello"
print(ob.UnObfuscate(ob.Obfuscate(ToBe)))
All help is welcome!