De la documentación de MSDN para OpenProcess
dwDesiredAccess [in]
The access to the process object. This access right is checked against
the security descriptor for the process. This parameter can be
one or more of the process access rights.
If the caller has enabled the SeDebugPrivilege privilege, the
requested access is granted regardless of the contents of the security
descriptor.
Y luego, si observa el acceso al proceso documentación de derechos verá que uno de los derechos de acceso que puede solicitar es PROCESS_VM_WRITE
, que se necesita para llamar a WriteProcessMemory
.
Nuevamente en la documentación de MSDN para CreateRemoteThread
Un uso común de esta función es inyectar un hilo en un proceso
que se está depurando para emitir un descanso. Sin embargo, este uso no es
Recomendado, porque el hilo extra es confuso para la persona.
depurando la aplicación y hay varios efectos secundarios al uso
esta técnica:
It converts single-threaded applications into multithreaded applications.
It changes the timing and memory layout of the process.
It results in a call to the entry point of each DLL in the process.
Otro uso común de esta función es inyectar un hilo en un
proceso para consultar montón u otra información de proceso. Esto puede causar la
mismos efectos secundarios mencionados en el párrafo anterior. También el
La aplicación puede bloquearse si el hilo intenta obtener la propiedad de
bloqueos que otro hilo está utilizando.
Aunque la documentación lo recomiende. La mayoría de las veces he visto CreateRemoteThread
utilizado en depuradores u otros tipos de aplicaciones de creación de perfiles / api.