Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Por qué los resultados de la depuración de VC son diferentes de la depuración generada cuando se ejecuta el archivo .EXE?

¿Por qué los resultados de la depuración de VC son diferentes de la depuración generada cuando se ejecuta el archivo .EXE?

Durante la depuración, encontrará que después de que su OpenProcess falla, solo algunos procesos se pueden abrir con éxito, pero la depuración puede abrir con éxito la mayoría de los procesos, por lo que se puede juzgar que es un problema de permisos. Sí, los procesos también tienen permisos e inyección remota. Los ganchos también encontrarán este problema. Además del problema de permisos insuficientes, cuando llegue el proceso abierto, es posible que también sea necesario mejorarlo.

BOOL MejorarPriv()

{

HANDLE hToken;

if(!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, y hToken ))

{

return FALSE

}

{

BOOL MejorarPriv()

{

MANEJAR hToken;

if(!

TOKEN_PRIVILEGES tkp;

tkp.PrivilegeCount = 1; p>

// Busque el LUID correspondiente al permiso especificado

if (!LookupPrivilegeValue(NULL, SE_DEBUG_NAME, amp; tkp.Privileges[0].Luid))

{

return FALSE;

}

tkp.Privileges[0]..Attributes = SE_PRIVILEGE_ENABLED

//adjustTokenPrivileges;

if(!AdjustTokenPrivileges(hToken, FALSE, amp; tkp, 0, NULL, NULL)).

{

return FALSE;

}

CloseHandle(hToken);

return TRUE;

}

Copie el código delante de GetProcess y agregue. a GetProcess ImprovementPriv ();

Compile, luego vaya al exe de depuración y ejecútelo directamente para ver si es el mismo que durante la depuración

.