[Admin] tierrilopes Posted April 16, 2016 at 06:17 PM Share Posted April 16, 2016 at 06:17 PM 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
Dynamic Things Posted April 19, 2016 at 02:59 PM Share Posted April 19, 2016 at 02:59 PM Obrigado pela partilha, este tópico irá certamente ser uma ajuda a pessoas que procurar segurança contra hacks/cheats... Desta maneira torna muito mais difícil entrar com hacks no cliente visto que se o ficheiro for modificado ou alterado por outro o cliente não abrirá. Cumprimentos Gol .D Roger Link to comment
Guest ReFresh Posted April 16, 2018 at 12:14 AM Share Posted April 16, 2018 at 12:14 AM (edited) Can someone post me here the MD5 Encrypter? I can't download it. And under what I have to place : Bloquear(); ? Edited April 16, 2018 at 12:23 AM by ReFresh Link to comment
Guest ReFresh Posted April 19, 2018 at 03:18 PM Share Posted April 19, 2018 at 03:18 PM The game won't start with your code, so this release is useless. Link to comment
[Admin] tierrilopes Posted April 19, 2018 at 04:26 PM Author Share Posted April 19, 2018 at 04:26 PM It works like a charm, I known some servers using it since 2014 with no issues. Use it as a thread: CreateThread(NULL, NULL, LPTHREAD_START_ROUTINE(Bloquear), NULL, 0, 0); Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now