Advertisement
DecerZz

Phantom Script Dumper

Mar 21st, 2025
333
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 13.83 KB | Source Code | 0 0
  1. local ModuleCache = debug.getupvalue(getrenv().shared.require, 1)._cache
  2.  
  3.  
  4.         local RobloxReplicatedStorage = game:GetService("RobloxReplicatedStorage")
  5.         local CoreGui = game:GetService("CoreGui")
  6.         local CorePackages = game:GetService("CorePackages")
  7.         local Chat = game:GetService("Chat")
  8.  
  9.         local Workspace = game:GetService("Workspace")
  10.         local Players = game:GetService("Players")
  11.         local MarketplaceService = game:GetService("MarketplaceService")
  12.  
  13.         -- // Configuration
  14.         local Configuration = {
  15.             Scripts = {"LocalScript", "ModuleScript"},
  16.             Remotes = {"RemoteEvent", "RemoteFunction", "BindableEvent", "BindableFunction"},
  17.             Services = {"StarterPlayerScripts", "StarterCharacterScripts"},
  18.             Replace = {["'"] = "&apos;", ["\""] = "&quot;", ["<"] = "&lt;", [">"] = "&gt;", ["&"] = "&amp;"},
  19.             Threads = 5,
  20.             Version = 4,
  21.  
  22.             Ignored = {
  23.                 RobloxReplicatedStorage,
  24.                 CoreGui,
  25.                 CorePackages,
  26.                 Chat
  27.             },
  28.  
  29.             StringFormats = {
  30.                 Welcome = "Welcome to savescirpts vee%d!",
  31.                 DecompilingScripts = "Decompiling %d scripts...",
  32.                 DecompilingScriptsProgress = "Decompiling scripts... (%d / %d)",
  33.                 FileSave = "Scripts for %s (%d) [%d].rbxlx",
  34.                 FinalOutput = "Scripts have been saved to file %q, took %d seconds for %d scripts"
  35.             },
  36.  
  37.             Strings = {
  38.                 Credits = "stefanu1k2 hub when?",
  39.                 CollectingScripts = "Collecting scripts...",
  40.                 CreatingXMLLayout = "Creating XML Layout...",
  41.                 DecompileFail = "-- Failed to decompile script, or script is empty",
  42.                 DecompileFailTimeout = "-- Failed to decompile script (timed out)"
  43.             }
  44.         }
  45.  
  46.         -- // Vars
  47.         local CurrentCamera = Workspace.CurrentCamera
  48.         local LocalPlayer = Players.LocalPlayer
  49.  
  50.         local GameInfo = MarketplaceService:GetProductInfo(game.PlaceId)
  51.         local GameName = GameInfo.Name:gsub("[^%w%s]", "")
  52.         local Viewport = CurrentCamera.ViewportSize
  53.  
  54.         -- // Forward decleration
  55.         local Output
  56.         local Hierarchy
  57.         local ScriptCount
  58.         local DoneScripts
  59.         local NeedsDecompile
  60.         local LoadedIds
  61.  
  62.         -- // Ignore others
  63.         for _, Player in ipairs(Players:GetPlayers()) do
  64.             if (Player ~= LocalPlayer) then
  65.                 table.insert(Configuration.Ignored, Player)
  66.                 table.insert(Configuration.Ignored, Player.Character)
  67.             end
  68.         end
  69.  
  70.         -- // Drawings
  71.         local CompleteBar = Drawing.new("Square")
  72.         CompleteBar.Filled = true
  73.         CompleteBar.Size = Vector2.new(500, 25)
  74.         CompleteBar.Position = Vector2.new(Viewport.X / 2 - CompleteBar.Size.X / 2, Viewport.Y - 100)
  75.         CompleteBar.Color = Color3.new(0, 0, 0)
  76.  
  77.         local ProgressBar = Drawing.new("Square")
  78.         ProgressBar.Color = Color3.new(1, 1, 1)
  79.         ProgressBar.Filled = true
  80.         ProgressBar.Position = CompleteBar.Position
  81.         ProgressBar.Size = Vector2.new(0, 25)
  82.         ProgressBar.Color = Color3.new(1, 1, 1)
  83.  
  84.         local ProgressText = Drawing.new("Text")
  85.         ProgressText.Color = Color3.new(1, 1, 1)
  86.         ProgressText.Center = true
  87.         ProgressText.Size = ProgressBar.Size.Y
  88.         ProgressText.Position = ProgressBar.Position + Vector2.new(CompleteBar.Size.X / 2, 35)
  89.         ProgressText.Color = Color3.new(1, 1, 1)
  90.  
  91.         local Credits = Drawing.new("Text")
  92.         Credits.Color = Color3.new(1, 1, 1)
  93.         Credits.Position = Vector2.new(Viewport.X - 100, Viewport.Y - 25)
  94.         Credits.Size = 15
  95.         Credits.Color = Color3.new(1, 1, 1)
  96.  
  97.         -- // Check if an object is allowed
  98.         local function IsAllowed(Item)
  99.         -- // Loop through Ignored things
  100.             for _, Object in ipairs(Configuration.Ignored) do
  101.                 -- // See if Ignored
  102.                 if (Item == Object or Item:IsDescendantOf(Object)) then
  103.                     -- // Return
  104.                     return false
  105.                 end
  106.             end
  107.  
  108.             -- // Return
  109.             return true
  110.         end
  111.  
  112.         -- // Get the parents of object
  113.         local function GetParentTree(Object)
  114.             -- // Vars
  115.             local trees = {}
  116.  
  117.             -- // Make sure have a parent to go to
  118.             while (Object.Parent ~= nil and Object.Parent ~= game) do
  119.                 -- //
  120.                 Object = Object.Parent
  121.  
  122.                 -- // Add
  123.                 table.insert(trees, 1, Object)
  124.             end
  125.  
  126.             -- // Return
  127.             return trees
  128.         end
  129.  
  130.         function GetName(Object)
  131.             for i,v in pairs(ModuleCache) do
  132.                 if v.object == Object then
  133.                     return i
  134.                 end
  135.             end
  136.             return Object.Name
  137.         end
  138.  
  139.         -- // Get a script and add it to the Hierarchy
  140.         function GetScripts(Objects, CheckLoaded)
  141.             -- // Loop through objects
  142.             for _, Object in ipairs(Objects) do
  143.                 -- // Make sure is an instance and is allowed
  144.                 if (typeof(Object) == "Instance" and IsAllowed(Object)) then
  145.                     -- // Vars
  146.                     local ObjectClassName = Object.ClassName
  147.  
  148.                     -- // Make sure is something we want to save
  149.                     if (table.find(Configuration.Remotes, ObjectClassName) or table.find(Configuration.Scripts, ObjectClassName)) then
  150.                         -- // Vars
  151.                         local ObjectDebugId = Object:GetDebugId()
  152.  
  153.                         -- //
  154.                         if (Object.Parent == nil) then
  155.                             Hierarchy["NIL"].Children[ObjectDebugId] = {Class = ObjectClassName, Ref = Object, Children = {}}
  156.                         else
  157.                             -- // Vars
  158.                             local Start = Hierarchy
  159.  
  160.                             -- // Loop through parents of object
  161.                             for _, Branch in ipairs(GetParentTree(Object)) do
  162.                                 -- // Vars
  163.                                 local BranchDebugId = Branch:GetDebugId()
  164.                                 local BranchClassName = Branch.ClassName
  165.  
  166.                                 -- //
  167.                                 if (Start[BranchDebugId] == nil) then
  168.                                     -- // Make sure service exists
  169.                                     if (game:FindService(BranchClassName) or table.find(Configuration.Services, BranchClassName)) then
  170.                                         Start[BranchDebugId] = {Class = BranchClassName, Ref = Branch, Children = {}}
  171.                                     else
  172.                                         Start[BranchDebugId] = {Class = "Folder", Ref = Branch, Children = {}}
  173.                                     end
  174.                                 end
  175.  
  176.                                 -- //
  177.                                 Start = Start[BranchDebugId].Children
  178.                             end
  179.  
  180.                             -- //
  181.                             Start[ObjectDebugId] = {Class = ObjectClassName, Ref = Object, Children = {}}
  182.                         end
  183.  
  184.                         -- // Check if loaded
  185.                         if (CheckLoaded) then
  186.                             if (table.find(Configuration.Scripts, ObjectClassName) and not table.find(LoadedIds, ObjectDebugId)) then
  187.                                 Hierarchy["LOADED MODULES"].Children[ObjectDebugId] = {Class = ObjectClassName, Ref = Object, Children = {}}
  188.                             end
  189.                         else
  190.                             table.insert(LoadedIds, ObjectDebugId)
  191.                         end
  192.                     end
  193.                 end
  194.             end
  195.  
  196.             -- // Return
  197.             return Hierarchy
  198.         end
  199.  
  200.         -- //
  201.         local function MakeInstance(ClassName, Name, Object)
  202.             -- //
  203.             table.insert(Output, '<Item class="' .. ClassName .. '" referent="RBX' .. #Output .. '"><Properties>')
  204.             table.insert(Output, '<string name="Name">' .. Name:gsub("['\"<>&]", Configuration.Replace) .. '</string>')
  205.  
  206.             -- //
  207.             if (Object and table.find(Configuration.Scripts, Object.ClassName)) then
  208.                 -- //
  209.                 if (Object.ClassName == "LocalScript") then
  210.                     table.insert(Output, '<bool name="Disabled">' .. tostring(Object.Disabled) .. '</bool>')
  211.                 end
  212.  
  213.                 table.insert(Output, '<ProtectedString name="Source"><![CDATA[')
  214.                 table.insert(Output, "")
  215.                 table.insert(Output, ']]></ProtectedString>')
  216.  
  217.                 table.insert(NeedsDecompile, {Script = Object, Index = #Output - 1})
  218.             end
  219.  
  220.             -- //
  221.             table.insert(Output, "</Properties>")
  222.         end
  223.  
  224.         -- //
  225.         local function SaveHierarchy(Tree)
  226.             -- // Loop through tree
  227.             for Name, Object in pairs(Tree) do
  228.                 -- // Vars
  229.                 local ObjectRef = Object.Ref
  230.                 local ObjectName = ObjectRef and GetName(ObjectRef) or Name
  231.  
  232.                 -- // Make instance, save it and add to Output
  233.                 MakeInstance(Object.Class, ObjectName, ObjectRef)
  234.                 SaveHierarchy(Object.Children)
  235.                 table.insert(Output, "</Item>")
  236.             end
  237.         end
  238.  
  239.         -- // Main function
  240.         local function Main(_Configuration)
  241.             -- // Start Timer
  242.             local StartTime = tick()
  243.  
  244.             -- // Default values
  245.             Configuration = _Configuration or Configuration
  246.  
  247.             Output = {'<roblox xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.roblox.com/roblox.xsd" version="4">'}
  248.             Hierarchy = {["NIL"] = {Class = "Folder", Children = {}}, ["LOADED MODULES"] = {Class = "Folder", Children = {}}}
  249.  
  250.             ScriptCount = 0
  251.             DoneScripts = 0
  252.             NeedsDecompile = {}
  253.             LoadedIds = {}
  254.  
  255.             -- // Set drawings stuff
  256.             ProgressText.Text = Configuration.StringFormats.Welcome:format(Configuration.Version)
  257.             Credits.Text = Configuration.Strings.Credits
  258.  
  259.             ProgressBar.Visible = true
  260.             CompleteBar.Visible = true
  261.             Credits.Visible = true
  262.             ProgressText.Visible = true
  263.             wait(1)
  264.  
  265.             -- // Collect all the scripts
  266.             ProgressText.Text = Configuration.Strings.CollectingScripts
  267.             GetScripts(game:GetDescendants())
  268.             GetScripts(getnilinstances())
  269.             GetScripts(getloadedmodules(), true)
  270.             LoadedIds = nil
  271.             wait(1)
  272.  
  273.             -- // Create XML Layout
  274.             ProgressText.Text = Configuration.Strings.CreatingXMLLayout
  275.             SaveHierarchy(Hierarchy)
  276.             ScriptCount = #NeedsDecompile
  277.             table.insert(Output, "</roblox>")
  278.             wait(0.5)
  279.  
  280.             -- // Start Decompiling
  281.             ProgressText.Text = Configuration.StringFormats.DecompilingScripts:format(ScriptCount)
  282.             local RunningCount = Configuration.Threads
  283.  
  284.             -- // Start Threads
  285.             for i = 1, Configuration.Threads do
  286.                 task.spawn(function()
  287.                     -- //
  288.                     while (#NeedsDecompile > 0) do
  289.                         -- // Vars
  290.                         local Data = table.remove(NeedsDecompile)
  291.                         local DecompileStartTime = tick()
  292.                         local result
  293.  
  294.                         -- // Decompile
  295.                         task.spawn(function()
  296.                             result = decompile(Data.Script, false, 30)
  297.                         end)
  298.  
  299.                         -- // Wait until we have a decompiled script or not (default decompiler timeout isn't reliable)
  300.                         repeat
  301.                             wait()
  302.                         until result ~= nil or tick() - DecompileStartTime >= 30
  303.  
  304.                         -- // Script decompile failsure
  305.                         if (result ~= nil) then
  306.                             Output[Data.Index] = (result == "" and Configuration.Strings.DecompileFail or result)
  307.                         else
  308.                             Output[Data.Index] = Configuration.Strings.DecompileFailTimeout
  309.                         end
  310.                         wait()
  311.  
  312.                         -- // Update
  313.                         DoneScripts = DoneScripts + 1
  314.                         ProgressBar.Size = Vector2.new(500 * DoneScripts / ScriptCount, ProgressBar.Size.Y)
  315.                         ProgressText.Text = Configuration.StringFormats.DecompilingScriptsProgress:format(DoneScripts, ScriptCount)
  316.                     end
  317.  
  318.                     -- //
  319.                     RunningCount = RunningCount - 1
  320.                 end)
  321.             end
  322.  
  323.             -- // Wait for decompiling to finish
  324.             while (RunningCount > 0) do
  325.                 wait(0.5)
  326.             end
  327.             wait(1)
  328.  
  329.             -- //
  330.             ProgressBar.Visible = false
  331.             CompleteBar.Visible = false
  332.  
  333.             -- // Vars
  334.             local saveName = Configuration.StringFormats.FileSave:format(GameName, game.PlaceId, os.time())
  335.  
  336.             -- // Save file
  337.             writefile(saveName, table.concat(Output, "\n"))
  338.  
  339.             -- // Output
  340.             ProgressText.Text = Configuration.StringFormats.FinalOutput:format(saveName, tick() - StartTime, ScriptCount)
  341.             wait(5)
  342.  
  343.             Credits.Visible = false
  344.             ProgressText.Visible = false
  345.         end
  346.  
  347.         Main()
Advertisement
Comments
  • responsive02
    6 days
    # text 2.09 KB | 0 0
    1. https://katfile.com/47dnpxn71ghh/defloration_of_rebecca.mp4.html
    2.  
    3. https://katfile.com/smcxklrxq2bu/t33n_hottie_hippie.mp4.html
    4. https://katfile.com/2m534lsws01y/1yo-_renee_roulette.mp4.html
    5.  
    6. https://katfile.com/1cufobt46nkl/teen_fucked_and_spanked.mp4.html
    7. https://katfile.com/9h0ejv5fyw6d/skinny_teen_squirted_on_a_huge_cock.mp4.html
    8.  
    9. https://katfile.com/2c17vu10m7f0/Xvideos_loving_sex_with_teen.mp4.html
    10. https://katfile.com/21h5dbudizpq/little_puusy.mp4.html
    11.  
    12. https://katfile.com/311arifdnur0/stepdaughter_is_fucked.mp4.html
    13. https://katfile.com/io0wfnl7mdk6/eos__arcel.mp4.html
    14.  
    15. https://katfile.com/khn7888qjnn3/exxxtra_t.mp4.html
    16. https://katfile.com/vzfutxpkkmgk/you_doing_i_am_t.mp4.html
    17.  
    18. https://katfile.com/23eazz88040p/girl_masturbation_pussy.mp4.html
    19. https://katfile.com/m7tkkbbgfy9e/exciting_teenie.mp4.html
    20.  
    21. https://katfile.com/9qs94as6iix4/774442[pt.mp4.html
    22. https://katfile.com/bw4nby0d4hfl/analj.mp4.html
    23. https://katfile.com/7us4r0bsconi/cam_5801.mp4.html
    24. https://katfile.com/36s00ol8nv1q/hot_play_webcam_teen_masturbation_in_front.mp4.html
    25. https://katfile.com/110ld42x6d7w/morning_teen_masturb.mp4.html
    26. https://katfile.com/mjk1qxqefaii/orrga01.MP4.html
    27. https://katfile.com/gon211e3ldm9/orrga02.MOV.html
    28. https://katfile.com/41fuahxsgv9j/orrga3.mp4.html
    29. https://katfile.com/si951brc7wai/teen_cocksucker.mp4.html
    30. https://katfile.com/i6ejhnfmzkmy/VID_201_018.mp4.html
    31. https://katfile.com/fi4x6r4tgkqm/darling_tomoyo_isumi_fucks_a_gu.mp4.html
    32. https://katfile.com/ti4wk9bbnwlr/defloration_t.mp4.html
    33. https://katfile.com/io0wfnl7mdk6/eos__arcel.mp4.html
    34. https://katfile.com/m7tkkbbgfy9e/exciting_teenie.mp4.html
    35. https://katfile.com/khn7888qjnn3/exxxtra_t.mp4.html
    36. https://katfile.com/23eazz88040p/girl_masturbation_pussy.mp4.html
    37. https://katfile.com/110ld42x6d7w/morning_teen_masturb.mp4.html
    38. https://katfile.com/dy8t4x1qh63k/my_best_friend_was_a_virgin.mp4.html
    39. https://katfile.com/311arifdnur0/stepdaughter_is_fucked.mp4.html
    40. https://katfile.com/si951brc7wai/teen_cocksucker.mp4.html
    41. https://katfile.com/air1cunyil6q/Xxxx_.t.mp4.html
    42. https://katfile.com/vzfutxpkkmgk/you_doing_i_am_t.mp4.html
Add Comment
Please, Sign In to add comment
Advertisement