LynXS_

Untitled

Jun 13th, 2025
31
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.33 KB | None | 0 0
  1. --[[
  2. Execute this script before you run ~~Luarmor loader~~any scripts
  3. --]]
  4.  
  5. --!strict
  6. --!optimize 0
  7.  
  8. --[[
  9. WARNING: Heads up! This script has not been verified by ScriptBlox. Use at your own risk!
  10. ]]
  11. local plr = game:GetService("Players").LocalPlayer
  12.  
  13. getgenv().Anti = true -- Re-Execute if you change it
  14.  
  15. local Anti
  16. Anti = hookmetamethod(game, "__namecall", function(self, ...)
  17. if self == plr and getnamecallmethod():lower() == "kick" and getgenv().Anti then
  18. return warn("[ANTI-KICK] Client Tried To Call Kick Function On LocalPlayer")
  19. end
  20. return Anti(self, ...)
  21. end)
  22.  
  23.  
  24. local clonefunction, rawset
  25. = clonefunction, rawset
  26.  
  27. local Global = getgenv() :: any
  28. local __index = getmetatable(Global).__index :: hash
  29.  
  30. local HttpService = cloneref(game:GetService("HttpService")) :: HttpService
  31. local JSONEncode = HttpService.JSONEncode
  32.  
  33.  
  34.  
  35. local Copies = {
  36. loadstring = clonefunction(loadstring),
  37. writefile = clonefunction(writefile),
  38. makefolder = clonefunction(makefolder),
  39. newcclosure = clonefunction(newcclosure),
  40. debug_getinfo = clonefunction(debug.getinfo),
  41. debug_info = clonefunction(debug.info),
  42. isfile = clonefunction(isfile),
  43. request = clonefunction(request),
  44. http_request = clonefunction(http.request),
  45. os_date = clonefunction(os.date),
  46. pcall = clonefunction(pcall),
  47. typeof = clonefunction(typeof),
  48. task_defer = clonefunction(task.defer),
  49. error = clonefunction(error),
  50. string_find = clonefunction(string.find),
  51. string_rep = clonefunction(string.rep),
  52. string_sub = clonefunction(string.sub),
  53. HttpGet = clonefunction(HttpGet or game.HttpGet),
  54. HttpGetAsync = clonefunction(HttpGetAsync or game.HttpGetAsync),
  55. print = clonefunction(print),
  56. unpack = clonefunction(unpack),
  57. } :: {[string]: Function}
  58.  
  59. local Bypassed = {} :: {[Function]: Function}
  60.  
  61. local function FormatJSON(JSONString: string)
  62. local string_rep = Copies.string_rep
  63. local string_sub = Copies.string_sub
  64.  
  65. local Indent = 0
  66. local Result = ""
  67. local InString = false
  68. local Escaped = false
  69.  
  70. for Index = 1, #JSONString do
  71. local Character = string_sub(JSONString, Index, Index)
  72.  
  73. if InString then
  74. Result ..= Character
  75. if Escaped then
  76. Escaped = false
  77. elseif Character == "\\" then
  78. Escaped = true
  79. elseif Character == "\"" then
  80. InString = false
  81. end
  82. continue
  83. end
  84.  
  85. if Character == "\"" then
  86. Result ..= Character
  87. InString = true
  88. elseif Character == "{" or Character == "[" then
  89. Indent += 1
  90. Result ..= `{Character}\n{string_rep(" ", Indent)}`
  91. elseif Character == "}" or Character == "]" then
  92. Indent -= 1
  93. Result ..= `\n{string_rep(" ", Indent)}{Character}`
  94. elseif Character == "," then
  95. Result ..= `{Character}\n{string_rep(" ", Indent)}`
  96. elseif Character == ":" then
  97. Result ..= `{Character} `
  98. elseif Character ~= " " and Character ~= "\t" and Character ~= "\n" and Character ~= "\r" then
  99. Result ..= Character
  100. end
  101. end
  102.  
  103. return Result
  104. end
  105.  
  106. local function SaveFile(
  107. FolderName: string,
  108. FileName: string,
  109. Extention: string,
  110. Content: string,
  111. Copies: typeof(Copies)
  112. )
  113. local FolderPath = `Luarmor V4 Bypass/Spy/{FolderName}`
  114. makefolder(FolderPath)
  115.  
  116. local FilePath = `{FolderPath}/{FileName}.{Extention}`
  117. local Repeated = 1
  118.  
  119. while Copies.isfile(FilePath) do
  120. Repeated += 1
  121. FilePath = `{FolderPath}/{FileName} ({Repeated}).{Extention}`
  122. end
  123.  
  124. Copies.print(`Saving to file {FilePath}\n`)
  125. Copies.writefile(FilePath, Content)
  126. print(Content)
  127. end
  128.  
  129. local function AddOverride(Table: hash?, Name: string, New: any, Original: any)
  130. if Copies.typeof(New) == "function" then
  131. New = Copies.newcclosure(New)
  132. end
  133.  
  134. if Table then
  135. rawset(Table, Name, New)
  136. else
  137. rawset(Global, Name, New)
  138. __index[Name] = New
  139. end
  140.  
  141. Bypassed[New] = Original
  142. end
  143.  
  144. --// loadstring spy
  145. do
  146. local function loadstring(...): Function
  147. local Copies
  148. = Copies
  149.  
  150. local Source, ChunkName
  151.  
  152. Copies.pcall(function(...)
  153. local Arguments = {...}
  154. Source = Arguments[1]
  155. ChunkName = Arguments[2]
  156. end, ...)
  157.  
  158. if Copies.typeof(Source) == "string" then
  159. Copies.task_defer(
  160. Copies.pcall,
  161. SaveFile,
  162. "loadstring",
  163. Copies.os_date("%Y-%m-%d_%H-%M-%S"),
  164. "luau",
  165. `-- Chunk name: {Copies.typeof(ChunkName) == "string" and ChunkName or "nil"}\n\n{Source}`,
  166. Copies
  167. )
  168. end
  169.  
  170. return Copies.loadstring(...)
  171. end
  172.  
  173. AddOverride(nil, "loadstring", loadstring, Copies.loadstring)
  174. end
  175.  
  176. --// request spy
  177. do
  178. local function request(...: HttpRequest): HttpResponse
  179. local Copies
  180. = Copies
  181.  
  182. local Response = Copies.request(...)
  183.  
  184. Copies.task_defer(
  185. Copies.pcall,
  186. SaveFile,
  187. "request/Requests",
  188. Copies.os_date("%Y-%m-%d_%H-%M-%S"),
  189. "json",
  190. FormatJSON(JSONEncode(HttpService, ...)),
  191. Copies
  192. )
  193.  
  194. Copies.task_defer(
  195. Copies.pcall,
  196. SaveFile,
  197. "request/Responses",
  198. Copies.os_date("%Y-%m-%d_%H-%M-%S"),
  199. "json",
  200. FormatJSON(JSONEncode(HttpService, Response)),
  201. Copies
  202. )
  203.  
  204. return Response
  205. end
  206.  
  207. local function http_request(...: HttpRequest): HttpResponse
  208. return request(...)
  209. end
  210.  
  211. AddOverride(nil, "request", request, Copies.request)
  212. AddOverride(nil, "http_request", http_request, Copies.http_request)
  213. end
  214.  
  215. --// HttpGet spy
  216. do
  217. local function HttpGet(...: string): string
  218. local Copies
  219. = Copies
  220.  
  221. local Response = Copies.HttpGet(...)
  222. local args = {...}
  223. if args[1] == "https://github.com/biggaboy212/Maclib/releases/latest/download/maclib.txt" then
  224. local Response = Copies.HttpGet("https://gist.githubusercontent.com/RENBex6969/81c472ca458992a517de64c774eae522/raw/1b9f1ab60b67da95bc2b9dadf106b56951ce5327/gistfile1.txt")
  225. end
  226. Copies.task_defer(
  227. Copies.pcall,
  228. SaveFile,
  229. "HttpGet",
  230. Copies.os_date("%Y-%m-%d_%H-%M-%S"),
  231. "txt",
  232. Response,
  233. Copies
  234. )
  235.  
  236. return Response
  237. end
  238.  
  239. local function HttpGetAsync(...: string): string
  240. return HttpGet(...)
  241. end
  242.  
  243. AddOverride(nil, "HttpGet", HttpGet, Copies.HttpGet)
  244. AddOverride(nil, "HttpGetAsync", HttpGetAsync, Copies.HttpGetAsync)
  245.  
  246. local game
  247. = game
  248.  
  249. local getnamecallmethod = clonefunction(getnamecallmethod)
  250. local Old_namecall
  251.  
  252. Old_namecall = hookmetamethod(game, "__namecall", function(self, ...)
  253. if self == game and ({HttpGet = true, HttpGetAsync = true})[getnamecallmethod()] then
  254. return HttpGet(...)
  255. end
  256. return Old_namecall(self, ...)
  257. end)
  258. end
  259.  
  260. --// debug.info, debug.getinfo spy
  261. do
  262. local New_debug = {} :: hash
  263.  
  264. for Key, Value in table.clone(debug) :: hash do
  265. New_debug[Key] = Value
  266. end
  267.  
  268. AddOverride(nil, "debug", New_debug)
  269.  
  270. local OldResult_debug_getinfo = {}
  271. local OldResult_debug_info = {}
  272.  
  273. local function getinfo(...)
  274. local Result = (Copies.debug_getinfo :: typeof(debug.getinfo))(...)
  275. local Function = Result.func
  276.  
  277. if (
  278. Function == New_debug.getinfo or
  279. Function == New_debug.info or
  280. Bypassed[Function]
  281. ) then
  282. return Copies.unpack(OldResult_debug_getinfo[Function])
  283. end
  284.  
  285. return Result
  286. end
  287.  
  288. local function info(...)
  289. local Verifing = (Copies.debug_info :: typeof(debug.info))(..., "f") :: Function
  290. local Result = {(Copies.debug_info :: typeof(debug.info))(...)}
  291.  
  292. if (
  293. Verifing == New_debug.getinfo or
  294. Verifing == New_debug.info or
  295. Bypassed[Verifing]
  296. ) then
  297. Copies.pcall(function(...)
  298. local _, Arguments = ...
  299. local Name = Copies.string_find(Arguments, "n")
  300.  
  301. if Name then
  302. Result[Name] = OldResult_debug_info[Verifing][1]
  303. end
  304. end, ...)
  305. end
  306.  
  307. return Copies.unpack(Result)
  308. end
  309.  
  310. AddOverride(nil, "getinfo", getinfo, Copies.debug_getinfo)
  311. AddOverride(New_debug, "getinfo", getinfo, Copies.debug_getinfo)
  312. AddOverride(New_debug, "info", info, Copies.debug_info)
  313.  
  314. for BypassedFunction, OriginalFunction in Bypassed do
  315. OldResult_debug_getinfo[BypassedFunction] = {Copies.debug_getinfo(OriginalFunction)}
  316. OldResult_debug_info [BypassedFunction] = {Copies.debug_info(OriginalFunction, "nslaf")}
  317. end
  318. end
  319.  
  320.  
Advertisement
Add Comment
Please, Sign In to add comment