Ik weet nu wat beter hoe de punkbuster+etpro anti-cheat beveiliging werken en ik kan je zeggen dat het verbazingwekkend
ineffectief is. Om precies te zijn, etpro en pb proberen nog-niet-bekende cheats te herkennen op plaatsen waarbij het ook onlogisch is om daar een cheat in te plaatsen. En op de daarvoor logische plaats wordt helemaal niet gecontroleerd!
Zo heb ik bijv. een programmatje gemaakt dat net voordat ET een frame gaat produceren, nog even de kijkrichting een paar graden draait, d.m.v. het injecteren van wat code in de etpro executable. Deze code injection wordt gewoon door zowel punkbuster als etpro geaccepteerd. Nu is dit een tamelijk onzinnig iets, maar als ik dat al kan doen in een paar uurtjes tijd, moet je nagaan wat zo'n Pool of Estonian voor elkaar kan krijgen in maanden...
De ironie is dat de scans die etpro en punkbuster wél doen, volledig zinloos zijn (omdat je de cheat kan plaatsen op plekken die niet gescand worden), maar wel voor de speler vervelend zijn:
Is het je bijv. opgevallen dat je net na de match-start een 1 a 2 seconden lag hebt terwijl het spel gewoon doorgaat? Dat is etpro die "eventjes" je geheugen doorfietst.
Of herinner je nog de foutmelding die je krijgt als je een ET 2.60 server joined terwijl je ET 2.60B geinstalleerd hebt staan? Deze foutmelding wordt geproduceerd door zo'n onzinnige memory-check van etpro. Zonder die check kan je namelijk prima spelen op een ET 2.60 server (omdat er geen features gewijzigd zijn, alleen een bug gefixt).
Conclusie:
1) anti-cheating maatregelen schieten op alle fronten te kort.
2) een gedeelte van de anti-cheating maatregelen zitten onnodig de spelers in de weg.
Hoe je het dan wel moet doen? Naar mijn idee moet je het probleem bij de oorsprong aanpakken i.p.v. dit soort achteraf-detectie wat nu gebeurt. Daar heb ik zo mijn ideeën over (hoewel deze alleen tegen code-injecties van toepassing zijn, niet tegen passieve cheats zoals wallhacks), maar ik ben er nog niet zeker van of het wel technisch haalbaar is.