config.py 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. """Configuración centralizada para el patcher avanzado"""
  2. # Configuración del proceso objetivo
  3. TARGET_PROCESS = {
  4. 'name': "PEAK.exe"
  5. }
  6. # Configuración de búsqueda de memoria
  7. MEMORY_SEARCH_CONFIG = {
  8. 'chunk_size': 0x20000, # 128KB chunks
  9. 'overlap': 256, # Overlap para patrones en bordes
  10. 'max_address': 0x7FFFFFFFFFFFFFFF # Espacio de direcciones de 64-bit
  11. }
  12. # Configuración de volcado hexadecimal
  13. HEX_DUMP_CONFIG = {
  14. 'bytes_per_line': 16,
  15. 'address_width': 8
  16. }
  17. # Configuración de backup
  18. BACKUP_CONFIG = {
  19. 'enabled': False,
  20. 'filename_format': "backup_0x{address:X}_{timestamp}.bin"
  21. }
  22. # Configuración de parches
  23. PATCH_CONFIG = {
  24. 'stamina': {
  25. 'description': "Parche de stamina infinita - establece el stamina siempre a 100%",
  26. 'instructions': [
  27. 0x75, 0x16, # jne (salto original)
  28. 0xB8, 0x00, 0x00, 0x80, 0x3F, # mov eax, 0x3F800000 (1.0f)
  29. 0x66, 0x0F, 0x6E, 0xE8, # movd xmm5, eax
  30. 0x90, 0x90, 0x90, 0x90, 0x90, # nop padding
  31. 0xF3, 0x0F, 0x11, 0xAE, 0x94, 0x01, 0x00, 0x00 # movss [rsi+18C],xmm5
  32. ]
  33. },
  34. 'speed': {
  35. 'description': "Parche de velocidad de movimiento - modifica la velocidad del jugador",
  36. 'original_pattern': [0xE0, 0x67, 0x03, 0x36, 0x7B, 0x02, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x41, 0x00, 0x00, 0x80, 0x3F],
  37. 'speed_multipliers': {
  38. '1x': [0xE0, 0x67, 0x03, 0x36, 0x7B, 0x02, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x41, 0x00, 0x00, 0x80, 0x3F], # Velocidad normal
  39. '2x': [0xE0, 0x67, 0x03, 0x36, 0x7B, 0x02, 0x00, 0x00, 0x00, 0x00, 0x48, 0x42, 0x00, 0x00, 0x80, 0x3F], # Doble velocidad
  40. '3x': [0xE0, 0x67, 0x03, 0x36, 0x7B, 0x02, 0x00, 0x00, 0x00, 0x00, 0x96, 0x42, 0x00, 0x00, 0x80, 0x3F], # Triple velocidad
  41. '0.5x': [0xE0, 0x67, 0x03, 0x36, 0x7B, 0x02, 0x00, 0x00, 0x00, 0x00, 0x40, 0x41, 0x00, 0x00, 0x80, 0x3F] # Media velocidad
  42. }
  43. }
  44. }
  45. # Mensajes de la interfaz de usuario
  46. UI_MESSAGES = {
  47. 'banner': {
  48. 'title': "🎮 === Patcher Avanzado para PEAK.exe ===",
  49. 'description': "Este programa modifica la memoria para stamina infinita y velocidad de movimiento",
  50. 'warning': "⚠️ ADVERTENCIA: Usa bajo tu propia responsabilidad",
  51. 'admin_note': "📝 Asegúrate de ejecutar como administrador"
  52. },
  53. 'success': {
  54. 'process_opened': "✅ Proceso {process_name} abierto exitosamente (PID: {pid})",
  55. 'patch_applied': "✅ ¡Parche aplicado exitosamente!",
  56. 'verification_successful': "✅ Verificación exitosa: El parche se aplicó correctamente",
  57. 'backup_saved': "💾 Copia de seguridad guardada en: {filename}",
  58. 'patching_completed': "\n🎉 ¡Patcheo completado exitosamente!",
  59. 'stamina_maintained': "💪 El stamina ahora debería mantenerse al 100%",
  60. 'speed_modified': "🏃 La velocidad de movimiento ha sido modificada"
  61. },
  62. 'error': {
  63. 'process_not_found': "❌ No se pudo encontrar el proceso {process_name}",
  64. 'process_not_opened': "❌ No se pudo abrir el proceso {process_name}",
  65. 'no_patterns_found': "❌ No se encontraron patrones",
  66. 'memory_read_failed': "❌ No se pudo leer la memoria original",
  67. 'patch_failed': "❌ Error al aplicar el patch",
  68. 'verification_failed': "❌ Error en la verificación - El patch no se aplicó correctamente",
  69. 'operation_cancelled': "❌ Operación cancelada por el usuario",
  70. 'patching_failed': "\n❌ El patcheo falló",
  71. 'patching_error': "\n💥 Error durante el patcheo: {error}",
  72. 'user_interrupted': "\n\n⏹️ Operación interrumpida por el usuario",
  73. 'unexpected_error': "\n💥 Error inesperado: {error}"
  74. },
  75. 'info': {
  76. 'searching_patterns': "🔍 Buscando patrones en {region_count} regiones de memoria...",
  77. 'pattern_found': " ✅ {pattern_name} encontrado en: 0x{address:X}",
  78. 'using_address': "\n🎯 Usando dirección: 0x{address:X}",
  79. 'searching_stamina': "\n🔍 Buscando patrones de stamina...",
  80. 'searching_speed': "\n🔍 Buscando patrones de velocidad...",
  81. 'original_code': "\n📖 Código original:",
  82. 'patch_to_apply': "\n🔧 Patch a aplicar:",
  83. 'applying_patch': "\n✍️ Aplicando patch...",
  84. 'starting_patch_process': "\n🎮 Iniciando proceso de patcheo...",
  85. 'goodbye': "\n👋 ¡Hasta luego!"
  86. }
  87. }
  88. # Configuración de logging (para futuras mejoras)
  89. LOGGING_CONFIG = {
  90. 'enabled': False,
  91. 'level': 'INFO',
  92. 'format': '%(asctime)s - %(name)s - %(levelname)s - %(message)s',
  93. 'filename': 'patcher.log'
  94. }