Un anti-cheat fonctionnant à 100%

Statut
N'est pas ouverte pour d'autres réponses.

neku

Codeur roumain
Voila quelques jours que je travaille sur un anti-cheat.
Ayant remarqué que lorsque l'on éffectue un hook, un deuxieme ne peut etre lancé sous peine de voir Counter-strike planté immédiatement :D
Alors je me suis dis pourquoi pas essayer de profiter de se conflit pour faire un anti-cheat ;)
Le principe serais simple une executable accompagné d'une dll comme un cheat ou même irc-cs que l'on devrais lancer avant Cs.
Celui-ci une fois en partie profiterais d'une même technique que HACK_USER connais avec rcon user pour savoir qui à l'anti-cheat et à l'aide d'une commande dans la console on pourrais ainsi lister la liste des joueurs l'utilisant.
Imaginez maintenant de forcer chaque joueur de votre tournoi par exemple à l'utiliser, personne ne pourrais donc cheater et celui refusant de l'utiliser ne serais protéger contre des soupçons de cheat.

Vous allez me dire oui mais forcer les gens à télécharger un logiciel .. bububu :/
Je me souviens qu'on le fesait bien avec Cheating-Death qui était une vrai passoir.
A savoir que VAC2 avec puisqu'il ne fait que rechercher une CRC et/ou une signature donc totalement inutile ... sauf avec les cheats connus.

Maintenant si ce projet vous interesse vous pouvez me laisser vos idées.
Normalement je devrais sortir une premiere version stable la semaine prochaine en même temps que la sortie de IRC-Cs.
Vu que IRC-Cs éffectue déjà un hook vous ne pourrez pas le lancer ou lancer un autre cheat mais pour rester compatible avec l'anti-cheat, un plugins pour irc-cs sera fait.

Je rappel bien que l'anti-cheat malgré étant un hook ne contiendra aucune fonction favorisant l'utilisateur et ne changera en rien la jouabilité, ni le ping et encore moin les fps ;)

Il me faudrais aussi une idée de nom :D

Maintenant si certain d'entre vous savent développer des plugins AMX on pourrais même imagine d'interdir l'acces au serveur à toute personne ne l'utilisant pas.
Je me suis pas encore pencher sur la programmation de plugins AMX.
Il serait aussi totalement possible de faire se script sous forme d'excutable à connecter par rcon au serveur un peu comme HLSW ou en php.
Qui vérifirai chaque personne lors de sa connexion et la kickerais si elle n'utilise pas le logiciel, j'èspere que ce projet vous intéresse si oui proposer moi ce qu'il vous semble le mieux.

Je pense donc développer l'anti-cheat et un script rcon en c++ qui effectuerais les vérification.
 

Friz

Touriste
je trouve ca interressant maintenant il faut encore que tout marche et que celui-ci ce repende pour reduire au maximum les cheats cependant il faut aussi savoir qu'il y a d'autre petit malin qui verront ca et trouveront un autre moyen pour contré ce programme.

Je te souhaite quand meme bonne chance et une bonne continuation
 

1mpro

Elite
C'est une bonne idée mais j'ai pas bien capté une patrie: ca change quoi le fait qu'on soit obligé de dl un AC? Pcq les AC qui sont infaible ca existe pas encore, donc même si on était tous obligé de l'avoir ca changerai pas grand chose en somme? Si? Ou alors tu voulais dire que t'as trouvé un moyen pour rendre impossible le lancement d'un cheat grâce a ton dll? oO

Sinon bonne idée mais vaut mieux que ca soit automatisé faut pensé aux admins qui on rien de mieux a faire que de faire le lamer avec l'autre team par tsay intempestifs :pfrt:
 

tifrit

13:37
il existe deja l anti cheat qui fonctionne a 100% > aequitas utiliser pour l'esl
le meilleur anti cheat mais faut apres que un admin l'analyse ..
 

Tweek

je t'affone !
mouais suis pas persuader !
 

YatOo

's still an animial
N'empeche si y'avait pas de cheat, y'aurai pas besoin d'anticheat.

:porte:
 

sANCHEZ_-

POKERPADAWAN
Bah y'a deja des progs comme ca, utilisé en CEVO par exemple.

non?
 
K

KouBiaC_be

ex membre
1er
OP
neku

neku

Codeur roumain
Oui j'ai trouvé une solution avec ma dll d'empecher une autre de venir s'injecter, et si une précédente est lancée avant cs plante. Le log ne say pas dans la partie ;)

L'anti-cheat de l'esl est très facile à contourner car il se base principalement sur les cvars ^^
apres ca avec 2/3 lignes de code injecté il n'y vois que du feu :cool:
Pour les anti-cheat qui font des screens facile aussi, un screen est un appel au system pour faire une capture d'écran .. il suffit d'intercepter le message désactiver le cheat le temps du screen (tres court moment) et réactiver après automatiquement, ce qui est déjà le cas dans les cheats cs pour les plugins amx qui screen auto la fin de la partie ;)

Donc voila 2 anto-cheat dont vous avez parler et dont je connais des méthodes pour les contourner :p

Le problème de ses anti-cheat c'est qu'il ne s'inject pas dans le processus, alors que moi je propose un système qui viendrais s'injecter dans le processus de Cs et donc comme n hook serais déjà en place si on essaye de venir en placer un second le processus quite (crash).
 

sANCHEZ_-

POKERPADAWAN
Toi tu m'interesses, on vas discuter ensemble ce soir ou samedi soir !

Le temps que je vois si ce que je veux faire est réalisable ^_-
 
1er
OP
neku

neku

Codeur roumain
Oki pas de problème, si tu le désire mon MSN est dispo sur mon profil ;)
Je ne refuse personne :D
 

GUMBAL

💎💎💎💎💎
on va suivre cela de très près, cela ne peut être que du bon :)
 
1er
OP
neku

neku

Codeur roumain
Je viens donc poster les dernières infos à propos de l'anti-cheat

Principe :
- Un deamon côté serveur
- Un client injecté chez le joueur
- Une connexion sécurisé SSL

Voici comment va se dérouler le fonctionnement de l'anti-cheat.

- Le joueur lance l'anti-cheat
- Le joueur execute Counter-Strike 1.6
- L'anti-cheat s'inject au processus hl.exe
- L'anti-cheat place une cvar indiquant au serveur que le joueur l'utilise
- Le joueur join un serveur sécurisé par l'anti-cheat (deamon)
- L'anti-cheat ouvre une connexion sécurisé SSL avec le deamon
- Le deamon demande au serveur par rcon de vérifié si le joueur utilise l'anti-cheat
- Le serveur répond que OUI
- Le deamon demande a l'anti-cheat via la connexion sécurisé confirmation
- L'anti-cheat répond correctement, le joueur peut joueur tranquillement

Imaginons maintenant que tout ne se produit pas correctement ...

- Le serveur répond NON -> le joueur se vois kicker du serveur
- L'anti-cheat répond de manière érronée -> le joueur se vois kicker

Cet anti-cheat n'éffectuera aucun ban de lui même mais utilisera une base de données externe pour vérifier (côté Deamon) les steam_ID des joueurs se connectant au serveur, si la steam_ID est trouvée le joueur sera simplement kické pour ainsi éviter toute erreur.
Une steam_ID mise par erreur pourra être supprimée sur présentation de preuves de non cheat.

Pour le moment se sont les seules information sur ce système que je puisse vous donner.
 

1mpro

Elite
Et c'est léger tout ca? Ce qu'il faudrait c'est mettre a jour la cvar quotidiennement non? Afin que personne ne puisse trafiquer qqch ou quoi :p Enfin le rendre vraiment infranchissable... Sinon tous les cheat fonctionnent avec des dll? Même des dérivés de x-spectate?
 

1mpro

Elite
Bah c'est pr ca je parlais de faire une sorte de micro MAJ quotidienne pour rendre la chose plus difficile...
 
1er
OP
neku

neku

Codeur roumain
Pour répondre à votre réflexion qui n'est pas stupide du tout, on y à déjà pensé ^^
c'est pour cette raison que l'on utilise un tunnel SSL pour crypter les données mais en plus de cela les données du protocol dans le DLL seront crypté par XOR string, donc en résumer il faudrais à un ordinateur environ 100ans de calcul pour pouvoir décrypter le protocol.
Oui c'est très léger environ 100/150Ko pour la DLL

Vu que l'anti-cheat est un hook il interdit tout autre forme de hook de venir se greffer.
Même x-spectate ne pourrais fonctionner.
 
1er
OP
neku

neku

Codeur roumain
Biensur, si on lance l'anti-cheat et que l'on join un serveur ne l'utilisant pas rien n'empeche d'y joueur totalement normalement.
 

1mpro

Elite
Sinon pour le nom:

TheWall

DO.NOT.DO.IT

Safety.cvar

ou bien

1mpro's AC
 
1er
OP
neku

neku

Codeur roumain
Je retient les idées :p
Safety c'est un mot explicit :D
1mpro's AC :cool:
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut