"""Configuración centralizada para el patcher avanzado""" # Configuración del proceso objetivo TARGET_PROCESS = { 'name': "PEAK.exe" } # Configuración de búsqueda de memoria MEMORY_SEARCH_CONFIG = { 'chunk_size': 0x20000, # 128KB chunks 'overlap': 256, # Overlap para patrones en bordes 'max_address': 0x7FFFFFFFFFFFFFFF # Espacio de direcciones de 64-bit } # Configuración de volcado hexadecimal HEX_DUMP_CONFIG = { 'bytes_per_line': 16, 'address_width': 8 } # Configuración de backup BACKUP_CONFIG = { 'enabled': False, 'filename_format': "backup_0x{address:X}_{timestamp}.bin" } # Configuración de parches PATCH_CONFIG = { 'stamina': { 'description': "Parche de stamina infinita - establece el stamina siempre a 100%", 'instructions': [ 0x75, 0x16, # jne (salto original) 0xB8, 0x00, 0x00, 0x80, 0x3F, # mov eax, 0x3F800000 (1.0f) 0x66, 0x0F, 0x6E, 0xE8, # movd xmm5, eax 0x90, 0x90, 0x90, 0x90, 0x90, # nop padding 0xF3, 0x0F, 0x11, 0xAE, 0x94, 0x01, 0x00, 0x00 # movss [rsi+18C],xmm5 ] }, 'speed': { 'description': "Parche de velocidad de movimiento - modifica la velocidad del jugador", 'original_pattern': [0xE0, 0x67, 0x03, 0x36, 0x7B, 0x02, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x41, 0x00, 0x00, 0x80, 0x3F], 'speed_multipliers': { '1x': [0xE0, 0x67, 0x03, 0x36, 0x7B, 0x02, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x41, 0x00, 0x00, 0x80, 0x3F], # Velocidad normal '2x': [0xE0, 0x67, 0x03, 0x36, 0x7B, 0x02, 0x00, 0x00, 0x00, 0x00, 0x48, 0x42, 0x00, 0x00, 0x80, 0x3F], # Doble velocidad '3x': [0xE0, 0x67, 0x03, 0x36, 0x7B, 0x02, 0x00, 0x00, 0x00, 0x00, 0x96, 0x42, 0x00, 0x00, 0x80, 0x3F], # Triple velocidad '0.5x': [0xE0, 0x67, 0x03, 0x36, 0x7B, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x41, 0x00, 0x00, 0x80, 0x3F] # Media velocidad } } } # Mensajes de la interfaz de usuario UI_MESSAGES = { 'banner': { 'title': "🎮 === Patcher Avanzado para PEAK.exe ===", 'description': "Este programa modifica la memoria para stamina infinita y velocidad de movimiento", 'warning': "⚠️ ADVERTENCIA: Usa bajo tu propia responsabilidad", 'admin_note': "📝 Asegúrate de ejecutar como administrador" }, 'success': { 'process_opened': "✅ Proceso {process_name} abierto exitosamente (PID: {pid})", 'patch_applied': "✅ ¡Parche aplicado exitosamente!", 'verification_successful': "✅ Verificación exitosa: El parche se aplicó correctamente", 'backup_saved': "💾 Copia de seguridad guardada en: {filename}", 'patching_completed': "\n🎉 ¡Patcheo completado exitosamente!", 'stamina_maintained': "💪 El stamina ahora debería mantenerse al 100%", 'speed_modified': "🏃 La velocidad de movimiento ha sido modificada" }, 'error': { 'process_not_found': "❌ No se pudo encontrar el proceso {process_name}", 'process_not_opened': "❌ No se pudo abrir el proceso {process_name}", 'no_patterns_found': "❌ No se encontraron patrones", 'memory_read_failed': "❌ No se pudo leer la memoria original", 'patch_failed': "❌ Error al aplicar el patch", 'verification_failed': "❌ Error en la verificación - El patch no se aplicó correctamente", 'operation_cancelled': "❌ Operación cancelada por el usuario", 'patching_failed': "\n❌ El patcheo falló", 'patching_error': "\n💥 Error durante el patcheo: {error}", 'user_interrupted': "\n\n⏹️ Operación interrumpida por el usuario", 'unexpected_error': "\n💥 Error inesperado: {error}" }, 'info': { 'searching_patterns': "🔍 Buscando patrones en {region_count} regiones de memoria...", 'pattern_found': " ✅ {pattern_name} encontrado en: 0x{address:X}", 'using_address': "\n🎯 Usando dirección: 0x{address:X}", 'searching_stamina': "\n🔍 Buscando patrones de stamina...", 'searching_speed': "\n🔍 Buscando patrones de velocidad...", 'original_code': "\n📖 Código original:", 'patch_to_apply': "\n🔧 Patch a aplicar:", 'applying_patch': "\n✍️ Aplicando patch...", 'starting_patch_process': "\n🎮 Iniciando proceso de patcheo...", 'goodbye': "\n👋 ¡Hasta luego!" } } # Configuración de logging (para futuras mejoras) LOGGING_CONFIG = { 'enabled': False, 'level': 'INFO', 'format': '%(asctime)s - %(name)s - %(levelname)s - %(message)s', 'filename': 'patcher.log' }