Red de conocimiento informático - Aprendizaje de código fuente - Escritura en lenguaje simple (escribir en la memoria)

Escritura en lenguaje simple (escribir en la memoria)

Si no utilizas módulos, deberás utilizar funciones API. Si quiero escribir en la memoria de otro programa, ¿tengo que obtener primero el PID del proceso y luego usar la función OpenProcess para obtener el ID del proceso? Luego usa WriteProcessMemory para escribir en él, asumiendo que tienes la dirección de memoria en la que deseas escribir.

Como ejemplo, esto es lo que hice en el mod Sunshine de Plants vs. Zombies (yo también soy principiante). , así que no te rías)

. Versión 2

.Variable local Variable intermedia, número entero

.Variable local q, número entero

. Dirección de variable local1, entero

.Dirección de variable local2, entero

.Dirección de variable local, entero

Variable intermedia = a entero (editbox1.content)

p>

Handle_external = _OpenProcess (2035711, false, pid1)

readProcessMemory (handle_external, 7836920, dirección1, 4, q)

readProcessMemory (handle_external, dirección1 + 2152, dirección2 , 4, q)

WriteProcessMemory entero (handle_external, dirección2 + 21880, variable intermedia, 4, q)

CloseHandle (handle_external)

OpenProcess arriba en otro subrutina? ¿No puedes copiar porque está demasiado lejos? readProcessMemory es para leer la dirección de memoria

Debido a que tiene dos niveles de desplazamiento, se debe leer primero. CloseHandle es para cerrar el identificador del proceso. Debe cerrarse después de su uso. La variable intermedia son los datos que se escribirán en la dirección.

¡Escríbelo manualmente!

Envíeme un correo electrónico si es necesario. Te daré el código fuente.