Jump to content
Sign in to follow this  
Tierri Lopes

Passos Para Criação De Cliente Metin2

Recommended Posts

Apenas uma lista de coisas (não ordenada) a considerar ao criarem o vosso cliente. Caso queiram adicionar mais alguma responder no tópico (pedia que respondessem apenas neste caso para ser mais organizado).

  1. Bloquear logininfo.py (ou remover a sua importação do cliente);
  2. Bloquear importação de ficheiros .flt .m3d .mix .asi;
  3. Bloquear injeção de ficheiros dll;
  4. Bloquear a execução de macros;
  5. Remover (ou bloquear no bin) as 2 funções do python22.dll/python27.dll para injetar ficheiros .py. É recomendado usarem python2.7 ao invés de python2.2;
  6. Modificar as chaves de compactação do cliente;
  7. Modificar as extensões do cliente;
  8. Dificultar o acesso aos ficheiros index (.eix) usando virtualização (Themida, VMprotect, Enigma, etc);
  9. Utilizar cython para eliminar os ficheiros python no cliente, transformando-os em ficheiros .c que poderão ser compilados com o cliente.
  10. Utilizar uma verificação de todos os ficheiros no executável dos ficheiros do cliente (por exemplo da pasta miles, dlls do cliente, pasta lib, ficheiros da pasta pack). Recomendo uma dupla verificação dos ficheiros por md5 e sha1 por exemplo;
  11. Remover duplicados (pastas season contêm imensos. Para tal podem alterar os caminhos nos ficheiros python e remover o season1 e season2, ajustando o caminho para corresponder aos já existentes);
  12. Remover todos os itens/mapas/texturas não utilizados;
  13. Modificar os pacotes (packet) de comunicação cliente/servidor;
  14. Usar e abusar da versão de cliente;
  15. Colocar executável a abrir apenas com um argumento especifico fornecido pelo patcher (juntamente com a opção 13 obriga o jogador a utilizar sempre o patcher para poder jogar);
  16. Modificar a estrutura do cliente à vossa maneira. Lembrar-se que os ficheiros .epk são apenas para organização e podem ter quantos quiserem e o seu nome não tem de ser igual ao cliente oficial. Ao modificar a estrutura podem também acabar com o ficheiro root e uiscript, assim como a pasta pack (dando outro nome qualquer/modificando a sua localização);
  17. Modificar nome dos módulos (os imports nos vossos ficheiros, como por exemplo import player, import item, etc) pois a maioria do hacks está feita para certos nomes específicos;
  18. Fazer um instalador que instale juntamente com o cliente a versão c++ runtime assim como a versão .net framework que estiverem a utilizar. O instalador deverá ser feito com o máximo de compressão disponível (recomendo lzma2 ultra ou custom). Exemplo de um criador de instalador com boas funções: Please login or register to see this link.

  • Like 1
  • Upvote 10

Share this post


Link to post
Share on other sites

Muito bem, isso vai ser útil para muitas pessoas. Estás de parabéns, vou dar o meu +1 Please login or register to see this image. /uploads/emoticons/xenforo-smilies-sprite.png.4a4a9fa87ba1790fde78e48a590c163b.png" alt=";)">

Share this post


Link to post
Share on other sites

O passo 8 passo por colocar os ficheiros .eix dentro do executável, passando os mesmos a estar virtualizados.

Quem aceder à pasta pack apenas verá os ficheiros .epk, para aceder aos ficheiros .eix terá de os desvirtualizar mas 90% do universo metin2 não o sabe fazer.

  • Upvote 2

Share this post


Link to post
Share on other sites

Passo 7 e 8 obsoletos.

Utilizar source de PackMaker e criar o vosso próprio método de pack para estarem a salvo de descompactarem o vosso cliente.

  • Upvote 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site, you agree to our Terms of Use.

Our website is made possible by displaying online advertisements to our visitors.
Please consider supporting us by disabling your ad blocker.
You will be able to see content when you disable your adblocker and enable javascript.