Advertisement
Guest User

Untitled

a guest
Jul 18th, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.76 KB | None | 0 0
  1. ]]
  2.  
  3. customVarNames = {
  4. "Obf",
  5. "Nou",
  6. "TROLLICUS",
  7. "NOICE",
  8. "LULLLL",
  9. "gocri",
  10. "luaisgudasf"
  11. }
  12.  
  13. funcrename = {
  14. ["print"]="print",
  15. ["_G"]="_G",
  16. ["getmetatable"]="getmetatable",
  17. ["warn"]="warn",
  18. ["error"]="error",
  19. ["Instance.new"]="Instance.new",
  20. ["loadstring"]="loadstring",
  21. ["UDim2.new"]="UDim2.new",
  22. ["false"]="false",
  23. ["true"]="true",
  24. ["Color3.new"]="Color3.new",
  25. ["Vector3.new"]="Vector3.new",
  26. ["Vector2.new"]="Vector2.new",
  27. ["getgenv"]="getgenv",
  28. ["getrenv"]="getrenv",
  29. ["getfenv"]="getfenv",
  30. ["getsenv"]="getsenv",
  31. ["Enum"]="Enum",
  32. ["getrawmetatable"]="getrawmetatable",
  33. ["newcclosure"]="newcclosure",
  34. ["CFrame.new"]="CFrame.new",
  35. ["next"]="next",
  36. ["pairs"]="pairs",
  37. ["Region3.new"]="Region3.new",
  38. ["nil"]="nil",
  39. ["printidentity"]="printidentity",
  40. ["tostring"]="tostring",
  41. ["unpack"]="unpack",
  42. ["debug"]="debug",
  43. ["bit"]="bit",
  44. ["string.char"]="string.char"
  45. }
  46. --CreateVarName
  47. local chars ="1IlI1IlI1IlI1IlI1IlI1IlI1IlI1IlI1IlI1IlI1IlI1IlI1IlI1IlI1I1IlI1IlI1IlI1IlI1IlI1IlI1IlI1IlI1IlI1IlI1IlI1IlI1I1IlI1IlI1IlI1IlI1IlI1IlI1IlI1IlI1IlI1IlI1IlI1IlI1I1IlI1IlI1IlI1IlI1IlI1IlI1IlI1IlI1IlI1IlI1IlI1IlI1"
  48. local taken = { }
  49. taken[""] = true
  50. local function CreateVar()
  51. local s = ""
  52. while taken[s] do
  53. for i = 1, math.random(5, 10) do
  54. local c = chars:sub(i,i)
  55. s = s..c
  56. end
  57. end
  58. taken[s] = true
  59. return(customVarNames[math.random(1,#customVarNames)].. s)
  60. end
  61.  
  62. --WipeComments
  63. function WipeComment(scr)
  64. scr = scr:gsub("(%-%-%[(=*)%[.-%]%2%])", "")
  65. scr = scr:gsub("(%-%-[^\r\n]*)", "")
  66. return scr
  67. end
  68.  
  69. --WipeStrings
  70. local mamadouseydou = CreateVar()
  71. local mamadouseydou0 = CreateVar()
  72. local mamadouseydou1 = CreateVar()
  73. local GenStr = function(Str)
  74. local R = {}
  75. local Ran = function(n)
  76. local r = math.random(1, 255)
  77. return ((n - r)/6).. ' + ' ..(r/6)
  78. end
  79.  
  80. for c in Str:gmatch('.') do
  81. table.insert(R, Ran(c:byte()))
  82. end
  83.  
  84. return "{"..table.concat(R, ', ').."}"
  85. end
  86.  
  87. function WipeStrings(scrpt)
  88. for each in scrpt:gmatch("%b''") do
  89. scrpt = scrpt:gsub(each, each:gsub("'", '"'))
  90. end
  91. for each in scrpt:gmatch('%b""') do
  92. each = each:gsub('"', '')
  93. scrpt = scrpt:gsub('"'..each..'"', "("..mamadouseydou.."("..GenStr(each).."))")
  94. end
  95.  
  96. return scrpt
  97. end
  98.  
  99. --CoreFuncRename
  100. function CFR(scrpt)
  101. for i,v in pairs(funcrename) do
  102. local pp = CreateVar()
  103. funcrename[i]= pp
  104. end
  105. local setlist = ""
  106. for i,v in pairs(funcrename) do
  107. setlist = setlist..("local "..v.."="..i.."; ")
  108. scrpt = scrpt:gsub(i, v)
  109. end
  110. return(setlist..scrpt)
  111. end
  112.  
  113. --LocalFuncRename
  114. local library = {}
  115. function LFR(scrpt)
  116. for fType in scrpt:gmatch("local%s*function%s*([%w_]+)%(") do
  117. local replacement = CreateVar()
  118. if #fType > 5 then
  119. library[fType] = replacement
  120. scrpt = scrpt:gsub("function " .. fType, "function " .. replacement)
  121. end
  122. end
  123.  
  124. for fCall in scrpt:gmatch("([%w_]+)%s*%(") do
  125. if library[fCall] then
  126. scrpt = scrpt:gsub(fCall .. '%(', library[fCall] .. '%(')
  127. end
  128. end
  129. return scrpt
  130. end
  131.  
  132. --NonLocalFuncRename
  133. function NLFR(scrpt)
  134. for fType in scrpt:gmatch("%s*function%s*([%w_]+)%(") do
  135. local replacement = CreateVar()
  136. if #fType > 5 then
  137. library[fType] = replacement
  138. scrpt = scrpt:gsub("function " .. fType, "function " .. replacement)
  139. end
  140. end
  141.  
  142. for fCall in scrpt:gmatch("([%w_]+)%s*%(") do
  143. if library[fCall] then
  144. scrpt = scrpt:gsub(fCall .. '%(', library[fCall] .. '%(')
  145. end
  146. end
  147. return scrpt
  148. end
  149.  
  150. --RemoveWhitespace
  151. function RW(scrpt)
  152. scrpt = scrpt:gsub("^%s*(.-)%s*$", "%1")
  153. scrpt = scrpt:gsub("(^%s*).*", "")
  154. scrpt = scrpt:gsub(" %s+", " ")
  155. scrpt = scrpt:gsub(";%c+","; ")
  156. return scrpt
  157. end
  158.  
  159. --VarRename
  160.  
  161. function isKeyword(s)
  162. local s2 = 'and break do else elseif end false for function if in local nil not or repeat return then true until'
  163. for w in s2:gmatch("(%w+)") do
  164. if w == s then return true end
  165. end
  166. return false
  167. end
  168.  
  169. function VR(scrpt)
  170. for each in scrpt:gmatch("local%s*([%w_]*)%s*=%s*") do
  171. if #each > 3 and not isKeyword(each) then
  172. local varName = CreateVar()
  173. scrpt = scrpt:gsub(each," "..varName)
  174. end
  175. end
  176. return scrpt
  177. end
  178.  
  179. --obfuscate
  180. function Obfuscate(scr)
  181. scr = WipeComment(scr)
  182. scr = WipeStrings(scr)
  183. scr = 'function '..mamadouseydou..'('..mamadouseydou0..') local '..mamadouseydou1..' = ""; for i,v in pairs('..mamadouseydou0..') do '..mamadouseydou1..' = '..mamadouseydou1..'..string.char(v*6); end return('..mamadouseydou1..') end;'..scr
  184. scr = LFR(scr)
  185. scr = NLFR(scr)
  186. scr = VR(scr)
  187. scr = RW(scr)
  188. scr = CFR(scr)
  189.  
  190. print(scr)
  191. end
  192.  
  193. do Obfuscate(Script) end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement