Protimus

Eagle Shield (http://www.egshield.com)

50 posts neste tópico

U7HCxRw.png

 

 

Visto que a comunidade de RO está com muito defasada com segurança, eu estou criando o próprio. Fazia muito tempo que eu tinha interesse em criar um próprio shield, mas infelizmente não tinha tempo ou animo para fazer. Os motivos para eu ter aceitado a criar são:

 

1. Só existe 1 game shield forte atualmente, que é o Gepard. Porém ainda assim esse shield é burlável pelo programa xRag.

2. Consistência de dados: É possível coletar dados ou repassar informações maliciosas por meio de um código executável, sem que seja percebido. Eu não sei se os shields atuais fazem isso, mas um dos motivos da minha criação também é proteger o usuário disso. Com garantia de que nada será repassado ou coletado, pois é contra a lei.

3. O fato de ser administrador do brAthena e ser Brasileiro, faz com que o suporte para o shield seja mais rápido e eficaz do que os outros. E isso é algo que sempre foi pecado.

 

Considerações importantes antes de iniciar o tópico:

* O Shield começou a ser feito pelo Carlos para um servidor que nós iriamos fazer, mas ele desistiu e então eu resolvi fazer um próprio do zero em Qt. E se ele não tivesse me incentivado eu não teria começado.

* A parte de WEB está sendo feita por mim, o Narutekz e Lesage estão ajudando.

* Eu pretendo por uma ou mais pessoas para me ajudar com o suporte, caso eu receba bem.

* Considerando que eu não quero perder investimento de tempo (já não estou mais na idade disso), eu estou fazendo algo multijogos e o retorno deverá ser certo independente de variáveis ao longo do caminho. Então o shield não servirá apenas ao Ragnarok, mas para outros jogos também.

 

Separei algumas informações sobre o shield, abaixo.

 

 

Tecnologias:

 

- C++: Usado em todo o projeto shield, puramente e nenhum código em C.

- MySQL Connector: Usado para fazer conexão em C++ com o banco de dados MySQL para o servidor do shield.

- Netfilter/IPtables: Usado para fazer a integridade do usuário.

- Qt: Usado para trabalhar com a interface e telas de exibição (Widgets/Console).

 

Métodos:

 

O shield não tem apenas 1 projeto que é compilado e pronto. Existem 3 projetos chamados: EGLauncher, EGServer, EGShield. O que são esses projetos?

 

EGLauncher: É o executável que faz a comunicação com o servidor do shield (EGServer) e exibe a tela de splash (carregamento) do shield, trabalhando com a função de executar o processo do cliente após comunicação válida com o servidor. Foi feito puramente em C++ com Qt e trabalha em multiplataformas, funcionando em Windows, OSx e Linux.

 

EGServer: É o servidor do shield. Feito em C++ com Qt e Multithreading, cada conexão feita é criada uma thread única com um ID de usuário. A requisição de conexão é feita pelo EGLauncher e após isso é repassada para o servidor do jogo e só depois é possível fazer conexão no jogo.

 

Nesse processo é feita uma verificação de dados. Existe um script padrão para iptables que faz o bloqueio total da máquina do jogo, não dando possibilidade de acesso à nenhuma porta ou protocolo. Existe um outro script para iptables que faz a liberação para as portas de login, char e map para o IP do usuário que fizer conexão e só assim ele poderá logar no servidor.

Resumo: O IP do jogador só é liberado quando ele faz conexão com o servidor do shield. Se você não faz conexão com o servidor do shield, não é possível que o jogador tenha acesso a nada do servidor onde o seu jogo está hospedado. E isso é uma proteção eficaz contra DDoS, visto que torna-se inviável o processo de botnets, pois para utilizar os IPs de vítimas que você capturou através do malware é necessário que você faça conexão com o shield. E com certeza o meliante não irá pedir para suas vítimas para instalarem o ragnarok e conectarem com o server shield, porque ele precisa fazer um ataque ddos hahahaha

Lembrando que isso previne 95% dos casos de DDoS, mas ainda é bom ter coisas como balanceamento de carga, boa velocidade de link, etc. Esse é um processo que depende do próprio administrador do servidor.

 

O bom é que o server shield NÃO SERÁ VINCULADO à mim ou qualquer host do Eagle. O próprio administrador de servidor vai rodar o EGServer no seu host onde estará hospedado o seu emulador, então não há motivos para se preocupar com qualquer instabilidade do Eagle, pois quem ficará responsável pelo uptime será a própria pessoa.

 

 

EGShield: É o projeto de DLL referente a questões do próprio shield, como: encriptação, etc. Ela faz todas as prevenções e comunicações com o emulador (brAthena, etc).

 

 

Proteções:

 

- Encriptação com AES em 256bits, utilizando Crypto++ para fazer o algoritmo de chaves e encriptação geral.

- Proteção para Openkore.

- Proteção para Sniffers: WPE, RPE, Wireshark, etc.

- Proteção para Scans: Scripts próprios, Nmap, SQLMap, etc.

- Proteção para DDoS.

- Proteção para uso de Dll Injection.

- Proteção para uso de máquinas virtuais (VMWare, VirtualBox, etc).

- Proteção para Debbugers (OllyDBG e outros).

- Verificação de checksum para Dll.

 

 

Suporte:

 

- Website feito com Bootstrap, jQuery, HTML5, PHP, ShellScript.

- Portal com função de instalação do shield aos seus arquivos.

- Chave de licença própria, disponibilizada no portal (sem ela, o EGServer não funcionará).

 

 

A questão de proteção para Dll será feita de uma forma diferente, pois o shield não será apenas para RO. Visto que está sendo possível utilizar bots através de GRF editáveis em conjunto com macros para autoclicker é mais eficaz que a proteção seja feita diretamente no brAPatcher e incentivamos o seu uso: http://forum.brathena.org/index.php/topic/25443-brapatcher/

Encriptação forte será gerada, com duas chaves a fim de que não seja possível de forma alguma decriptar os dados da GRF. Também será feita checagem de checksum da GRF, não possibilitando o uso de um arquivo diferente do original, disponibilizado pelo repositório onde encontram-se os arquivos do patch.

 

Futuras ideias são a adição de pacotes custom ao cliente executável, no qual tornem possível criações próprias e tudo seja mais fácil para o mundo de customizações do Ragnarok.

 

 

Segue abaixo algumas imagens do EGLauncher e do EGServer:

 

 

ArSwDvz.png

 

 

1XTBgTQ.png

 

 

Relatório de Desenvolvimento

 

Informações referentes ao que já está pronto e o que falta.

 

EGLauncher

 

- Criação do projeto/compilação.

- Criação da aplicação via Widget com Qt.

- Criação da splash screen.

- Métodos anti-crash/click para splash screen.

- Leitura de DLL externa para comunicação com o EGServer.

- Criação de ícone para a aplicação.

 

Falta:

 

- Utilização de aplicação em System Tray (usar a aplicação como ícone na barra de tarefas).

- Criação da DLL de comunicação com o EGServer.

 

Estado de Desenvolvimento: 80%

 

 

EGServer

 

- Criação do projeto/compilação.

- Criação do a aplicação via Console com Qt.

- ASCII Art do console.

- Sistema de versões.

- Conexão TCP.

- Utilização de Thread para conexão de usuários.

- Criação de scrips em ShellScript para adição no filtro de regras do IPTables.

- Sistema de prevenção ao DDoS e autenticação de usuário.

 

Falta:

 

- Métodos de relatórios e logs.

- Métodos de chave de licença e conexão com o banco de dados principal.

 

Estado de Desenvolvimento: 90%

 

 

EGShield

 

- Criação do projeto/compilação.

- Criação da aplicação via Dll com Visual Studio.

- Métodos para funções de hook da Dll.

- Método para prevenção de uso do cliente em máquinas virtuais: VMWare, VirtualBox e Sandboxie (à ser estudado prevenções para XEN/Hyper-V/OpenVZ).

- Método de prevenção para Debbugers, travamento do executável.

 

Falta:

 

- Leitura de encriptação com AES.

- Encriptação com AES para pacotes do emulador.

- Proteção para Dll Injection.

- Verificação de checksum para Dll.

 

Estado de Desenvolvimento: 45%

 

 

------------------------------------------------------

 

Quem quiser acompanhar, eu irei postar algumas coisas nesse tópico e ir atualizando o website aos poucos (http://www.egshield.com). Já contamos com SSL, tela inicial para escolha de linguagem, tela principal e estou criando as páginas do próprio site e o Lesage o Front-End do painel.

Também caso alguém queira compartilhar códigos de shields para fonte de pesquisa e melhorias, eu agradeço. Já tenho muita coisa pronta, mas para uma proteção eficaz ainda há um bom caminho pela frente.

 

Att,

Protimus.

3

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um projeto que promete inovar não só no mundo RO mas também em outras plataformas de games... Um projeto br com suporte br era oque realmente faltava claro isso será importante quando se trata de pessoas sérias e competente :D então não há dúvidas quando se trata das pessoas envolvidas :)

 

Estarei acompanhando o projeto ;) boa sorte e progresso com sucesso Protimus!

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pessoal.

 

 

Sei que é cedo para falar disso, mas já pensou nos valores?

 

Já pensei, mas ainda não foi nada definido e tudo pode mudar até o lançamento. Minha ideia é fazer algo mais barato que os shields atuais, PORÉM eu também gostaria muito de oferecer o projeto para empresas maiores como LevelUP ou Riot (estou trabalhando em um sistema de detectação por memória para barrar os C# hack scripts em real-time e banir a conta).

 

Eu não sei ainda como é determinado as questões legais do programa, mas a principio eu quero fazer com que o shield seja usado por vários projetos, tanto do RO como de outros jogos e até mesmo para aplicativos de Android e iOS (o que não é distante, pois a portabilidade ajuda muito).

Você sabe como funciona a questão de autoria? Se eu posso distribuir o shield para servidores private, mesmo oferecendo exclusivo para empresas de jogos originais. Acredito que não tem nenhum problema porque é um software próprio, mas é bom verificar antes.

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parabéns. A comunidade Brasileira agradeço muito.

Estou acompanhando, aqui e no face, também espero os valores.

 

Dúvida: Compatibilidade de; Emuladores?(também relacionado a emuladores antigos e até o eA), clients/hexeds, tipo 2005 e por ai vai..

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não vou te garantir, mas juridicamente você não teria problema nenhum desde que você não cite em local algum do site ou instâncias que você produz (leia-se vende, distribui, atende.) para servidores piratas ou outros termos derivados. Basta colocar algo do tipo "Eagle Shield, um escudo multi-jogos". O único problema que você pode ter seria por questões de clausulas contratuais, por exemplo a levelup pode exigir que você dê exclusividade pra ela em todos os jogos que ela distribuir e se você tiver algum servidor pirata com o shield isso implicaria em algo. Do contrário, acredito que não.

 

E mesmo que você por exemplo, antes de vender pra servidores piratas ofereça pra LUG e ela não queira e você decida produzir abertamente para privates você não teria problemas. Uma vez que os únicos direitos autorais que a LUG detém são dos arquivos do ragnarok. Você só teria problema, se o seu shield para ser utilizado se apropriasse de algum arquivo ou código deles. (Aí eu já não entendo muito dessa parte de programação, no que pode ser considerado apropriação de códigos/arquivos ou não.)

 

Recomendo que se teus planos são tentar distribuir pra empresas "oficiais", que primeiro você tente oferecer e conseguir um contrato com elas pra depois distribuir pros piratas por vendas comuns. Não sei no ramo de jogos, mas empresas multi-nacionais tendem a não fazer negócios com prestadoras que geram conflito de interesses.

 

@Edit

No final, o que vai dizer se você pode ou não vai acabar sendo o contrato que tu firmar com a empresa. Digo pra tu procurar primeiro elas, porque quando você for apresentar o produto pra elas, numa eventual pesquisa por parte deles o que com certeza vai acontecer, se eles souberem que tu oferece pra servidores piratas pode até ser que não dê nada juridicamente mas eles não vão querer fechar negócio por isso. Ou, exigir que tu corte o fornecimento aos privates pra fechar com eles.

Editado por Kooler
0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sinceramente não vejo a Riot usando algum shield, isso por que o próprio client deles faz a detecção se você é um bot ou script.

 

Outra coisa é que a Riot não faz esse tipo de banimento de detectar e banir na hora, é feita toda uma investigação antes de banirem a conta, algumas chegando a meses, você pode ver no fórum da Riot que direto aparece jogadores chorando que usou bot para upar a conta a meses atrás e só foi banido agora, além de ter aqueles banimentos massivo trimestral de scripts.

 

A chance deles quererem usar um shield para detectar algo que eles já conseguem é bem mínima.

 

Pense grande, qual o jogo que mais tem problemas com hackers ? a resposta é os jogos FPS, veja jogos como Point Blank, Warface entre outros, onde as partidas são hacker vs hacker, vence quem tem o melhor.

 

Agora sobre o ragnarok, achei bacana adicionar a ideia que tinha te falado sobre pacotes custom, é algo que vai trazer muito mais qualidade e coisas diferentes para os servidores privados.

Editado por Jônatas
0

Compartilhar este post


Link para o post
Compartilhar em outros sites

/\

 

Realmente, os fps brasileiros estão impossiveis de serem jogados. Protimus, entre pra level up e faça um shield descente pra eles, pq é foda você entrar numa sala pra jogar um warface e ter nego voando ou te varando headshots do outro lado do mapa... UHASHDAHSUD

 

Sobre o tópico eu só tenho a parabenizar os envolvidos e espero que tudo dê certo para vocês, quem sabe daqui um tempo temos um bRO livre de bots e hackers e ddos da vida pq em pleno 2k17 nego usar 'gameguard' e dizer que ta tudo protegido é osso não é mesmo?

 

Enfim... bola pra frente, quando terminar comprarei uma licença pro meu servidor :P

Editado por iMihael
0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu só vejo sucesso pra esse projeto. Tenho acompanhado passo a passo, todos os dias, e posso afirmar que é um shield com uma defesa/encriptação/segurança jamais vista em outros shields por aí. Estou feliz por poder colaborar em algo e vou continuar colaborando no que eu puder, em qualquer projeto que eu esteja envolvido. A comunidade brasileira de Ragnarok, e de outros jogos, vão agradecer muito quando essa belezinha estiver 100%.

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Li o post de todos, não vou responder um por um porque estou um pouco ocupado. Sobre a questão da legalização do shield, independente eu acho que é um pouco dificil aceitarem ele para o bRO por questões "legais" de edição do cliente, mas em outros jogos é possível. Eu vou pensar a respeito dos FPS, quem sabe fazer algumas coisas adicionais.

 

Só para vocês saberem, eu vou colocar o que já está concluído.

 

EGLauncher

 

- Criação do projeto/compilação.

- Criação da aplicação via Widget com Qt.

- Criação da splash screen.

- Métodos anti-crash/click para splash screen.

- Leitura de DLL externa para comunicação com o EGServer.

- Criação de ícone para a aplicação.

 

Falta:

 

- Utilização de aplicação em System Tray (usar a aplicação como ícone na barra de tarefas).

- Criação da DLL de comunicação com o EGServer.

 

Estado de Desenvolvimento: 80%

 

 

EGServer

 

- Criação do projeto/compilação.

- Criação do a aplicação via Console com Qt.

- ASCII Art do console.

- Sistema de versões.

- Conexão TCP.

- Utilização de Thread para conexão de usuários.

- Criação de scrips em ShellScript para adição no filtro de regras do IPTables.

- Sistema de prevenção ao DDoS e autenticação de usuário.

 

Falta:

 

- Métodos de relatórios e logs.

- Métodos de chave de licença e conexão com o banco de dados principal.

 

Estado de Desenvolvimento: 90%

 

 

EGShield

 

- Criação do projeto/compilação.

- Criação da aplicação via Dll com Visual Studio.

- Métodos para funções de hook da Dll.

- Método para prevenção de uso do cliente em máquinas virtuais: VMWare, VirtualBox e Sandboxie (à ser estudado prevenções para XEN/Hyper-V/OpenVZ).

- Método de prevenção para Debbugers, travamento do executável.

 

Falta:

 

- Leitura de encriptação com AES.

- Encriptação com AES para pacotes do emulador.

- Proteção para Dll Injection.

- Verificação de checksum para Dll.

 

Estado de Desenvolvimento: 45%

 

 

Irei adicionar essas notas ao início do tópico e sempre atualizá-las. Qualquer dúvida ou sugestão, vocês podem me informar pelo Skype também: [email protected]

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito bom cara, particularmente eu achei fantástico, os administradores serão eternamente gratos, e pelo visto com ótimos colaboradores, então a tendência é qualidade e produtividade, acredito bastante em vocês.

 

Boa sorte, e espero vê-lo nos joguins por aí! ;)

Editado por Wolf
0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com certeza usarei. Faça um canal de comunicação mais simples que os dos shields conhecidos, onde é tudo muito nebuloso.

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Belo projeto, com certeza vai ajudar muita gente. (Não a mim. rs')

 

Obs: Saturado do trabalho é o mesmo que cansado de fazer a mesma coisa, de saco cheio, bom, sem demais delongas ! :D

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenho acompanhado o projeto de perto, e um dos pontos pelo qual eu costumava defender o Harmony mesmo tendo ficado depreciado, era sua qualidade de software, então por tudo que vi até o momento posso afirmar que o Shield do Protimus se continuar no caminho que está indo, será muito melhor que os atuais, com mais segurança, mais proteções e um código limpo.

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenho acompanhado todos os shield pagos desde 2012, e olha sou sincero em dizer que não me senti satisfeito como cliente e nem como administrador em usar softwares que me custaram uma boa grana, pois não atenderam minhas expectativas de proteção e muito menos de suporte ao cliente. Agora por último estou a usar o Gepard e mais do que todas as outras vezes me sinto insatisfeito, pois para qualquer tipo de alteração que preciso estar fazendo no client eu dependo do sr. Functor, sem contar das lindas taxas de 20 Trumps a cada mudança no hexed. Uma vez questionado a ele por que não criava um site para poder gerar os arquivos, ele disse a um amigo meu que dava muito trabalho.



Enfim meu textão não é para desmerecer o trabalho de ninguém e sim para enaltecer o trabalho da nossa comunidade através do projeto do Protimus, pois tenho certeza que eu estaria muito mais feliz enchendo o saco do Protimus por suporte em meu idioma, do que viver mendigando pra um russo algo que desembolsamos mais de 300 Trump's.


A equipe envolvida no projeto meus sinceros votos de sucesso.


Editado por Makarov
0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Difícil de imaginar o valor da mensalidade do shild ou a continuidade do serviço voltado para o Ragnarok depois que você conseguir fechar um contrato com a Riot Games

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Tenho acompanhado todos os shield pagos desde 2012, e olha sou sincero em dizer que não me senti satisfeito como cliente e nem como administrador em usar softwares que me custaram uma boa grana, pois não atenderam minhas expectativas de proteção e muito menos de suporte ao cliente. Agora por último estou a usar o Gepard e mais do que todas as outras vezes me sinto insatisfeito, pois para qualquer tipo de alteração que preciso estar fazendo no client eu dependo do sr. Functor, sem contar das lindas taxas de 20 Trumps a cada mudança no hexed. Uma vez questionado a ele por que não criava um site para poder gerar os arquivos, ele disse a um amigo meu que dava muito trabalho.

Enfim meu textão não é para desmerecer o trabalho de ninguém e sim para enaltecer o trabalho da nossa comunidade através do projeto do Protimus, pois tenho certeza que eu estaria muito mais feliz enchendo o saco do Protimus por suporte em meu idioma, do que viver mendigando pra um russo algo que desembolsamos mais de 300 Trump's.

A equipe envolvida no projeto meus sinceros votos de sucesso.

 

 

 

Na realidade não é tão difícil, mas da trabalho. O que precisa fazer de modificação é simplesmente criar um shellscript que faz o trabalho de mudanças do executável conforme a pessoa queira, mas para isso é necessário usar PHP para passar parâmetros para o script. Talvez o responsável não saiba fazer isso ou então prefira fazer dessa forma para ganhar mais dinheiro com o suporte.

 

Minha ideia é um painel que faça essas mudanças de acordo com o que a pessoa desejar, ela terá um menu com opções de versão de hexed e com opções de diffagem diferente para cada tipo de versão e você só precisa selecionar o que quer, não precisará nem diffar o hexed. Sobre a encriptação de arquivos, eles serão feitos através do brAPatcher e então o usuário vai ficar totalmente LIVRE para mudar o que quiser.

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

só umas duvidas roda em wine e windows xp 32bits sp1? trabalha em proxy? tem a lista de hacks que detecta? atualiza em automatico? compila em c++ 2008?

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

só umas duvidas roda em wine e windows xp 32bits sp1? trabalha em proxy? tem a lista de hacks que detecta? atualiza em automatico? compila em c++ 2008?

 

Roda até mesmo sem Wine e a única coisa que você precisa emular é o próprio executável do RO... Eu irei fazer bibliotecas SO para serem trabalhadas com o executável em Linux ao invés de só Dll para Windows. Ele não suportará Windows XP, só versões acima de Windows 8. O motivo é que não tem como trabalhar com algumas metodologias novas em sistemas antigos do Windows.

 

Vou estudar sobre a questão do uso de proxy, o problema disso é que a pessoa pode burlar a autenticação de usuário dessa forma, então eu acho que só posso liberar o uso de proxy desde que sejam IPs escolhidos pelo administrador do jogo. Isso é feito diretamente no script em IPTables disponibilizado pelo Shield.

 

Lista de hacks? Todos, sem excessão.

 

Atualiza automático, sem precisar baixar uma nova versão pelo site... Ele faz comunicação com um servidor VPS do shield para atualizar. O Launcher é compilado em Qt com Qt Creator que faz a build em CMake ou Makefiles + Autoconf. O Server Shield é pré-compilado em Qt também e as Dlls e SO são compiladas com Visual Studio 2017. Todas as compilações são feitas através de um simples botão pelo painel administrativo do Shield, você não precisará ter nenhuma IDE instalada no seu computador.

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar Agora