Jump to content

[Md5] Verificação De Ficheiros


tierrilopes
 Share

Recommended Posts

Para que serve?

Verifica se os ficheiros do cliente têm o mesmo hash md5 do que os colocados na source do executável.

Caso o hash seja diferente, o cliente não abrirá.

Possíveis utilizações:

  • Verificar se as libs foram modificadas
  • Se algum das dll de cliente foi modificada
  • Se algum ficheiro ficou corrompido com o download (caso tenha ficado o hash será diferente).

Colocar o ficheiro verificar.h (em anexo) na vossa pasta Extern/include

Abrir o ficheiro UserInterface/locale.cpp

Adicionar este include (no inicio do ficheiro)

#include "verificar.h"
 

Por baixo do include que adicionaram, colar o seguinte código (código de exemplo dentro do Bloquear):

void verificar_md5(char* cFile, char* hash) {    
  MD5 verificar;    
  if (strcmp(verificar.digestFile(cFile), hash)) {        
  MessageBoxA(NULL, "Por favor utilize o patcher!", "Cliente corrompido", NULL);        
  ExitProcess(0);}}

void Bloquear(){
  inicio:
    verificar_md5("granny2.dll", "f6b1a03647bbe56477060638d761f517");    
    verificar_md5("devil.dll", "8df4d4324e5755f1a0567db3c5be4c58");    
    verificar_md5("DSETUP.dll", "1768d2d5fb2868967b4684e9620de666");    
    verificar_md5("miles/mss32.dll", "3713b70df4337874fb32e2bd37dbf699");   
    verificar_md5("miles/mssa3d.m3d", "e089ce52b0617a6530069f22e0bdba2a");    
    verificar_md5("miles/mssds3d.m3d", "85267776d45dbf5475c7d9882f08117c");  
    verificar_md5("miles/mssdsp.flt", "cb71b1791009eca618e9b1ad4baa4fa9");  
    verificar_md5("miles/mssdx7.m3d", "2727e2671482a55b2f1f16aa88d2780f");   
    verificar_md5("miles/msseax.m3d", "788bd950efe89fa5166292bd6729fa62");   
    verificar_md5("miles/mssmp3.asi", "189576dfe55af3b70db7e3e2312cd0fd");   
    verificar_md5("miles/mssrsx.m3d", "7fae15b559eb91f491a5f75cfa103cd4");   
    verificar_md5("miles/msssoft.m3d", "bdc9ad58ade17dbd939522eee447416f");    
    verificar_md5("miles/mssvoice.asi", "3d5342edebe722748ace78c930f4d8a5");
  	Sleep(60000);
  	goto inicio;
}
 

Dentro do void Bloquear () é onde especificam e adicionam mais ficheiros, sempre neste formato:

verificar_md5("localização_relativa_do_ficheiro","hash_md5");
 

Para ativar este função, ainda dentro de UserInterface/locale.cpp, procurar por:

void LocaleService_LoadConfig(const char* fileName){
 

E adicionar o seguinte debaixo:

Bloquear();
 

Podem utilizar a seguinte ferramenta para gerar o código:

 

 

verificar.h

Link to comment
Share on other sites

  • 1 year later...

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
 Share

×
×
  • Create New...