How to remove backdoors from your game

What do these backdoors do? They can’t really steal robux can they so whats to worry?

1 Like

They can ruin your game. Exploiters can come and make everyone buy fake gamepasses, ban everyone, or even change their stats to super high.

2 Likes

I personally search “script” in the explorer and check all of my scripts.
Gameguard Anti-Virus V2 is a good plugin for backdoor scanning

3 Likes

Game backdoors has really advanced, exploiters for some reasons is bigbrain enough to create something realistic as this. This topic was really helpful towards the DevForum Community. The first time I started developing, I didnt realise someone could make something advance like this. One of my first games got backdoored before. Thank you for warning us. Stay safe :+1:t2:.

2 Likes

Sure that’s a good idea but personally, my game has about 2,000 scripts and that can be very tiring to look through all those scripts. Try using the search feature to find specific keywords in the scripts.

1 Like

That’s why I also use that specific plugin.

Stay aware for these things, however not everything is a virus after all. People are oversensitive that everything is a virus, but you just need to check and have awareness! If the model is like “RobloxTopPlugins” or has a group named “Models” it’s most likely a serverside, but remember be aware.

1 Like

To find the backdoor easily, just click CTRL + Shift + F then type require, if this doesn’t work! try getfenv()

4 Likes

There are really many topics about this, I recommend using this plug-in here https://www.roblox.com/library/5121131624/GameGuard-Anti-Virus-V2-ALPHA made by @deluc_t, does it with no hesitation and pretty fast.

Next time before you post something like this check on the forum if it has been answered before.

3 Likes

I don’t like the idea of “don’t use free models” at all. This is how many new Roblox developers start.

4 Likes

The plugin you sent me was made in June… My post was created in April…

Next time don’t criticize people for posting articles for people who don’t know about/can’t use those public resources. I recommend doing your research before making replies.

1 Like

Eh, you’re making no sense, there WERE other plug-ins before that one so do your research before doing replies.

I said you shouldn’t criticize people for making topics like this as some developers are unable to use such resources. Some developers can’t use certain plugins due to them being afraid the plugin will remove core scripts for example.

Another nice way to be sure is to check this topic:

It has most of the popular plugins and their real library ID’s listed, so you can make sure the plugin you have is legitimate.

Hi, I was looking in my scripts for some of the examples of strings that can get viruses, and in one of my scripts I have that phrase. I wanted to know if that is a virus (The script is from the ToolBox.

The word is “String” :

Tool = script.Parent
Handle = Tool:WaitForChild("Handle")

function Create(ty)
	return function(data)
		local obj = Instance.new(ty)
		for k, v in pairs(data) do
			if type(k) == 'number' then
				v.Parent = obj
			else
				obj[k] = v
			end
		end
		return obj
	end
end

local BaseUrl = "rbxassetid://"

Players = game:GetService("Players")
Debris = game:GetService("Debris")
RunService = game:GetService("RunService")

DamageValues = {
	BaseDamage = 5,
	SlashDamage = 10,
	LungeDamage = 30
}

--For R15 avatars
Animations = {
	R15Slash = 522635514,
	R15Lunge = 522638767
}

Damage = DamageValues.BaseDamage

Grips = {
	Up = CFrame.new(0, 0, -1.70000005, 0, 0, 1, 1, 0, 0, 0, 1, 0),
	Out = CFrame.new(0, 0, -1.70000005, 0, 1, 0, 1, -0, 0, 0, 0, -1)
}

Sounds = {
	Slash = Handle:WaitForChild("SwordSlash"),
	Lunge = Handle:WaitForChild("SwordLunge"),
	Unsheath = Handle:WaitForChild("Unsheath")
}

ToolEquipped = false

--For Omega Rainbow Katana thumbnail to display a lot of particles.
for i, v in pairs(Handle:GetChildren()) do
	if v:IsA("ParticleEmitter") then
		v.Rate = 20
	end
end

Tool.Grip = Grips.Up
Tool.Enabled = true

function IsTeamMate(Player1, Player2)
	return (Player1 and Player2 and not Player1.Neutral and not Player2.Neutral and Player1.TeamColor == Player2.TeamColor)
end

function TagHumanoid(humanoid, player)
	local Creator_Tag = Instance.new("ObjectValue")
	Creator_Tag.Name = "creator"
	Creator_Tag.Value = player
	Debris:AddItem(Creator_Tag, 2)
	Creator_Tag.Parent = humanoid
end

function UntagHumanoid(humanoid)
	for i, v in pairs(humanoid:GetChildren()) do
		if v:IsA("ObjectValue") and v.Name == "creator" then
			v:Destroy()
		end
	end
end

function Blow(Hit)
	if not Hit or not Hit.Parent or not CheckIfAlive() or not ToolEquipped then
		return
	end
	local RightArm = Character:FindFirstChild("Right Arm") or Character:FindFirstChild("RightHand")
	if not RightArm then
		return
	end
	local RightGrip = RightArm:FindFirstChild("RightGrip")
	if not RightGrip or (RightGrip.Part0 ~= Handle and RightGrip.Part1 ~= Handle) then
		return
	end
	local character = Hit.Parent
	if character == Character then
		return
	end
	local humanoid = character:FindFirstChildOfClass("Humanoid")
	if not humanoid or humanoid.Health == 0 then
		return
	end
	local player = Players:GetPlayerFromCharacter(character)
	if player and (player == Player or IsTeamMate(Player, player)) then
		return
	end
	UntagHumanoid(humanoid)
	TagHumanoid(humanoid, Player)
	humanoid:TakeDamage(Damage)	
end


function Attack()
	Damage = DamageValues.SlashDamage
	Sounds.Slash:Play()

	if Humanoid then
		if Humanoid.RigType == Enum.HumanoidRigType.R6 then
			local Anim = Instance.new("StringValue")
			Anim.Name = "toolanim"
			Anim.Value = "Slash"
			Anim.Parent = Tool
		elseif Humanoid.RigType == Enum.HumanoidRigType.R15 then
			local Anim = Tool:FindFirstChild("R15Slash")
			if Anim then
				local Track = Humanoid:LoadAnimation(Anim)
				Track:Play(0)
			end
		end
	end	
end

function Lunge()
	Damage = DamageValues.LungeDamage

	Sounds.Lunge:Play()
	
	if Humanoid then
		if Humanoid.RigType == Enum.HumanoidRigType.R6 then
			local Anim = Instance.new("StringValue")
			Anim.Name = "toolanim"
			Anim.Value = "Lunge"
			Anim.Parent = Tool
		elseif Humanoid.RigType == Enum.HumanoidRigType.R15 then
			local Anim = Tool:FindFirstChild("R15Lunge")
			if Anim then
				local Track = Humanoid:LoadAnimation(Anim)
				Track:Play(0)
			end
		end
	end

She was talking about “string.-something”.
String is a library, and also a type, which you can think of as just text. What can happen is that they might use this library to do some tricks like reversing strings to hide stuff. You shouldn’t worry MUCH about that.

That is the sword script I believe, I can’t find anything wrong with it. (It does look like you copied it a bit wrong, there’s a end missing so idk.)

1 Like

This is a nice resource! You should include searching “script” isn’t he explorer to find existing possibly infected scripts.

Also @MerlinExplorer , this post is not a plug-in. There is no need to be a mini-mod when the only tho wrong here is you. The post is fine, and it is really helpful and does more than what a plug-in does. This advises people on how to not get viruses in the first place.

That’s made by a dude who makes backdoors, use @Madpoint83’s anti backdoor instead.

At the bottom of this image it says “This asset has been rated as 100% safe.”

The RoGold plugin from Chrome does it all…

Although…


You should always check the stuff you import into your games.

I wouldn’t trust it because for one the user hasn’t been online for a year, and for two, she was a ‘UTG Test Fan’ for a group that has been “Content Deleted”, and for three, she has 3 friends in total, whereas 2 are terminated, and the third has a sketchy Bio and the avatar has been “Content Deleted” as well.



You should never trust a plugin, no matter what!

its bot broken it was it could not reach the group or user for whitelist
the code that errored was most likely
if the player is in group and is rank owner then
require player in group