bAntiCheat [C#] -
bruxo00 - 31.03.2016
Bem, eu estou a comeзar a trabalhar com sockets nos meus projetos em C#, e pensei porque nгo criar um anti-cheat para SAMP, coisa que sempre quis fazer? Aqui estб ele.
O QUE FAZ?
O anticheat ainda estб numa fase muito bбsica. Para jб ele sу procura no directуrio do SAMP por ficheiros de cheats, mods, etc. Tambйm procura processos com nomes suspeitos que estejam a correr ao mesmo que o SAMP estб a correr. Futuramente vou ver se consigo proteger ou detectar a injeзгo de DLL's no gta_sa.exe. Ele bane de forma mais permamente que arranjei, que й uma mistura do serial number da motherboard + serial number do CPU. Para se desbanir, sу trocando de componentes (desconheзo qualquer software que altere estes dados). Numa prуxima actualizaзгo tambйm pretendo adicionar um autoupdater, para que o update do cliente seja facilitado.
Mas como funciona concretamente: o jogador tem de ter o anticheat ligado para se conectar ao servidor. Se nгo tiver vai levar kick. Se desligar o anti-cheat enquanto joga vai levar kick. Se forem detetado cheats enquanto joga, leva kick. Nгo coloquei a dar ban porque podem haver falsos positivos.
REQUERIMENTOS
strlib by Westie
sockets [0.1b] by BlueG
DOF2 by Double-O-Seven
Microsoft NET FrameWork 4.6.1
Pasta
bAntiCheat criada nos scriptfiles
Porta
4000 livre (default)
CONFIGURAЗХES
PHP код:
TIMERDELAY_CHECKAC (em MS) De quanto em quanto tempo o servidor vai pedir informaзхes ao cliente.
TIMERDELAY_CONFIRMACCHECK (em MS) Й o tempo que demora o script a kickar ou nгo o jogador depois do anticheat enviar a resposta.
TIMERDELAY_CHECKFORACONCONNECT (em MS) Й o tempo que demora o anticheat a atuar depois de o jogador se conectar.
ATENЗГO:
Estas configuraзхes podem ter de ser alteradas de acordo com a performance do servidor, performance do cliente e
ping. Tempos demasiado baixos podem causar problemas. Tempos demasiado altos podem comprometer a eficбcia do anticheat, pois os jogadores podem usar os cheats antes de serem de facto banidos.
Se fizerem alteraзхes no cуdigo do client, Й PRECISO ALTERAR A HASH MD5 NO FILTERSCRIPT. Para verem a hash, depois de compilar no Visual Studio clicam na label que diz Consola. Vai aparecer na RichTextBox o MD5 hash entre aspas. Й sу copiar isso e colar na variбvel chamada
SERVER_MD5HASH no Filterscript.
PRINTS
![](https://i.gyazo.com/73d00ee05142ec9ab38e54c84c715695.png)
(Dentro do jogo nгo hб muito para mostrar, apenas as poucas mensagens que o script manda)
DOWNLOADS
Releases
Repositуrio GitHub
NГO CRIE MIRRORS SEM AUTORIZAЗГO
NOTAS FINAIS
Estou aberto a sugestхes. Digam o que acharam
![Wink](images/smilies/wink.png)
O cуdigo й aberto logo й quase impossнvel criar uma autenticaзгo que nгo possa ser burlada.
PS: este anticheat й muito inseguro e extremamente fбcil de ser burlado. Foi apenas criado para fazer uma experiкncia, com os meus conhecimentos na йpoca.
Re: bAntiCheat [C#] -
F1N4L - 31.03.2016
Ficou bom.
Uma sugestгo para futuras versхes: Por ser um FS anticheat sem frescura pra manipular arquivos, vc poderia usar
Bini por ser mais rбpido ao invйs de DOF2.
Good job!
Re: bAntiCheat [C#] -
bruxo00 - 31.03.2016
Quote:
Originally Posted by F1N4L
Ficou bom.
Uma sugestгo para futuras versхes: Por ser um FS anticheat sem frescura pra manipular arquivos, vc poderia usar Bini por ser mais rбpido ao invйs de DOF2.
Good job!
|
Acho que nгo hб necessidade de alterar o DOF2. Sгo tгo poucas coisas a serem guardadas que acho que nгo compensa. Mas obrigado pelo feedback
Re: bAntiCheat [C#] -
Dayvison_ - 31.03.2016
Github? Poderia contribuir, fiz um executбvel do lado do cliente a algum tempo que se conectava hб um plugin no SA-MP por sockets. Nгo confiava muito no plugin BlueG, posso ajudar adcionar vбrias coisas novas. Possivelmente usarei em meu prуximo projeto.
Re: bAntiCheat [C#] -
bruxo00 - 31.03.2016
Quote:
Originally Posted by Day_
Github? Poderia contribuir, fiz um executбvel do lado do cliente a algum tempo que se conectava hб um plugin no SA-MP por sockets. Nгo confiava muito no plugin BlueG, posso ajudar adcionar vбrias coisas novas. Possivelmente usarei em meu prуximo projeto.
|
Quem sabe eu comeзo a usar o Github. Mas primeiro tenho de aprender a usar
Re: bAntiCheat [C#] -
WLSF - 31.03.2016
Fiquei interessado pra dar uma olhada e talvez contribuir se possнvel, mas nгo estou conseguindo acessar o cуdigo.
Vocк poderia disponibilizar esse cуdigo no github? ou entгo mandar o pastebin com o resto do source?
Obrigado.
Re: bAntiCheat [C#] -
bruxo00 - 31.03.2016
Quote:
Originally Posted by ipsNan
Fiquei interessado pra dar uma olhada e talvez contribuir se possнvel, mas nгo estou conseguindo acessar o cуdigo.
Vocк poderia disponibilizar esse cуdigo no github? ou entгo mandar o pastebin com o resto do source?
Obrigado.
|
Nгo estб a conseguir acessar o cуdigo como assim? O link nгo estб a funcionar?
Jб que hб algum interesse vou ver alguns tutoriais de como utilizar o github e vou colocar os ficheiros lб.
Re: bAntiCheat [C#] -
WLSF - 31.03.2016
Recomendo vocк utilizar o github, quanto mais fбcil for o acesso ao conteъdo para nуs usuбrios, mais visualizaзхes/contribuiзхes o seu cуdigo terб.
Se por ventura vocк decidir inserir os cуdigos em alguma ferramenta de versionamento semelhante github/bitbucket, avise aqui no tуpico que eu volto pra dar uma olhada.
Obrigado.
Re: bAntiCheat [C#] -
bruxo00 - 31.03.2016
Jб criei repositуrio no GitHub. Mas ainda tenho algumas dъvidas em relaзгo ao github. Outras pessoas sem ser eu podem alterar o cуdigo sem eu dar autorizaзгo?
Re: bAntiCheat [C#] -
PT - 31.03.2016
Nao, tens de aceitar o "commit" deles. Eles "pedem-te" ja com a proposta de alteracao deles..
Re: bAntiCheat [C#] -
bruxo00 - 31.03.2016
Quote:
Originally Posted by PT
Nao, tens de aceitar o "commit" deles. Eles "pedem-te" ja com a proposta de alteracao deles..
|
Entгo basicamente eles enviam uma proposta de alteraзгo e eu aceito se quiser? Й isso? Nice!
Re: bAntiCheat [C#] -
ipsLuan - 31.03.2016
A board estava muito precбria em relaзгo а este tipo de software.
Re: bAntiCheat [C#] -
bruxo00 - 31.03.2016
Quote:
Originally Posted by ipsLuan
A board estava muito precбria em relaзгo а este tipo de software.
|
Esta primeira release estб ainda muito "crua". Pretendo adicionar mais funзхes ao anticheat, documentar o cуdigo, etc. Й uma maneira de aprender.
Re: bAntiCheat [C#] -
Dayvison_ - 31.03.2016
A pessoa irб fazer um fork de seu cуdigo(Clonar ele para eles alterarem). Apуs alterarem como bem entender a versгo que eles tem, eles farгo um pull request(Pedido), ae vocк aceita ou nгo no repositуrio oficial.
Re: bAntiCheat [C#] -
PlayBack - 01.04.2016
Como vocк consegue conectar-se em C# ao SA:MP? ou usa database? sempre tentei, nada. ;(
Aproveitando a minha duvida e que й em relaзгo a C#, й possнvel criar plugins em C# ?
Parabйns pelo projeto !
Re: bAntiCheat [C#] -
ipsLuan - 01.04.2016
Ele usou
Socket para fazer a comunicaзгo do anti-cheater com o servidor.
Re: bAntiCheat [C#] -
WLSF - 01.04.2016
Sу consegui acessar o seu repositуrio agora, nгo sei oque estб acontecendo, mas para mim o fуrum estб ficando cada vez mais offline.
Muito bacana a sua ideia, parabйns.
+rep
Re: bAntiCheat [C#] -
bruxo00 - 01.04.2016
Parece que o plugin dos Sockets do BlueG estб um pouco instбvel... Hoje cheguei ao PC para testar e reparo que o plugin estб a dar um erro que nгo encontro ninguйm a falar sobre ele:
Код:
socket_connect(): Socket ID 0 has failed to bind IP ;LC_CTYPE=C;LC_MONETARY=C;LC_NUMERIC=C;LC_TIME=C.
Se alguйm puder testar nos vossos servidores para ter a certeza que nгo й do meu pc, agradeзo. E se alguйm souber como resolver diga :P
Re: bAntiCheat [C#] - MacMillan_ - 01.04.2016
Quote:
Originally Posted by ipsNan
Sу consegui acessar o seu repositуrio agora, nгo sei oque estб acontecendo, mas para mim o fуrum estб ficando cada vez mais offline.
|
Sу mudar o IP da internet, aqui quando acontece isso, faзo isso
Re: bAntiCheat [C#] -
F1N4L - 01.04.2016
Quote:
Originally Posted by MacMillan_
Sу mudar o IP da internet, aqui quando acontece isso, faзo isso ![Roll Eyes (Sarcastic)](images/smilies/rolleyes.png)
|
Lembre-se q a maioria utiliza IP estбtico (a menos q use um VPS).