How would I make an Anti-Dex or make it so that it stops exploiters from downloading my map?
What would I have to do to receive this result?
To my knowledge, this is impossible as there’s no way of detecting Dex when exploiters have the ability to rename and change features to prevent your scripts from finding them.
There’s no way to stop someone from saving something the server is replicating to them.
I wouldn’t have a quick answer for the DEX issue, sadly.
However downloading your map?
You can’t, you literally cannot stop people from doing this, the most you can do is file a copyright strike against the user(s) if you find your work being stolen.
Actually, this is wrong. There is a way of doing this but it is very complicated. For example, the game SCP: Roleplay
has a system which automatically kicks an exploiter with Dex Explorer
.
@Remorsxe You should just try to keep checking to see if any UI’s were added that you didn’t make and if that ends up being the case, you do something with Ban or just keep Kicking the player.
There’s a way to prevent dex explorer inside of a game, found this through devforum.
local BlacklistedGuis = {
Dex = {
'SaveInstance';
'CallRemote';
'ScriptEditor';
};
}
local BlacklistedFound = {} --Blacklisted items found
wait() --Wait for game to load. Exploits cannot inject this fast so there's no worries.
game.DescendantAdded:connect(function(a)
--//We will use a pcall to get its name, you can only string an object for its name if it's in CoreGui.
local suc, err = pcall(function()
local n = a.Name
if n then end
end)
if err then --Must be in CoreGui because it errored out due to the security level
if tostring(a) then --If we can find the name of the inserted object.
local Name = tostring(a)
for ExploitName, Values in pairs (BlacklistedGuis) do --Go through blacklisted guis to see if this matches one of their children.
if not BlacklistedFound[ExploitName] then
BlacklistedFound[ExploitName] = 0
end
for Index, GuiName in pairs (Values) do
if GuiName == Name then
BlacklistedFound[ExploitName] = BlacklistedFound[ExploitName] + 1 --We found a possible child of the exploit, we will search for some more though.
end
end
if BlacklistedFound[ExploitName] >= #(Values) then --If we found all of these inside of CoreGui, they must have dex.
BlacklistedFound[ExploitName] = 0
print("Thanks for using "..ExploitName.."!") --We have found our blacklisted GUI! In this case, DEX!
end
end
end
elseif a.Parent == game.Players.LocalPlayer.PlayerGui then --Some people like it inside of PlayerGui.
if tostring(a) then
local Name = tostring(a) --This is its name, just being consistent.
for ExploitName, Values in pairs (BlacklistedGuis) do
if not BlacklistedFound[ExploitName] then
BlacklistedFound[ExploitName] = 0
end
for Index, GuiName in pairs (Values) do
if GuiName == Name then
BlacklistedFound[ExploitName] = BlacklistedFound[ExploitName] + 1 --We found a possible child once again.
end
end
if BlacklistedFound[ExploitName] >= #(Values) then --Oh hey look we found dex.
BlacklistedFound[ExploitName] = 0
print("Thanks for using "..ExploitName.." inside of PlayerGui!")
end
end
end
end
end)
I’m sorry, this code won’t work.
A. Exploits can inject extremely fast (even before any of the actual LocalScripts load)
B. Roblox patched the tostring detection method (the post you found is from 2018)
C. Even if this script did work, they could just change the name of the frames or do so many other things
D. There’s a lot of other issues with it that I don’t feel like getting into right now
And as for the post question, it’s not possible. If you really wanted to make sure they didn’t get your map just don’t add it. I know that’s probably not the result you wanted but it’s the truth.
UIs can be added thru CoreGUI if they have a cracked client making them undetectable
Exploiters can bypass UI additions through CoreGUIs. The example you gave was horrible because SCP:Roleplay’s map was stolen a long time ago already. The harsh reality is that there’s no possible way to stop this from happening.
Use a PackageLink and it is nearly impossible for them to publish the game, but you have to insert it in nearly every game part or important parts.
Unfortunately that is not an option
Cant stop people from copying your game but u can try encrypt most of your client side
@Mystery_Devx You should use task.wait(1)
local hacking = false
while wait(1) do
if dex then hacking = true
end
end
The mods took down my post, but true.
you cant.
i’m putting it as blunt as possible.
you literally cant.
dex loads with a randomly generated set of numbers / letters every time it is added
example
ajfgudatdaa8583ajsfw8a57asf - first time adding dex
yefhaeg8ea8gsad8gadjht4s609 - second time adding dex
they’re just random keyboard spam but it works the same way
its name is randomized when it’s added so you can’t pinpoint a set of names to block, also it’s parented to coregui which you can’t access via a script
to put it short
you cant.
You cannot. There is no way to stop someone from getting data that is already on their computer. Any security measures you want to add to a game must be enforced on the server, you can’t control your user’s computers.
This is correct, the code posted doesn’t work and cannot be made to work.
Sorry for bumping. But I assume this is a TextBox Detection also relying on CoreGui Detections are gonna be useless now since exploits are becoming external which don’t mess with Client Memory Usage either.
Sorry, no chance. Our last hope is for roblox to add the new anticheat that will get bypassed anyway by popular exploits
I have found a way to detect certain exploits/exploit code.
However, I will never leak it.
There are several ways you can protect your Roblox map from being downloaded or exploited by others. Here are a few options you can consider:
-
Use Roblox’s built-in anti-exploit measures: Roblox has a number of built-in measures to prevent exploitation, including the Roblox Security System (RSS), which is designed to protect against common exploits and vulnerabilities. This feature is being worked on, of what I’ve heard
-
Use Roblox’s place security settings: You can use Roblox’s place security settings to control who can access your place and what they can do in it. For example, you can set your place to “Private” to prevent it from being accessed by anyone other than you, or you can set it to “Friends Only” to allow only your friends to access it.
-
Use third-party anti-exploit tools: There are a number of third-party tools that can help you protect your place from being exploited or downloaded. These tools typically work by detecting and blocking common exploit techniques, such as packet sniffing or memory manipulation.
-
Use Roblox’s developer console: The Roblox developer console can be a powerful tool for preventing exploitation. You can use it to disable certain functions or variables that might be vulnerable to exploitation, or you can use it to monitor your place for unusual activity.
Keep in mind that no single solution can completely protect your place from being exploited or downloaded by others. However, by using a combination of these measures, you can significantly reduce the risk of exploitation and help ensure the security of your place.