20.11.2016, 18:50
(
Последний раз редактировалось F1N4L; 19.04.2018 в 14:03.
Причина: Atualizaзгo do anti-cheat
)
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>
*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" |
-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_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).
Source
Filterscript