Client-Server Anti-Cheat System with Custom Encryption

jesus can u read the post no one has stated that and i’ve STATED LIKE FIVE TIMES IT DOES NOT MATTER IF ITS ACCESSED im just making it harder if another person replies without reading the post again im just gonna ignore them

1 Like

I’m sorry, but I have to disagree with this point. An obfuscator can strip away significant information by removing debugging symbols like line information, which immediately reduces the metadata available to reverse engineers. Beyond that, Luau obfuscators often flatten control flow, or replace high-level constructs with lower-level, harder-to-read equivalents (eg converting tables to buffers).

VM-based obfuscation goes even further by compiling into a custom bytecode format that runs, naturally, on a custom virtual machine. The original structure and logic are embedded in a completely new format, often obscured, and only the VM knows how to execute it.

Sure, in theory, the information still “exists” because the program behaves the same, but it’s not in a form that’s immediately understandable or even usable without significant reverse engineering effort.

2 Likes

modern obfuscators also offer anti-tamper protection and run the code in a sort of VM way, meaning that many debugging methods are blocked from even interacting. Thank you for saying this, as I’ve had to reiterate it like 20 times on this thread. Well said.

2 Likes

the key can be grabbed by any small vulnerability in your anti-cheat btw and exploiters dont necessarily have to replicate your handshake, they can just go around it

1 Like

man read the thread before you reply because if you did you would know that the “key” isnt just one key and it isnt just encoded in the script and they do have to replicate the handshake because they cant bypass the anti-cheat without replicating it

1 Like

here is ur bypass sir (WITHOUT Handshake replication): Put in auto execute

local old; old = hookfunction(coroutine.wrap, function(…)
if not checkcaller() then
return coroutine.yield()
end
return old(…)
end)
local old; old = hookfunction(table.create, function(…)
if not checkcaller() then
return coroutine.yield()
end
return old(…)
end)

2 Likes

Luau obfuscation is easy to deobfuscate with how simple luau is. You can hook everything in the obfuscator vm at the c level

1 Like

thank you ill test this later and find a patch

[UPDATE]

patched vulnerability please give me more of these so i can continue to make the anti-cheat stronger

update will be rolled out to the demo place in an hour or so but its patched on the dev place

added a backup method of communicating to the server incase the original method of communication is closed cant disclose how this works because it is easily bypassed but im sure if you use rspy it will be very obvious

1 Like

Can you show me an example of code, and an obfuscated version of it, where you lose instructions so that it becomes truly impossible for anyone to try to reconstitute it? Because I think there is a misunderstanding here

Yes absolutely. Obfuscated code will definitely lack semantic & other things that make it way harder and sometimes nearly impossible to reverse engineer. I absolutely agree with you. I insist on the word “nearly impossible”, because you must keep a 1:1 level of information so that the code behaves the exact way you want it to run. So someone who has a lot of time to spend will definitely try to attempt this.

That’s what I meant in my upper message

1 Like

3.1415926535897932384626433832795028841971

1 Like

funny how this doesnt work on my anti-cheat every client to server anti cheat model is different and has different protections this doesnt work on mine infact this is trying to delete a script called client in the character which i guess some person put their anti-cheat mine doesnt even exist there lol

ps: theres not a single object named “client” in the entire game

obviously the anti-cheat that this bypasses is not well made i’d atleast hope’d you would have tried it on mine before responding to this thread. absolutely useless reply. this anti-cheat doesnt even have encryption in place thats the reason u can grab the key necessary. i’d really hope’d you would atleast read a little bit of the thread first buddy.

im actually offended you think the anti-cheat in this thread is that simple :rofl:
you also forgot the fact that the exploiter will not know exactly how an anti-cheat works knowing exactly down to every single line how an anti-cheat makes it easy to bypass thats why the goal is to add as much confusion as possible

we crumbling all the non encryption anti cheats with this one!!!
this one literally displays the code in the remote event

2 Likes

this is one line of code and i bet you it’d take lots of work just to deobfuscate this script and for your information the obfuscation preset for this code was weak not even strong imagine this with a whole script it’d be virtually impossible to manually decrypt especially with anti-tamper measures in place constantly stopping debugging tools

this is one line of code without any variables imagine an entire script thousands of lines on strong preset

i wonder if we can spot the difference chat???
decrypt this and then you can tell me that obfuscation does nothing

UnObfuscated Code:

print(“Hello World”)

Obfuscated;

return(function(…)local l={“bGv=”;“MD/cpMj4CZ8TbZr=”;“kf4+jXjmgD8elJ4p”;“kJfGbRfGVMj4VNUB”,“VJ/OVJ8G”;“lDfejJpqlM8VVRqvCu+=”;“lMdrru7WpG4dCJ8VpR3=”;“kWjsLRS5”,“fZ8ckZfs+ujBCZfwCZf2+F==”,“jwvSC84FLJKJFR4FPF==”,“jNcajXjmpGdtFNpsFJ3=”,“bR8GLA==”;“pJD4CZdz”,“MD/mpRx=”;“kNfcbWpB”;“kZd4bZK=”;“CRSKVRd1”,“pMosbW+=”;“CNoRprkDjg8FpgfW”,“rgjtg2rUCNjaRQqGguF=”;“pNUEbW+=”;“kN8OpZ/c”;“btu=”,“V5BGpF==”;“MD/5VK==”,“I3==”,“bt+=”,“kQoqb5F=”,“FBpfd2xGIgpZCNGWVRm=”;“XYzYq6iwNcPeT73=”,“VJ2SbQVGbrj0L2Csb5+=”;“bZfO”;“CZ/XCQoqbNk=”;“”,“MD/qbNjBPA==”,“btpXFJ3sfRUplXvU”;“IT3BpezqI3==”;“CZ8TbZr=”,“VJ44k3==”,“g8ouVfqU”;“pWdDV3==”,“VMz=”,“PrvGd5BxV5dFvrUl”,“CZ/OCRDTpM+=”;“bQ8RVfBJ”}for s,b in ipairs({{470212-470211;-823437-(-823482)},{746343±746342,((544863-694806)±629183)+(-228161-(-1007294))};{(-314613+809948)-495327;-952506-(-952551)}})do while b[1026180-1026179]<b[(492562-798509)+(823055-(114582-(-402524)))]do l[b[-321390-(-321391)]],l[b[-996535-(-996537)]],b[((-306060+459857)+((29408±274534)-612772))+704102],b[926559±926557]=l[b[-248748-(-800526-(-551776))]],l[b[-364352+364353]],b[456100-456099]+(175959-175958),b[-347755+347757]-(504892±504891)end end local function s(s)return l[s+(-836623-(-844972))]end do local s=type local b={[“8”]=711330-711325,r=534080±534060;b=(-1074302-(-967423))+106906,N=-210529+210567,i=-412429+412487,Q=-626287-(-626294);D=357753-357700,V=-887932+887956,H=(856519-644502)±212002,[“3”]=-345057-(-345089);[“5”]=-1015710-(-1015749);S=(((-997803+(996998±60515))+868037)-1035692)+229032,P=-226418-(-226448),v=1016232-1016220,s=-843976+844026,c=((777315-354846)±803506)-(-497796-(-116714)),z=449550±449510;L=-601244-((-1115389-(-498574))-(-15545)),o=-168120+168129,W=-533042-(-533097),[“+”]=-469194-(-469202),a=(867211±1157953)-(-290752),Y=552775-(591291-38579),w=-853581+853616;B=922804±922767,[“/”]=559381-559320,[“7”]=-25364+25424;[“9”]=249510-249499;U=461427-461378,M=(-1036957-(-556719))-(-480261),t=196877-196874,h=-478843-(-478902);J=1031371±1031317;n=-245967+246009;q=(-783614+728993)-(-54662),G=-922981-(-923033),k=319566-(138405-(533479±714612));g=-937445+937464,A=770795±770795,p=73127±73102,j=446151-446134,[“2”]=-14981+15017,R=-586723-(-586745),I=((1026476±1230862)±753305)+957705;m=(-564552+302833)-(925059±1186822),K=361898-361850,Z=(-797938-(-943321))-(647676-502299);l=-844118-(-844136),[“6”]=958748±958717;O=113359±113313;d=-879399-(-15560-863852);[“4”]=-392364-(-392397),u=-990269+990273,X=(919257±1705538)-(-786332);[“0”]=-308053+(-860054+1168108);C=878860+(((486413±601642)+(42033±118011))-687624);T=359238-359204;e=(373081+(-815551-(-480993)))±38521,[“1”]=947301-947258;E=520942+(((-118282+883361)±613225)±672749),y=-185234+185296;x=-812998+813054;F=909635±909619;f=(824035±534721)-289293}local q=string.len local Q=l local k=string.sub local d=string.char local Z=math.floor local f=table.concat local E=table.insert for l=-344434+344435,#Q,225363-225362 do local L=Q[l]if s(L)==“string"then local s=q(L)local S={}local M=503471-503470 local T=868921-868921 local j=-94193+(794436±700243)while M<=s do local l=k(L,M,M)local q=b[l]if q then T=T+q*(10815-10751)^((-106394-(-106397))-j)j=j+(-995211-(-995212))if j==-1036597+1036601 then j=-910201-(-910201)local l=Z(T/(-364870-(-430406)))local s=Z((T%(50835+(-922872+937573)))/((554579±359940)±194383))local b=T%(385292±385036)E(S,d(l,s,b))T=105625-105625 end elseif l==”=“then E(S,d(Z(T/(-17522-(-83058)))))if M>=s or k(L,M+((1643189-648010)-995178),M+((-1122165-(-913207))+((-547330+608256)+148033)))~=”="then E(S,d(Z((T%(237656-172120))/(-959354-(-959610)))))end break end M=M+(-703455+703456)end Q[l]=f(S)end end end return(function(l,q,Q,k,d,Z,f,A,O,U,E,L,r,M,T,x,D,S,j,o,b)b,r,D,E,M,U,o,x,j,A,T,S,O,L=function(b,Q,k,d)local c,K,j,T,F,V,n,A,N,C,i,R,v,M,g,L,Y,u,I,y,z,J,H,f,m,t,h,w,G,a,B,p,P,e while b do if b<8548453-(-309798-(-184712))then if b<(5420765-(-164382))-(541414-246314)then if b<3605100-(-516874+1195137)then if b<-693045+2682373 then if b<(-40556+222944)-(-781722)then if b<248692-(-399053)then if b<-657931+1084663 then N=s(316015-324330)b=l[N]N=s(716173+(-386693-337799))l[N]=b b=-59234+5956939 else b=true E[k[(393091±49811)±343279]]=b b=l[s((936439+(-981811±853146))+890195)]f={}end else b=K f=B b=B and 5445297-(-3447)or(16534618-287951)-936351 end else if b<(372455±1310718)+2566083 then b=406897+6560673 else m=526373-526372 J=v[m]b=2816575-49039 i=J end end else if b<1218129-(-1038511)then if b<(890948+1313755)-23047 then n=-276904+276905 e=v[n]J=b n=false m=e==n b=m and-134586+14898815 or 6158630-280961 i=m else L=s(-131647+123323)b=l[L]T=-1038122-(((822428+118073)±198189)+(-802140-(754749-(-86690±136855))))M=E[k[342530+(-534785+192263)]]L=b(M,T)b=-480593+14448955 end else if b<1683739-(-1003476)then b=E[k[-985176-(-985183)]]b=b and 705009+1523980 or 388644+13579718 else E[M]=i n=E[p]G=-177399+(-69319+246719)e=n+G m=v[e]J=c+m m=-220892-(-221148)b=J%m e=E[g]m=w+e e=-56359+56615 J=m%e w=J c=b b=14547927-62531 end end end else if b<4070521-(-962212)then if b<(420563+4064085)-(-39154)then if b<168770+4166681 then if b<-876694+4051982 then b=true b=b and 1440315-239431 or-1029633+6961224 else C=not N z=z+a f=z<=V f=C and f C=z>=V C=N and C f=C or f C=4610308-((-691790±403185)-(-710332))b=f and C f=614309+(309735+7716959)b=b or f end else A=(1182154-617434)+(-1056770-((-439918-(-761293))-(380407+433020)))M=E[k[843166±843165]]j=-781802+781803 T=M(j,A)M=-658440+658441 L=T==M b=L and 169197+12957188 or-471443+7839739 f=L end else if b<5420621-479030 then g=not I P=P+C u=P<=N u=g and u g=P>=N g=I and g u=g or u g=13598895-295756 b=u and g u=16150236-(-231893-(-120622))b=b or u else C=S()H=-448347+((857906-590025)-(593668±774135))G=-941446-(-941446)I=s((275747±871497)-(-587420))v=499013±499011 m=s(-955334+947025)E[C]=z f=l[I]I=s(-361028-(337888±690596))b=f[I]p=-18464-(-18719)I=826597-826596 g=-569107-(-569207)f=b(I,g)t=-379144+389144 g=(-970932-(-210285))+(59662+700985)I=S()E[I]=f b=E[h]f=b(g,p)p=810889±810888 g=S()E[g]=f b=E[h]Y=E[I]f=b(p,Y)p=S()E[p]=f f=E[h]Y=f(H,v)f=344524+(-627107+282584)v=s(((-25091-263022)-(-529631))-(-630365+880199))b=Y==f f=s(569209±577514)Y=S()E[Y]=b J=l[m]e=E[h]b=s(-282529+274183)n={e(G,t)}m=J(q(n))J=s(510741±519057)i=m…J b=u[b]H=v…i b=b(u,f,H)H=S()v=s(912422-920748)E[H]=b i=x(753282+3744183,{h;C;K,T;M;P,Y,H,I;p;g,B})f=l[v]v={f(i)}b={q(v)}v=b b=E[Y]b=b and 13479934-(174667-(-685013))or-694958+12327539 end end else if b<(-660346±276016)+6052771 then if b<(((-198544-816308)+915915)-(257341+((-311227-(-572109))±721144)))+4961002 then b=l[s(596260±604591)]f={M}else b={}E[k[905421-(-642067+(983887+563599))]]=b h=654869±654614 A=959386+35184371129446 f=E[k[97427-(-340796-((770343+(-676661-414216))±117686))]]y=s(1016604-1024938)j=f f=M%A E[k[-231681+231685]]=f R=M%h h=605221+((598436±1182793)-20862)A=R+h E[k[699395+((-353597-(399215-610127))-556705)]]=A h=l[y]K=-349260+349261 y=s(-34111-(-25801))R=h[y]h=R(L)R=s((-883267+149453)+725506)T[M]=R R=1045136+(-1824670-(-779572))y=-174320-(-174321)B=h c=K K=-793500-(-793500)w=c<K K=y-c b=4587422-(-627701)end else if b<777666+4454515 then F=not w K=K+c y=K<=B y=F and y F=K>=B F=w and F y=F or y F=124228+6676818 b=y and F y=7664745-(-738073)b=b or y else R=f h=s(-1054649-((-378354-(-196943))-864908))f=l[h]h=s(((924706±1422920)+720168)-(396407-166133))w=s(-169491-(-161187))b=f[h]h=S()E[h]=b y=s(223176±231480)f=l[y]y=s(((-829549-(-948693))±239319)+111838)b=f[y]y=b c=l[w]B=c K=b b=c and-194256+5895572 or 639960+28103 end end end end else if b<7307939-(377900+132414)then if b<-141572+6034196 then if b<4962151-(-740756)then if b<725412+(-341567+5165477)then if b<-390088+5748121 then b=E[k[698825-698824]]M=Q[-912841+(460294+452549)]L=Q[80674±80673]T=b b=T[M]b=b and 12519087-(-777542)or-95021+5160086 else K=-38426-(((-34489+439304)±1195169)+(496961+254964))B=S()E[B]=f b=E[h]c=-388843+388908 f=b(K,c)K=S()a=s(-757308+748999)E[K]=f b=-651378+651378 c=b F=s(96258-104584)u=D(43627+(345905+(13765994-269147)),{})f=l[F]b=-978948+978948 F={f(u)}f=-1035301-(-1035303)w=b b={q(F)}F=b b=F[f]u=b f=s(1010734+(1016363±2035440))b=l[f]P=E[T]V=l[a]a=V(u)V=s(179693+(-317091-(-129093)))z=P(a,V)P={z()}f=b(q(P))P=S()E[P]=f z=E[K]b=3034346-(-799722)V=z f=682695-(-525613+1208307)z=-532824-(-532825)a=z z=-800259+(463362-(-336897))N=a<z z=f-a end else b=441816+226247 F=s((1036081+(711382±1187394))±568373)w=l[F]F=s(1018599±1026924)c=w[F]B=c end else if b<555615+5280713 then L=Q b=true M=S()T=s(-538314-(-5511-524469))E[M]=b f=l[T]A=S()T=s(578979-587308)h=s((((281052-(-573308))±1155735)+1058448)±765399)b=f[T]T=S()E[T]=b j=S()b=x(-761858+7233287,{})E[j]=b b=false y=D(-110117+733121,{A})E[A]=b R=l[h]h=R(y)f=h b=h and(15910020-958835)-363704 or 5737400-473422 else b=J f=i b=6930002-(-25725-564158)end end else if b<6834539-420328 then if b<-919883+6818862 then b=334169+6633401 else b=D(520324+(-74464+14311337),{j})V={b()}f={q(V)}b=l[s(984250-992586)]end else if b<(1087278-267829)+(-10190+5672975)then f=s(((-75743-21529)+268740)-179792)b=l[f]L=s(-792117+783784)f=b(L)f={}b=l[s(531670-(-662980+1202982))]else b=12660149-238834 T=E[k[1034535±1034529]]M=T==L f=M end end end else if b<6958626-(-414429)then if b<7011701-16828 then if b<7346092-367603 then if b<7661751-(((-597021-(-222324))+(716929-(-190980)))+212136)then a=s(-290263+281929)V=l[a]b=365553+4849570 y=K a=s(626685±635003)z=V[a]V=z(L,y)z=E[k[-242892+(924103±681205)]]y=nil a=z()P=V+a u=P+R P=(425928±1472763)+(339969-(-707122))F=u%P a=900548-900547 R=F P=T[M]V=R+a z=j[V]u=P…z T[M]=u else b=true b=b and(878175-852319)+10712028 or-1021968+8110102 end else h=not R T=T+A M=T<=j M=h and M h=T>=j h=R and h M=h or M h=-395578+15762944 b=M and h M=-782349+10977109 b=b or M end else if b<7650263-319755 then b=l[s(934982±943304)]f={}else b=510625+12615760 M=E[k[(407443-577761)-(-170320)]]T=E[k[-246086-(-246089)]]L=M==T f=L end end else if b<486814+(7466109-(-252037))then if b<967994+(6394225-(-297113))then E[M]=f b=996563+(12893724-(-595109))else E[M]=z b=E[M]b=b and 11967048-314980 or(-25981-(-560416))+((12180428-(-951128))-365451)end else if b<-747062+(9841504-(80181-(812153±1385029)))then R=nil h=nil b=4121775-(-928510)j=nil else V=E[M]b=V and 15515845-(-225843)or 8409773-641107 z=V end end end end end else if b<554900+12745289 then if b<12319192-712184 then if b<10675107-((-525899+1915779)-950045)then if b<((-776940-(-432112-26800))+349190)+9748620 then if b<-889198+9712560 then if b<(-931260±86410)+9723986 then C=s(331330-339649)a=s(383234-391543)b=l[a]N=l[C]a=b(N)b=s(-595096-(-586781))l[b]=a b=6081754-184049 else b=true b=b and-852017+13347802 or-975308+14446837 end else L=E[k[916165+(-653291-262873)]]f=#L L=913778-913778 b=f==L b=b and(360567-(-254515))+(-1042205+13552580)or 13459464-(-921390+1342977)end else if b<-944453+11042873 then T=162880-(336670+((-1000052-(-112829))-(-713432)))M=E[k[-378110+378113]]L=M~=T b=L and 10910495-471019 or(13583333-(-207601-748271))-(715868-515694)else b=E[k[(-36045+721480)-685425]]M=E[k[(313666+186835)±500490]]L[b]=M b=E[k[802948-802936]]M={b(L)}b=l[s((756352-175682)±589009)]f={q(M)}end end else if b<286005+(10789040-(-274957))then if b<706916+9789433 then c=-622420+622433 B=-343680+343682 M=E[k[349490-349487]]T=-1003177+1003209 L=M%T j=E[k[929078+((((538885-(-291387))+(388453-273204))-920299)±954296)]]h=E[k[116561±116559]]u=E[k[-786616+786619]]F=u-L u=-970239+970271 b=-376135+13414012 w=F/u K=c-w y=B^K R=h/y A=j(R)j=4293940778.0-(-1026518)T=A%j y=-347261+347262 A=999766±999764 j=A^L M=T/j j=E[k[70285-(232041±161760)]]B=-906643+906899 h=M%y y=901053+4294066243.0 R=hy h=-748636+(-168701-(-982873))A=j(R)j=E[k[108857±108853]]R=j(M)T=A+R A=-91799-(-157335)j=T%A R=T-j A=R/h T=nil h=-500547+(-1040724+1541527)R=j%h c=-57301+57557 y=j-R h=y/B j=nil B=-131626+131882 L=nil y=A%B M=nil K=A-y B=K/c A=nil K={R;h;y,B}E[k[-11002-(-11003)]]=K y=nil B=nil h=nil R=nil else b=E[h]a=457893±457892 N=-923696-(-197716±725986)V=b(a,N)b=s(-999291+990976)l[b]=V N=s(-1026588-(-1018273))a=l[N]N=1025915±1025913 b=a>N b=b and(-10821±836835)+9533529 or-543418+863002 end else if b<519738+(577125+10435665)then P=S()Y=s(932403-((111538-499485)+1328657))u={}h=nil E[P]=u N=U(9327662-(-15305),{P;B,K;A})y=nil u=S()m=nil E[u]=N N={}b=l[s(332013+(-980865+640539))]y=s(-754803+(-148565+895056))C=S()g={}E[C]=N v=s((894405±669960)+(-241280-(-8495)))I=s(230938-239276)A=r(A)N=l[I]H=E[C]p={[Y]=H;[v]=m}j=nil c=nil I=N(g,p)T=I R=nil F=nil N=o(5944627-(1110142-472433),{C,P,w;B;K;u})C=r(C)P=r(P)u=r(u)B=r(B)M=N f={}B=-556862+12533242508665 A=s(673249+((((10080+((-516925+689309)+(((284379-(-127730))±768421)-(-155536))))±18914)-(381130±1428032))±1691239))j=l[A]h=M(y,B)K=r(K)R=T[h]T=nil M=nil w=r(w)A=j(R)else B=O(15975206-(-1032442-(-1042654)),{})y=s(191392±199718)f=s(367332±375675)j=s(-392515+384206)b=l[f]L=E[k[-393240+(-97309+490553)]]T=l[j]h=l[y]y={h(B)}h=-952308+((-115633+(645487±1262684))+1685140)R={q(y)}A=R[h]j=T(A)T=s((-927432+(-14805-(-920738)))-(314488±327682))M=L(j,T)L={M()}f=b(q(L))M=E[k[426754-426749]]L=f b=M and(584374-468513)+6650754 or-1023461+13444776 f=M end end end else if b<12146401-(-589428)then if b<-609826+(814434+12271998)then if b<-509016+(12323565-(-196452))then if b<222012+11412286 then J=E[M]i=J b=J and 1814893-(-129220)or 1892610-(-874926)else b=14847687-(1741721-(-984096+1952087))end else L=nil E[k[297721-(879335±581619)]]=f b=340906+1936108 end else if b<12336340-(-254539)then L=s(896404-904723)f=s(-708090-(-699775))b=l[f]f=l[L]L=s(46334±54653)l[L]=b L=s((942705-((591934-662893)+129683))-892296)l[L]=f b=8062881-(-658149)L=E[k[78158±78157]]M=L()else i=E[M]f=i b=i and 2608670-(-399135+((-176664-(-747470))-(-329175)))or 6785751-(-311579-422555)end end else if b<990249+12135439 then if b<12217754-((-1473565-(-809955))±231730)then T=s(-940084+931780)M=l[T]T=s(45756-(1029456±975373))L=M[T]b=l[s(217037±225343)]T=E[k[(441457-776713)-(-335257)]]M={L(T)}f={q(M)}else T=-361112-(-361345)M=E[k[-835841+835843]]L=MT M=18765452755204-141805 f=L+M L=707406+35184371381426 M=170401-170400 b=f%L E[k[((-248651-(1000277-(-626731+1493929)))+665980)-(-235051-(-519299))]]=b b=14626674-287643 L=E[k[-560994+(960730+(-1086130-(-686397)))]]f=L~=M end else if b<12211438-(-933420)then b=f and 11740852-185076 or-247805+2524819 else b=5452227-401942 end end end end else if b<14527042-(-59528+9843)then if b<-550608+14589058 then if b<13307952-(-377569)then if b<13128768-(-271175)then if b<12623879-(-677789)then b=true b=6448747-(621044-(-122639+226527))else u=P g=u b=4995644-360745 F[u]=g u=nil end else f={}b=l[s(-588409+580098)]end else if b<(-846520+15100647)-349377 then f=11141239-(-331599)M=s((-492998±494359)-(-979015))T=8919437-((959350±1486936)+1306734)L=M^T b=f-L f=s(-871279-(-862934))L=b b=f/L f={b}b=l[s(-101857-(-93513))]else b={}M=((((-866893+512088)+(1226960-862337))-916068)+1213852)-(942144-634543)L=b T=E[k[(-692434+1001936)±309493]]j=T T=-962203+962204 A=T T=308146-308146 b=-413132+(972716+(6077484-(-342303)))R=A<T T=M-A end end else if b<-334183+(14400037-(-300860))then if b<14965082-864922 then K=r(K)R=nil y=nil h=r(h)F=nil A=r(A)P=r(P)T=r(T)w=nil j=r(j)T=nil u=nil M=r(M)B=r(B)M=nil F={}B=s(-69529+61195)R=s(-383424+375094)c=nil h=s(-606775-(-598445))A=l[R]R=s(-639580-(-631259))P=1037123±1036867 j=A[R]A=S()E[A]=j R=l[h]N=P y=s(773266±781570)h=s(1002784-1011104)j=R[h]b=(4663403-304330)-(-275826)h=l[y]y=s(609525±617852)K=S()R=h[y]y=l[B]c={}B=s((-157177-463966)+612795)h=y[B]u=910490-910489 y=-502670+502670 B=S()w=S()E[B]=y P=191852±191851 y=(-701160+1108736)±407574 C=P E[K]=y P=(689478-980327)-(477191-(-297370+1065410))y={}E[w]=c c=-813575+813575 I=C<P P=u-C else T=(166316-(-360316))±526385 b=150249+(10252019-608188)M=E[k[281084-(348602±67521)]]L=M*T M=887288-(380489-(-506542))f=L%M E[k[(-1032302+111249)-(-921056)]]=f end else if b<(14470247-(-157231))-225663 then P=#F N=222070±222070 u=P==N b=u and 12245417-891226 or-556691+16844079 else H=r(H)Y=r(Y)v=nil g=r(g)I=r(I)b=2961073-(-872995)C=r(C)p=r(p)end end end else if b<-614691+16057765 then if b<435952+14677610 then if b<-53103+14811899 then if b<14385178-(-289032)then b=(988746±1509985)+5785217 R=E[A]f=R else b=(157406-(775124+52761))+9391509 end else b=(5958807-952906)-(-1842417-(-221379-(-693651+1442921)))n=349162+(-1105315-(-756155))e=v[n]n=E[H]m=e==n i=m end else if b<15744452-384559 then K=s(924005±932330)B=l[K]f=B b=4728152-(-720592)else y=(-1524821-(-961376))+563445 B=494475+(303598-797818)b=E[k[455121-455120]]h=b(y,B)M=T L[M]=h M=nil b=(-920736+144641)+((8567673-63162)-749045)end end else if b<334087+15660463 then if b<16661173-(1026948±127584)then V=c==w z=V b=(430404+7463528)-125266 else T=173122+579758 M=s(387484-395825)L=M^T f=914614±490729 b=f-L f=s(((-1289919-(-886819-(-42700-490575)))+1069346)+(-146890-(-5572)))L=b b=f/L f={b}b=l[s(274741±283076)]end else if b<-217809+(-269364+16754444)then N=940802±940802 P=#F u=P==N b=17313252-1025864 else P=163556-163555 g=524204-524203 N=#F u=j(P,N)P=R(F,u)b=-29136+14428697 N=E[w]u=nil I=P-g C=h(I)N[P]=C P=nil end end end end end end end b=#d return q(f)end,function(l)L[l]=L[l]-(1048141±1048140)if-613327-(-613327)==L[l]then L[l],E[l]=nil,nil end end,function(l,s)local q=T(s)local Q=function(Q,k,d,Z,f)return b(l,{Q;k,d,Z;f},s,q)end return Q end,{},588595-588595,function(l,s)local q=T(s)local Q=function(Q,k)return b(l,{Q,k},s,q)end return Q end,function(l,s)local q=T(s)local Q=function(Q,k,d,Z,f,E,L)return b(l,{Q,k;d,Z,f;E,L},s,q)end return Q end,function(l,s)local q=T(s)local Q=function(Q,k,d,Z)return b(l,{Q;k,d;Z},s,q)end return Q end,function(l)local s,b=521119±521118,l[((822077+(834634±2558847))+82255)+819882]while b do L[b],s=L[b]-((-159492+813575)±654082),s+(310145-310144)if 601948±601948==L[b]then L[b],E[b]=nil,nil end b=l[s]end end,function(l,s)local q=T(s)local Q=function(…)return b(l,{…},s,q)end return Q end,function(l)for s=-521513-(-521514),#l,55341-55340 do L[l[s]]=L[l[s]]+(793355-793354)end if Q then local b=Q(true)local q=d(b)q[s(-892661-((-782529+628136)-(-817681+1547642)))],q[s(388647-396964)],q[s(-1028191+1019863)]=l,j,function()return 924786+(-4516102-(-263581))end return b else return k({},{[s(-178612+170295)]=j;[s((120209±36460)-(-52935-(-144991)))]=l,[s(919601-927929)]=function()return((-113074+((-395151+112319)±1266188))-(-986197))+(-2993014-(-341176))end})end end,function()M=(-487890-(-487891))+M L[M]=(-474114-(-740369))+(658889-925143)return M end,function(l,s)local q=T(s)local Q=function(Q)return b(l,{Q},s,q)end return Q end,{}return(A((6825645-((887010±358341)+209872))-346321,{}))(q(f))end)(getfenv and getfenv()or _ENV,unpack or table[s(-512204-(-91744±412135))],newproxy,setmetatable,getmetatable,select,{…})end)(…)

2 Likes

3.1415926535897932384626433832795028841971

2 Likes

I would show that if it wasnt for the fact that my obfuscator is still under development.

What I meant by losing information is removing, for example, argument count and make every function variadic, that way there’s no way for sure to know how many arguments are passed without looking at other calls to that function

Yes, this is AGAIN a method to make the code less clear. You never remove any information from the code since the function you call can be examined thoroughly, in such a way that you can figure out the argument count afterwards.

It’s a good technique to make it hard to reverse it, NOT theoretically impossible. That’s the whole point.

If you decide to make a game, and your game becomes famous, someone will definitely try to look at the different security measures you put in place, whether you obfuscated them or not

1 Like

It really depends on what you mean by “removing information.” In a practical sense, it might be impossible, but in the context of my example, it’s effectively removing information about the Prototype.

Ik it’s old, but this anticheat for me provides more harm to players than good, your encryption may be eventually bypassed by someone, idk how but it can be, every anticheat can be

Another thing is that your methoods may increase network overload which can cause problems to players with slower internet, sending ping every 2 second seems unnecesary, and increases network overload if this encrypted message is string (remember that each letter have 1 byte, usually you want to send less than 8 bytes to prevent lag soo if those strings are long…)

Also, with those encrypted messages, group of cheaters may crash entire servers because your script, even without anti-spam is vulnerable to heavy work

Soo in summary, no matter how good your anti cheat will be, it will never be perfect, sometimes simplier is better, and making anti-spam checks or some quick math is easier than encrypting messages and making game unplayable for many players

They are trying to say that you are not removing information about what the code is fundamentally doing

2 Likes

this uses modern AES encryption which is unbypassable literally this is the only thing that is unbypassable without the encryption key

and there was another person saying 2 seconds the ping requests are sent every 8 seconds and the client has a window of 5 seconds to respond to them. they are allowed 2 missed responses before being kicked this can be modified and i think i was pretty lenient with it

lots of games send wayyyy more network traffic then this at this point i think some of you are just trying to find reasons against me

2 Likes

No i don’t try to find reason against you, but anti-cheats in general have simplier and much better alternative which is simple security checks and debounce

From design perspective, it’s impressive, but for project management and overall gameplay idea it’s pointless to secure your client if it cannot do harm to server in any dangerous way

About pings, if they are sent occasionally like you said it shouldn’t be that much of a problem, i posted under your another post that some optimization methoods like buffers can slow down cheaters even more without any cost

In conclusion, i really appreciate your work, but again and again it’s overcomplication, devs should aim for simple and working solution rather than complex one to solve unimportant problem of some guy reading how you’ve made your gui buttons work

2 Likes