Jump to content

Anghios

Mensajes recomendados

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.

Enlace para comentar
Compartir en otros sitios

deberias dejar más detallado si es en

class GameWindow(ui.ScriptWindow):
canQuestLettersShow = 1
def __init__(self, stream):
o aqui
constInfo.SET_DEFAULT_USE_SKILL_EFFECT_ENABLE()

Justo debajo de la funciones, es decir, debajo del _def :)

PD: Si alguien no entiende el código estoy en encantado de explicarlo

Editado por Anghios
Enlace para comentar
Compartir en otros sitios

  • 2 weeks later...
  • 2 weeks later...
  • 2 weeks later...
  • 3 months later...
  • 2 weeks later...

dentro de esta semana voy explicar en un video como anular cualquier LoadLibraryA/w (write process memory inject) verficacion de proceso.... Veo que a muchos le interesa...

 

Debes iniciar sesión para ver el contenido del enlace en esta publicación.

la verdad interesante muyyy interezante, 

Enlace para comentar
Compartir en otros sitios

  • 1 month later...

Unirse a la conversación

Puedes publicar ahora y registrarte más tarde. Si tienes una cuenta, regístrate para publicar con su cuenta.

Guest
Responder a este tema...

×   Has pegado contenido con formato .   Eliminar formato

  Only 75 emoji are allowed.

×   Tu enlace se ha incorporado automáticamente.   Mostrar un enlace en su lugar

×   Se ha restaurado el contenido anterior. .   Borrar editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recientemente navegando por este tema   0 miembros

    • No hay usuarios registrados visitando esta página.
×
×
  • Crear nuevo...