"Hacks" for the game PEAK.

Don't expect much right now honestly.

Matthew Trejo d3943a234e im a fucking dumbass 4 hónapja
core 36b876afed git de papel 4 hónapja
patches a677409c5f update for new version 4 hónapja
patterns a677409c5f update for new version 4 hónapja
utils 36b876afed git de papel 4 hónapja
.gitignore 36b876afed git de papel 4 hónapja
README.md a677409c5f update for new version 4 hónapja
config.py a677409c5f update for new version 4 hónapja
main.py 36b876afed git de papel 4 hónapja
patcher.py a677409c5f update for new version 4 hónapja
requirements.txt 36b876afed git de papel 4 hónapja
run.bat d3943a234e im a fucking dumbass 4 hónapja

README.md

Patcher Avanzado para PEAK.exe

Un patcher de memoria avanzado que utiliza patrones de diseño para modificar el comportamiento del stamina y la velocidad de movimiento en el juego PEAK.exe.

🏗️ Arquitectura del Proyecto

El proyecto ha sido reorganizado siguiendo patrones de diseño para mejorar la mantenibilidad y escalabilidad:

Estructura de Directorios

peakGame/
├── main.py                 # Punto de entrada principal
├── patcher.py             # Clase principal (Facade Pattern)
├── config.py              # Configuración centralizada
├── advanced_patcher.py    # Archivo original (legacy)
├── core/
│   ├── __init__.py
│   └── memory_manager.py  # Gestión de memoria del proceso
├── patterns/
│   ├── __init__.py
│   └── pattern_searcher.py # Búsqueda de patrones (Strategy Pattern)
├── patches/
│   ├── __init__.py
│   └── patch_factory.py   # Creación de parches (Factory Pattern)
├── utils/
│   ├── __init__.py
│   └── helpers.py         # Utilidades auxiliares
└── venv/                  # Entorno virtual

🎯 Patrones de Diseño Implementados

1. Strategy Pattern - Búsqueda de Patrones

  • Ubicación: patterns/pattern_searcher.py
  • Propósito: Permite diferentes estrategias de búsqueda de patrones en memoria
  • Beneficio: Fácil extensión para nuevos tipos de patrones

2. Factory Pattern - Creación de Parches

  • Ubicación: patches/patch_factory.py
  • Propósito: Crea diferentes tipos de parches de manera uniforme
  • Beneficio: Extensibilidad para nuevos tipos de parches (vida, munición, etc.)

3. Facade Pattern - Coordinación de Módulos

  • Ubicación: patcher.py
  • Propósito: Proporciona una interfaz simplificada para coordinar todos los módulos
  • Beneficio: Simplifica el uso y oculta la complejidad interna

🚀 Uso

Ejecución Básica

python main.py

Requisitos

  • Python 3.7+
  • psutil
  • Permisos de administrador
  • PEAK.exe ejecutándose

📋 Características

  • Stamina infinita: Mantiene el stamina siempre al 100%
  • Velocidad modificable: Cambia la velocidad de movimiento (0.5x, 1x, 2x, 3x)
  • Menú interactivo: Selección fácil del tipo de parche a aplicar
  • Búsqueda optimizada: Chunks de 128KB con overlap inteligente
  • Backup automático: Copia de seguridad del código original
  • Verificación: Confirma que el parche se aplicó correctamente
  • Interfaz amigable: Mensajes claros y confirmaciones
  • Arquitectura modular: Fácil mantenimiento y extensión
  • Manejo de errores: Gestión robusta de excepciones

🔧 Extensibilidad

Agregar Nuevos Tipos de Parches

  1. Crear nueva clase de parche en patches/patch_factory.py:

    class NewPatch(Patch):
    def create_patch(self, original_data: bytes) -> bytes:
        # Implementar lógica del parche
        pass
    
  2. Registrar en la factory:

    _patch_types = {
    'stamina': StaminaPatch,
    'health': HealthPatch,
    'new_type': NewPatch  # Agregar aquí
    }
    

Agregar Nuevos Buscadores de Patrones

  1. Crear nueva clase heredando de PatternSearcher
  2. Implementar métodos abstractos get_patterns() y search()
  3. Usar en el patcher principal

Funcionalidades Implementadas

Stamina Infinita

  • Busca el patrón específico de stamina en memoria
  • Modifica el código para mantener el stamina siempre al 100%

Velocidad de Movimiento

  • Busca el patrón específico de velocidad en memoria
  • Permite modificar la velocidad con diferentes multiplicadores:
    • 0.5x: Media velocidad
    • 1x: Velocidad normal
    • 2x: Doble velocidad
    • 3x: Triple velocidad
  • Patrón: pendiente
  • Modificación: Cambia los bytes C8 41 por el valor correspondiente al multiplicador

⚠️ Advertencias

  • Uso bajo tu propia responsabilidad
  • Ejecutar como administrador
  • Crear backup antes de usar
  • Solo para uso educativo/personal

📝 Notas de Desarrollo

  • Configuración centralizada en config.py
  • Separación de responsabilidades por módulos
  • Código reutilizable y testeable
  • Documentación inline en todas las clases

🤝 Contribuciones

Para contribuir:

  1. Seguir los patrones de diseño establecidos
  2. Documentar nuevas funcionalidades
  3. Mantener la separación de responsabilidades
  4. Agregar tests cuando sea posible