Server AC [Launcher] -
F1N4L - 20.11.2016
Server Anti-Cheater v1.3.1
Sobre:
Apуs estudar mйtodos de seguranзa a fim de encriptar informaзхes da linha de conexгo da base de dados, estou refazendo este tуpico com um mйtodo seguro para isso.
Alйm desse mйtodo, seria interessante o embaralhamento do source para manter uma seguranзa ainda maior.
Esta versгo й melhor que a outra, sem dъvida.
*Mais otimizado;
*Problemas anteriores corrigidos;
*Nгo necessita IP.
*Black/White list nгo existe mais
Seguranзa:
No launcher anterior eu pequei incluнdo informaзхes da linha de conexгo e tornando a conexгo insegura entre cliente e database.
Nesta nova versгo, feita totalmente do zero e mais otimizada, com um toque nativo de seguranзa.
Com o prompt do Visual Studio podemos encriptar informaзхes de linha de conexгo. Este й um mйtodo nativo e feito especialmente para estes casos, onde o cliente й utilizado por terceiros e os mesmos nгo podem ter acesso аs informaзхes sensнveis.
Esta e outras informaзхes vocк deve alterar no arquivo
App.config.
Launcher:
Segue abaixo source do arquivo:
(Nгo precisa copiб-lo, pois este й o mesmo que vai incluso na pasta do source do Launcher)
Код:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2" />
</startup>
<appSettings>
<add key="ServerIP" value="127.0.0.1:7777"/>
<add key="IntervalCheck" value="5"/>
</appSettings>
<connectionStrings>
<add
name="MyConnection"
connectionString="Server=127.0.0.1;Database=samp_db;Uid=root;Pwd=;SslMode=Preferred;"
providerName="MySql.Data.MySqlClient"/>
</connectionStrings>
</configuration>
Ao abrirem o source alterem as informaзхes necessбrias:
*ServerIP = IP do servidor
*IntervalCheck = Intervalo de verificaзгo (minutos)
*connectionString = Linha de conexгo
Apуs alterar as informaзхes deve-se encriptar os dados de conexгo. Para isso, segue abaixo um breve tutorial de como fazк-lo:
1 - Antes de mais nada, abra o local onde se localiza o arquivo App.config e o renomeie para Web.config.
Por se tratar de uma ferramenta desenvolvida para ASP.Net, devemos trabalhar com o arquivo Web.config.
2 - Abra o "Developer Command Prompt for VS20**". (versгo que vocк utiliza)
3 - Digite a seguinte linha:
Quote:
aspnet_regiis.exe -pef "connectionStrings" "App.config path"
|
aspnet_regiis.exe = Aplicativo de registro da ASP.Net.
-pef = Argumento utilizado para encriptar. (A encriptaзгo й reversнvel com o argumento -pdf)
"connectionStrings" = Nome identificador da linha que serб encriptada.
"App.config path" = Caminho do App.config.
4 - Pressione enter e novamente renomeie o arquivo para App.config.
Se vocк o abrir vai ver que a linha de conexгo foi criptografada...
Incluнdo arquivos suspeitos:
De momento habilitei somente PARTES DE ARQUIVOS. Acredito ser mais que suficiente...
Para adicionar mais й sу editar o arquivo
Suspect.cs.
Filterscript:
Код:
#define MYSQL_Server "127.0.0.1"
#define MYSQL_Database "samp_db"
#define MYSQL_Uid "root"
#define MYSQL_Pwd ""
#define INTERVAL_CHECK (5) // minutes
#define INTERVAL_CHECK_TXT "5" // minutes (INTERVAL_CHECK in string)
#define INTERVAL_REMOVE_INV_PL (5) // minutes
INTERVAL_CHECK = Intervalo para verificar se o jogador estб permitido para jogar no servidor.
INTERVAL_REMOVE_INV_PL = Intervalo para remover tabelas inativas.
Screenshot:
Change Log:
Код:
*07/02/2018
- Corrigido pequenos problemas;
- Adicionado procedures para maior seguranзa e praticidade; (sugestгo de @JonathanFeitosa)
- Procedures sгo criados no FS;
- Design modificado;
- Mais alguns (possнveis) problemas foram tratados, evitando crash.
*18/04/2018
- Versгo v1.2 foi lanзada;
- Adicionado exceзгo para NPC's;
- Pequenas alteraзхes no design;
- Pequenas melhorias no cуdigo;
- Adicionado label para informar o nome do servidor (no topo);
- Adicionado label da versгo atual do Launcher;
- Adicionado botгo "INFO" para detalhar os crйditos.
*19/04/2018
- Versгo v1.3 foi lanзada;
- Falha na seguranзa corrigida. (avisado por @RazorGuigo)
- Versгo v1.3.1 foi lanзada;
- Pequenas alteraзхes e otimizaзхes no Launcher;
- Pequenas correзхes e tratamentos de erros no Launcher;
- Adicionado tag "[SAMP-AC]" em todas mensagens do anti-cheat (FilterScript).
Download:
Source
Filterscript
Re: Server AC [Launcher] -
ipsLuan - 20.11.2016
Se o individuo abrir o AC em modo administrador, o bug sumirб?
Re: Server AC [Launcher] -
sampkinq - 20.11.2016
Woow, perfect !
Re: Server AC [Launcher] -
F1N4L - 20.11.2016
Quote:
Originally Posted by ipsLuan
Se o individuo abrir o AC em modo administrador, o bug sumirб?
|
Em tentativas com aplicaзхes anteriores, nгo funcionou!
Aparentemente, apenas se vc estiver logado como administrador.
Re: Server AC [Launcher] -
s4kuL - 21.11.2016
Muito boa a ideia, espero que tenha novas versхes e novas ideias. por que realmente isso foi muito bom e tenho certeza que vai ajudar muita gente. rep++;
Re: Server AC [Launcher] -
F1N4L - 21.11.2016
Quote:
Originally Posted by s4kuL
Muito boa a ideia, espero que tenha novas versхes e novas ideias. por que realmente isso foi muito bom e tenho certeza que vai ajudar muita gente. rep++;
|
Vlw, s4kuL.
Logo logo vou trazer mais um update, tenho mais algumas ideias em mente.
Re: Server AC [Launcher] -
YtZ - 21.11.2016
cara
nгo faзa a loucura de colocar os dados de autentificaзгo do banco de dados no .exe que vai distribuir pros jogadores. Qualquer um pode facilmente recuperar o login e a senha do banco de dados atravйs do .exe
Nesses casos vocк precisa criar um servidor pra fazer o intermйdio cliente-banco de dados.
Re: Server AC [Launcher] -
F1N4L - 21.11.2016
Quote:
Originally Posted by YtZ
cara
nгo faзa a loucura de colocar os dados de autentificaзгo do banco de dados no .exe que vai distribuir pros jogadores. Qualquer um pode facilmente recuperar o login e a senha do banco de dados atravйs do .exe
Nesses casos vocк precisa criar um servidor pra fazer o intermйdio cliente-banco de dados.
|
Й possнvel embaralhar o source do executбvel com o Confuse, acredito que isso basta.
Re: Server AC [Launcher] - Whoo - 21.11.2016
Bem bacana o launcher, sу nгo curti muito o design, bom trabalho
You must spread some Reputation around before giving it to F1N4L again.
Re: Server AC [Launcher] -
YtZ - 21.11.2016
Quote:
Originally Posted by F1N4L
Й possнvel embaralhar o source do executбvel com o Confuse, acredito que isso basta.
|
Infelizmente nгo basta.
Vai ter que achar um jeito tambйm de enviar a senha encriptada pro servidor (o que o MySQL Server nгo permite entгo vai ter que fazer um milagre sem um servidor pra intermediar) pra ninguйm pegar a senha do banco de dados por um network sniffer jб que ela й enviada raw.
Sem contar que alguйm pode recuperar a senha acessando a memуria do aplicativo tambйm, como por exemplo pelo CheatEngine.