2010-06-04 15 views

Respuesta

2

Es posible memoria del proceso de lectura en Windows. Hay una función, llamada ReadProcessMemory en kernel32.dll: http://msdn.microsoft.com/en-us/library/ms680553(v=VS.85).aspx

Esto es utilizado por la mayoría de las aplicaciones que cambian la memoria de otras aplicaciones. También se puede usar para comunicarse entre dos procesos (aunque en general no se recomienda).

CheatEngine es un depurador con una interfaz no tradicional.

0

Simplemente para dar una explicación simple y llana - volcar/buscar en caliente la memoria de proceso para el valor especificado y modificarlo. Puede hacerlo usando algunas funciones simples WinAPI o usando algunas rutinas API(supongo).

Esa es obviamente la razón por la que fallan, por ejemplo, si el estado del juego se almacena con algún cifrado. Esa también es la razón por la que necesitaría cambiar su valor varias veces y luego hacer su búsqueda nuevamente (para evitar colisiones de búsqueda, porque definitivamente los bloques de memoria diferentes podrían tener el mismo valor).

+1

Obviamente tampoco funcionan en situaciones en las que el valor visualizado no es igual al valor almacenado en la memoria, es decir, se visualiza 'x + 1' donde' x' se almacena en la memoria. Una búsqueda de 'x + 1' no arrojará la ubicación de' x'. Otros métodos de encriptación usan tipos de datos personalizados, como enteros de longitud variable, ordenamiento de bytes diferente, almacenamiento invertido XOR (XOR con '0xFFFF'), etc. – Pindatjuh

Cuestiones relacionadas