Proteger cliente mediante .PY

Topic created · 6 Mensajes · 2077 Visitas
  • 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 quieran 🙂

    Ese 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: 4370432 🙂

    Este 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 sistema 🙂

    Y 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