2010-06-04 20 views

risposta

2

E 'possibile lettura memoria di processo su Windows. Esiste una funzione, denominata ReadProcessMemory in kernel32.dll: http://msdn.microsoft.com/en-us/library/ms680553(v=VS.85).aspx

Questo è utilizzato dalla maggior parte delle applicazioni che cambiano la memoria di altre applicazioni. Può anche essere usato per comunicare tra due processi (sebbene per lo più non raccomandato).

CheatEngine è un debugger con un'interfaccia non tradizionale.

0

Solo per dare una semplice spiegazione - dump/hot search la memoria di processo per il valore specificato e modificarlo. È possibile farlo utilizzando alcune semplici funzioni WinAPI o utilizzando alcune API native routine (suppongo di sì).

Questo è ovviamente il motivo per cui non riescono, ad esempio, se lo stato del gioco è memorizzato con un po 'di crittografia. Questo è anche il motivo per cui dovresti cambiare il tuo valore più volte e quindi ripetere la ricerca (per evitare collisioni di ricerca, perché blocchi di memoria sicuramente diversi potrebbero contenere lo stesso valore).

+1

Ovviamente non funzionano anche in situazioni in cui il valore visualizzato non è uguale al valore memorizzato in memoria, cioè 'x + 1' viene visualizzato dove' x' è memorizzato. Una ricerca per 'x + 1' non darà la posizione di' x'. Altri metodi di crittografia utilizzano tipi di dati personalizzati, come interi a lunghezza variabile, ordinamento di byte diverso, archiviazione con inversione XOR (XOR con '0xFFFF'), ecc. – Pindatjuh

Problemi correlati