Jump to content

Anghios

Recommended Posts

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.

Link to comment
Share on other sites

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

Edited by Anghios
Link to comment
Share on other sites

  • 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, 

Link to comment
Share on other sites

  • 1 month later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

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

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...