V2.1 - Plugin: Hidden Backdoor/Infection Script Detector (Detects/Removes infections from malicious plugins)



I don’t know if its something I’m doing but the scanning seems inconsistent for me. Sometimes the scan works and prints in the output what it has done but other times it doesn’t do anything at all (even on a blank baseplate with very few instances). It used to scan just fine a week ago and worked every time but now it doesn’t, or at least most of the time.

I’ve tried re-installing the plugin and changing settings.

Here is an error I got once:


I looked into the error. This is due to a misnamed variable which caused users who had require turned off (or who failed to load the required module for any reason) to error out partially through the scan. (At the point that it began checking for known malicious plugins.)

I’m pushing out a patch for this now. This will be fixed as of V2.1.1


I’m still having to wait upwards to minutes to use this on ‘large games’. My computer is beefy, is there just a way to let the script run as fast as possible? Maybe use a tick() interval to check and wait on instead, I don’t mind an FPS drop, I just want it done fast.

Edit: Maybe have a modification like this?
Would just make studio look choppy, and help get the script done faster…


Is there any way to make it scan other people’s inventories? I’ve found some reappearing infected scripts in a team create place and I don’t know who is causing it so being able to scan everyone’s inventory will really help.


I doubt, the plugin is installed on YOUR account, they might have to get it too and run a scan.


Batch processing would be a better way to go about it. Here’s an example using a numeric for loop.

for index = 1, 1000 do
    if index % 10 == 0 then
        wait() -- This would go through 10 iterations before waiting
        -- effectively 300/second
    -- Code goes here

And for a recursive function

local iteration = 0

function apply(object)
	iteration = iteration + 1
	if (iteration%10 == 0) then
	-- do something to the object

function recurse(parent)
	for k, child in pairs(parent:GetChildren()) do



Edit: 300/s is honestly really slow. With a i7-7700k, I had 1% CPU usage at 6000/s with this code and 18,709 parts nested in each other.


I have fixed this with my revised version you can find here: https://www.roblox.com/library/2846769233/Widgeons-Modified-Hidden-Script-Remover

It will take up 0.1 ms of CPU time per frame which will perform tons faster, as well as give you ETA updates and % done!