Bienvenidos a un nuevo tutorial, hoy aprenderemos a proteger nuestro cliente mediante la verificación CRC32 de los archivos del cliente en MUEMU.
Para entender mejor de que se trata, intentaremos explicarlo con palabras más sencillas.
Cuando ingresamos al cliente y si este usa el MHP-antihack, se ejecuta una comprobación (Mediante CRC32) de los archivos del juego tomando como contraste una lista (Checksum.List.db) alojada en nuestro MHPServer.
Si esa comprobación está correcta, el cliente iniciará, pero si en esta comprobación aparece algun problema (Dada por la modificación de algun archivo que este en lista de verificación por parte del cliente) el antihack bloqueará nuestro ingreso.
Este tipo de verificación se utiliza para evitar que archivos del cliente sean reemplazados/modificados/altereados con el simple fin de obtener alguna ventanja en el juego.
Para evitar eso, veamos el siguiente tutorial.
1)Lo primero que haremos, será crear una carpeta llamada "CRC32" en donde alojaremos todos los archivos que deseamos proteger, para quienes no tiene mucho conocimiento en este ámbito de seguridad, los archivos que recomendamos a proteger son: ah.emu, main.emu, main.exe, player.bmd entre otros, entonces copiamos esos archivos y los pegamos dentro de nuestra carpeta creada.
2)Nuestro siguiente paso será generar los códigos CRC32. Para esto podemos hacerlo de muchas formas, existen programas, generadores online, etc... En este ejemplo lo haremos con el propio WinRAR (Un software encargado de comprimir/descomprimir archivos) el cual la mayoria de los equipos ya lo tienen instalado.
Sino lo tienen instalado pueden descargarlo desde su sitio oficial haciendo Clic Aqui
Entonces, lo que haremos, será simplemente seleccionar todos los archivos, hacemos un clic derecho y seleccionamos la opción "Añadir a CRC32.rar"
3)Luego de generar nuestro archivo CRC32.rar lo abrimos y nos posicionamos sobre la última columna, la llamada CRC32 y copiamos el nombre del archivo seguido de su codigo alfanumérico (CRC32)
main.exe ---------- 514EEF6B
player.bmd -------- D25E0173
main.emu --------- 57A6C262
ah.emu ------------ 1AACD140
4)Nuestro siguiente paso será ingresar a la siguiente ruta: Muserver\MHPServer\Data y abrimos el archivo llamado: Checksum.List.db (Este tipo de archivos podemos abrirlo con cualquier procesador de textos, como por ejempo: notepad.exe)
Este archivo lo configuraremos de la siguiente forma:
La primera columna contendrá la ruta en donde se encuentra cada archivo y en la segunda columna debemos agregar 0x seguido del código CRC32
Recuerden que tanto la ruta como el código deben ir entre comillas.
Para completar la primera columna, no debemos tener en cuenta el nombre del cliente, sino debemos colocar nuestra ruta como si estuviesemos directamente sobre el.
Comenzemos con el primero archivo: el main.exe, entonces nuestra primera linea nos quedará asi:
"main.exe" "0x514EEF6B"Nuestra segunda linea quedará asi:
"data/player/player.bmd" "0xD25E0173"*Presten atención a la ruta, el archivo player.bmd no se encuentra en la raiz como el main.exe, sino que el mismo se encuentra dentro de la carpeta player contenida en la carpeta data
Nuestra tercera linea, quedará asi:
"main.emu" "0x57A6C262"Y finalmente nuestra cuarta linea, quedará asi
"ah.emu" "0x1AACD140"y la última linea corresponde al End que hará el cierre del código.
5)Finalmente ya podemos iniciar el servidor y verificar que todo funcione correctamente.
Lo que deberÃa suceder es lo siguiente, si ingresamos con los archivos con los cuales hemos generado los CRC32, el juego deberÃa funcionar sin problemas, pero si intentamos modificar un archivo e intentamos ingresar, el MHPServer.exe detectará el cambio de CRC32 (Ya que, cada vez que modificamos un archivo el CRC32 tambien se modifica.) y nos bloqueará el ingreso.
Veamoslo: modificaremos a modo de ejemplo el archivo player.bmd (El cual se encuentra en lista de verificación) y probaremos ingresar para ver que sucede:
Adicionalmente, si revisamos el log del antihack podemos finalmente constatar que el bloqueo del ingreso se debe a una modificación del archivo player.bmd (Recuerden que esa modificación la hemos realizado nosotros con el fin de verificar el funcionamiento del antihack.)
16:02:54 [HackDetected][][] IpAddress: ***********, HardwareId: 2CD2****-9H2D****-A46C****-D410****, DetectionType: FILE_DETECTION, CaptionName: data/player/player.bmd, ProcessName:Recuerden que ustedes pueden colocar cualquier archivo para ser verificado.
Finalmente si agregamos el archivo item_eng.bmd al listado de verificación no quiere decir que tambien estemos protegiendo el item_spn.bmd ya que son dos archivos difentes con CRC32 diferentes en rutas diferentes.