Ir al contenido

Cheat Engine

De Wikipedia, la enciclopedia libre
Esta es una versión antigua de esta página, editada a las 21:56 13 ago 2014 por 186.86.202.148 (discusión). La dirección URL es un enlace permanente a esta versión, que puede ser diferente de la versión actual.
Cheat Engine
Logo de CE
Logo de CE
8.6 MB (Comprimido)
Información general
Tipo de programa Depuradores / Editores de memoria
Autor Dark Byte
Desarrollador Código abierto
Licencia Código abierto
Idiomas

Ingles, Ruso, Portugés,

Chino Tradicional
Información técnica
Programado en Delphi
Plataformas admitidas X64 y X86
Versiones
Última versión estable Cheat Engine 6.4 ( 19 de junio de 2014 (10 años, 1 mes y 3 días))
Historial de versiones 5.3, 5.5, 5.6, 6.0, 6.1, 6.2, 6.3, 6.4.
Archivos legibles
  • Cheat Engine Cheat Table (XML)
  • Cheat Engine Cheat Table
Archivos editables
  • Cheat Engine Cheat Table (XML)
  • Cheat Engine Cheat Table
Enlaces

Cheat Engine, comúnmente abreviado como CE, es un software de escáner de memoria de software libre / Editor hexadecimal / Depurador creado por Eric Heijnen ("Dark Byte"), para el sistema operativo Windows.[1]​ CE tiene cierto parecido, en cuanto a funciones se refiere, con L. Spiro 's "Memory Hacking Software", tsearch, y ArtMoney. Cheat Engine se utiliza para escanear la memoria de algún programa con la finalidad de encontrar y por lo general, modificar un valor de interés en el mismo.

Es usado en la mayoría de los casos, para obtener ventajas en juegos de vídeo, es ilegal su uso en la mayoría de los juegos en línea y aunque tiene la posibilidad de acceder al código interno de cualquier programa en ejecución (O no), las licencias de muchos programas propietarios impiden este tipo de actividades, como su desensamblado e ingeniería inversa, por lo que su uso en el ámbito legal debe limitarse a propósitos que no estén en contra de cualquier cláusula expresada en la licencia del programa objetivo.

Características y funciones

Cheat Engine también puede crear Trainers, que tienen un cierto nivel de independencia y tienen la facultad de modificar por si solos la memoria de un programa en específico sin tener que buscar nuevas direcciones en cada momento. Importante es aclarar que además de la modificación de valores concretos en posiciones estáticas de memoria, Cheat Engine permite la edición del código ensamblador que compone al programa, permitiéndole al usuario cambiar también el comportamiento del programa objetivo en un momento dado.

CE tiene una gran flexibilidad en la gestión de la memoria de un proceso, no obstante, sus funciones más destacadas son las siguientes:

  • Búsqueda de valores desconocidos, código ASM y demás datos.
  • Búsqueda automática de punteros a direcciones dinámicas
  • Reconocimiento de más de 8 tipos de datos diferentes
  • Sofisticado sistema de búsqueda
  • Interfaz intuitiva y ordenada
  • Desensamblado de la sección de código
  • Ensamblado de nuevas líneas en memoria (No en disco)
  • API Hooking
  • Inyección de DLL's
  • Gestión del sistema Direct2D y Direct3D
  • Inyección de código ASM
  • Creación de tablas y trainers para guardar resultados
  • Depuración del programa con gran variedad de opciones
  • Mapa de caracteres, subprocesos, rutinas, hilos y llamadas
  • Seguimiento de los registros y el stack del programa depurado
  • Herramientas a nivel de Kernel en sistemas con soporte DVBM
  • Soporte para plugins que añaden mayores funciones a CE

Plugins

Cheat Engine permite al usuario, si es desarrollador, añadir funciones adicionales al programa mediante el uso de un sofisticado sistema de plugins o "AddOns", esto consiste en una biblioteca de enlace dinámico que exporta tres funciones:

  • GetVersion: Es llamada cuando la biblioteca es cargara por primera vez. Su prototipo es:
BOOL GetVersion(
PPluginVersion pv,              //Pointer a la estructura de datos
int sizeofpluginversion         //Tamaño del plugin
);


  • DisablePlugin: Es llamada el momento de cerrar Cheat Engine o al momento de deshabilitar el plugin en los ajustes del programa. Su prototipo es:
BOOL DisablePlugin(void);


  • InitializePlugin: Es llamada cuando Cheat Engine se inicia, es el cuerpo, o el inicio del plugin. Su prototipo es:
BOOL InitializePlugin(
PExportedFunctions ef,
int pluginid
);

Los plugins pueden estar codificados en cualquier lenguaje que permita la compilación de bibliotecas de enlace dinámico nativas para Win32. Los lenguajes más usados para ello son C/C++ y Delphi.

Modo Kernel

Es usado por CE para llamar a funciones alternativas en privilegios de Kernel (Wing 0) y permite al usuario avanzado eludir técnicas Anti-Debugging mediante el uso de "Hardware Breakpoints" y anulación de cualquier API de Windows que impida a Cheat Engine realizar su trabajo con normalidad. Es una característica no esencial, y mucho menos frecuente, pero que sin embargo tiene una potencia increíble y es menester mencionarla en un espacio aparte.

El motor de este sistema es un pequeño archivo (dbk32.sys) ubicado en el directorio principal de Cheat Engine. Es un driver y es la única parte del programa que no está escrita en Delphi. Por las limitaciones de este lenguaje para trabajar en el desarrollo de drivers, se usó lenguaje C para su creación, con el soporte de Windows Driver development kit.

Referencias

Enlaces externos