--[[ Script by MegaXk ⚠️Warning: the script may not work sometimes. It is recommended to use the script in poorly made games. --]] local player = game.Players.LocalPlayer local marketplace = game:GetService("MarketplaceService") local http = game:GetService("HttpService") local replicatedStorage = game:GetService("ReplicatedStorage") local runService = game:GetService("RunService") local starterGui = game:GetService("StarterGui") local coreGui = game:GetService("CoreGui") local originalNamecall, originalIndex, originalNewindex local isHooked = false local isInitialized = false local gamepassIds = {} local productIds = {} local function isExecutorSafe() local execFlags = { is_synapse = pcall(function() return syn and syn.crypt end), is_krnl = pcall(function() return krnl and krnl.Clone end), is_scriptware = pcall(function() return is_sir_himself end), is_fluxus = pcall(function() return fluxus and fluxus.import end), is_oxygen = pcall(function() return Oxygen and Oxygen.U then true else false end), } for _, v in pairs(execFlags) do if v then return true end end return (getgenv and true) or (getrenv and true) or false end local function deepObfuscate(tbl, depth) depth = depth or 0 if depth > 3 then return tbl end for k, v in pairs(tbl) do if type(v) == "function" then local old = v tbl[k] = function(...) runService.Heartbeat:Wait() return old(...) end elseif type(v) == "table" then deepObfuscate(v, depth + 1) end end return tbl end local function sanitizeEnvironment() local protected = {"warn", "print", "error", "getfenv", "setfenv"} for _, func in pairs(protected) do if _G[func] then _G[func] = function() end end end if getgenv then for k, v in pairs(getgenv()) do if type(v) == "function" and string.find(k, "hook") then getgenv()[k] = nil end end end end local function advancedHookProtection() local mt = getrawmetatable(game) if not mt then return false end local oldNamecall = mt.__namecall local oldIndex = mt.__index local oldNewindex = mt.__newindex setreadonly(mt, false) mt.__namecall = newcclosure(function(self, ...) local method = getnamecallmethod() if method == "FireServer" or method == "InvokeServer" then local args = {...} for i, arg in pairs(args) do if type(arg) == "string" and (string.find(arg, "anticheat") or string.find(arg, "byfron") or string.find(arg, "hyperion")) then return end end end if not isHooked and self == marketplace and method == "UserOwnsGamePassAsync" then return true end return oldNamecall(self, ...) end) mt.__index = newcclosure(function(self, key) if not isHooked and self == marketplace and key == "UserOwnsGamePassAsync" then return function() return true end end if type(key) == "string" and string.find(key:lower(), "anticheat") then return nil end return oldIndex(self, key) end) mt.__newindex = newcclosure(function(self, key, value) if type(key) == "string" and string.find(key:lower(), "detect") then return end return oldNewindex(self, key, value) end) setreadonly(mt, true) return true end local function multiLayerGamepassBypass(ids) local successCount = 0 local remoteEvents = {} for _, v in pairs(replicatedStorage:GetDescendants()) do if v:IsA("RemoteEvent") and (v.Name:find("Gamepass") or v.Name:find("Product") or v.Name:find("Purchase") or v.Name:find("Reward")) then table.insert(remoteEvents, v) end end for i, remote in pairs(remoteEvents) do for _, id in pairs(ids) do pcall(function() remote:FireServer(player.UserId, id) remote:FireServer("PurchaseFinished", id, true) remote:FireServer(id, true) successCount = successCount + 1 end) end end local promptEvent = replicatedStorage:FindFirstChild("PromptGamepassPurchaseFinished") if promptEvent then for _, id in pairs(ids) do pcall(function() promptEvent:FireServer(player.UserId, id) promptEvent:FireServer(id, true) successCount = successCount + 1 end) end end return successCount end local function signalManipulation(ids) local successCount = 0 if marketplace.SignalPromptProductPurchaseFinished then for _, id in pairs(ids) do pcall(function() marketplace:SignalPromptProductPurchaseFinished(player.UserId, id, true) successCount = successCount + 1 end) end end if marketplace.PromptProductPurchaseFinished then for _, id in pairs(ids) do pcall(function() local args = {player.UserId, id, true} local signal = marketplace.PromptProductPurchaseFinished if signal and signal.Fire then signal:Fire(unpack(args)) end successCount = successCount + 1 end) end end return successCount end local function cleanupHooks() if originalNamecall then local mt = getrawmetatable(game) if mt then setreadonly(mt, false) mt.__namecall = originalNamecall mt.__index = originalIndex mt.__newindex = originalNewindex setreadonly(mt, true) end end end local function showRobloxNotification(title, text, duration) pcall(function() starterGui:SetCore("SendNotification", { Title = title, Text = text, Duration = duration or 4, Icon = "rbxasset://textures/ui/GuiIconPlaceholder.png" }) end) end local function getGameInfo() local success, info = pcall(function() return marketplace:GetProductInfo(game.PlaceId) end) return success and info.Name or "Unknown Game" end local function fetchGamepassIds() local url = "https://games.roblox.com/v1/games/" .. game.PlaceId .. "/game-passes?limit=100" local allIds = {} local cursor = nil repeat local requestUrl = url if cursor then requestUrl = url .. "&cursor=" .. cursor end local success, response = pcall(function() return http:GetAsync(requestUrl) end) if not success then break end local data = http:JSONDecode(response) for _, v in pairs(data.data or {}) do table.insert(allIds, v.id) end cursor = data.nextPageCursor until not cursor return allIds end local function fetchProductIds() local url = "https://games.roblox.com/v1/games/" .. game.PlaceId .. "/developer-products?limit=100" local success, response = pcall(function() return http:GetAsync(url) end) if not success then return {} end local data = http:JSONDecode(response) local ids = {} for _, v in pairs(data.data or {}) do table.insert(ids, v.id) end return ids end local function hideExecution() pcall(function() local scripts = debug.getinfo(1) if scripts and scripts.source then scripts.source = "Main" end end) if getgc then local gc = getgc(true) for _, v in pairs(gc) do if type(v) == "function" and debug.getinfo(v) and debug.getinfo(v).source and string.find(debug.getinfo(v).source, "loadstring") then v = nil end end end isHooked = true end local function delayExecution() local delayTime = math.random(30, 120) showRobloxNotification("┌⧹_" .. getGameInfo(), "Waiting " .. delayTime .. "s for optimal conditions...", 3) wait(delayTime) hideExecution() local gameName = getGameInfo() local passIds = fetchGamepassIds() local prodIds = fetchProductIds() local successPass = 0 local successProd = 0 if #passIds > 0 then successPass = multiLayerGamepassBypass(passIds) end if #prodIds > 0 then successProd = signalManipulation(prodIds) end if successPass > 0 or successProd > 0 then showRobloxNotification("✅ " .. gameName, "Simulated " .. (successPass + successProd) .. " rewards | Use responsibly", 4) else showRobloxNotification("⚠️ " .. gameName, "Partial simulation | Game uses ProcessReceipt", 4) end end local function init() if isInitialized then return end isInitialized = true sanitizeEnvironment() if not isExecutorSafe() then showRobloxNotification("⚠️", "Unsupported executor | Some features may not work", 4) end advancedHookProtection() showRobloxNotification("⟁ " .. getGameInfo(), "System ready | Execute with caution", 3) spawn(delayExecution) end pcall(init) local function emergencyCleanup() cleanupHooks() isHooked = false end game:GetService("UserInputService").InputBegan:Connect(function(input) if input.KeyCode == Enum.KeyCode.LeftAlt and input.UserInputType == Enum.UserInputType.Keyboard then emergencyCleanup() showRobloxNotification("⟁", "Hooks cleaned | System restored", 2) end end)