Proteger cliente mediante .PY
-
Bueno, hace muchísimo que no subo una guía, pero bueno, esto tal vez les interese a la gente que intenta obligar a sus players a que jueguen desde el un nombre determinado de un proceso de Metin2, o que ese proceso de Metin2 tenga los bytes exactos, que no sea un metin2.bin casero que puedan usar para hackear el cliente o similares.
¿Cómo se hace?
Descompilamos root.epk y vamos a editar game.py (sí, el dichoso archivo tan delicado jajajaja)
Buscáis:
class GameWindow(ui.ScriptWindow):
def __init__(self, stream):
Y debajo ponéis lo siguiente:#INICIO SISTEMA ANGHIOS #1
import sys
from os.path import basename
ruta_y_proceso_ejecutado = sys.executable
proceso_ejecutado = basename(ruta_y_proceso_ejecutado)
if proceso_ejecutado != "NOMBREDELPROCESO.LOQUESEA":
os.system("taskkill /im %s /f" % proceso_ejecutado)
#/
En NOMBREDELPROCESO.LOQUESEA ponemos nuestro proceso, ya sea metin2.bin, metin2.exe, pacohostias.dll, metin2pene.src... lo que quieranEse sistema evita que entren con un proceso que no sea el que vosotros habéis puesto. El código obtiene el nombre del proceso que se está ejecutando, y si no es el mismo, mata el PID del proceso
Para obligar a la gente a que tenga tu .bin y no hagan uno casero para hackear:
Debajo del código que hemos puesto arriba, podemos colindar este:
#SISTEMA ANGHIOS #2
bytes_archivo = os.path.getsize(proceso_ejecutado)
if bytes_archivo != BYTESARCHIVO:
os.system("taskkill /im %s /f" % proceso_ejecutado)
#/En BYTESARCHIVO ponemos los bytes del .bin, para obtener sus bytes sobra con hacer 2º botón del ratón encima del .bin> propiedades>
Os saldrá algo parecido a esto-> 4,16 MB (4.370.432 bytes)
Pues los bytes son: 4370432Este sistema es igual de fácil que el otro, obtiene los bytes del .bin, si son diferentes a los que habéis puesto, mata el PID del proceso.
Así que si actualizan el .bin, no olviden de actualizar root, o donde tengáis puesto este sistemaY esto es todo, un gran sistema al que nadie se le había ocurrido, y mucho menos compartirlo.
Ea, a disfrutar!LICENCIA DE CREATIVE COMMONS, CREADA 100% POR ANGHIOS (NÉSTOR GONZÁLEZ). Si se publica en otro lugar, al menos que se tenga la decencia de dejar constancia del autor, del sitio y del hilo.
Thanks babys. -
un Gran Aporte (Y)
-
+1, gran aporte tio
-
bueno lo eh probado y aunque abra el cliente con un archivo de diferente tamaño o diferente nombre sigue funcionando xD
de igual manera +1
-
oh que buena, cuando lo he visto no me lo he creido xDD
lo probaré algún dia.... en un futuro proximo... pero desde luego, muchas gracias ^^
-
funciona, gracias