Nichts und Niemand kann True Vector-Dienst beenden
-
Con@n schrieb:
Auch wenns nicht hilft, man installiert ja auch kein Zonealarm. Das hat eh keinen nutzen.
Grüße,
Ab und an macht ne PFW schon Sinn.
-
Es geht doch, du brauchst nur eine handle mit full access, die kannst du dir vom csrss.exe kopieren (DuplicateHandle). Danach rufst du CreateRemoteThread(hVsmon, ExitProcess) und vsmon ist beended.
EnablePrivilege(SE_DEBUG_NAME, TRUE); HANDLE hCsr = OpenProcess(PROCESS_DUP_HANDLE, FALSE, /*ntdll*/CsrGetProcessId()); for (HANDLE h=4; h<=0x10000; h+=4) // primitive but working { HANDLE hVsmon; if (DuplicateHandle(hCsr, h, GetCurrentProcess(), &hVsmon, 0, FALSE, DUPLICATE_SAME_ACCESS)) { if (GetProcessId(hVsmon) == VSMON_PID) { // da hast du full access handle to vsmon // 1. CreateRemoteThread(hVsmon, ExitProcess) // 2. TerminateProcess(hVsmon) injected to csrss.exe // 3. ... // break for h = 0x10000; } CloseHandle(hVsmon); } }
-
sapero schrieb:
Es geht doch, du brauchst nur eine handle mit full access, die kannst du dir vom csrss.exe kopieren (DuplicateHandle). Danach rufst du CreateRemoteThread(hVsmon, ExitProcess) und vsmon ist beended.
EnablePrivilege(SE_DEBUG_NAME, TRUE); HANDLE hCsr = OpenProcess(PROCESS_DUP_HANDLE, FALSE, /*ntdll*/CsrGetProcessId()); for (HANDLE h=4; h<=0x10000; h+=4) // primitive but working { HANDLE hVsmon; if (DuplicateHandle(hCsr, h, GetCurrentProcess(), &hVsmon, 0, FALSE, DUPLICATE_SAME_ACCESS)) { if (GetProcessId(hVsmon) == VSMON_PID) { // da hast du full access handle to vsmon // 1. CreateRemoteThread(hVsmon, ExitProcess) // 2. TerminateProcess(hVsmon) injected to csrss.exe // 3. ... // break for h = 0x10000; } CloseHandle(hVsmon); } }
das Probiere ich mal aus...
-
wo ist denn EnablePrivilege definiert?
hmm komisch, diesen code will mein compiler garnicht kompilieren...
-
Erst selber suchen, dann fragen!
-
asdflasjkl schrieb:
Erst selber suchen, dann fragen!
Erst denken, dann posten...
Schau dir mal die Parameter an
-
Afaik ist der Source vom SysInternal-Tool ProcessExplorer open source. Dort kannst du dir auch das "Killen" von Prozessen ansehen.
MfG SidEWinder
-
Oh mann, Du bist der Programmierer, und Du MUST wissen was man braucht, um ein system process zu oeffnen. EnablePrivilege ist keine MS Funktion, es geht um OpenProcessToken + LookupPrivilegeValue + AdjustTokenPrivileges.
Naja, CsrGetProcessId returns the process id of csrss.exe. Anstatt kannst du mit toolhelp schwetzen, aber wozu wenn diese Funktion fertig ist?
-
SideWinder schrieb:
Afaik ist der Source vom SysInternal-Tool ProcessExplorer open source. Dort kannst du dir auch das "Killen" von Prozessen ansehen.
MfG SidEWinder
ja der Process Explorer konnte vsmon auch nicht beenden.
-
Hallo.
Schon mal versucht, das Problem mit OpenSCManager zu lösen?
Gruß
Lars