**What my program does (you don't need to program this):**
1) It unpacks the driver, and gives it a random name c:\windows\system32\[login to view URL]
2) It creates the following registry key
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<randomservicename>]
"ImagePath"= system32\[login to view URL]
"Start"=dword:00000000
"Type"=dword:00000001
"ErrorControl"=dword:00000001
"file"="c:\[login to view URL]"
"Group"="<randomgroupname>"
3) it add the <randomgroupname> to the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ServiceGroupOrder to make it start first
**What the kernel driver should do:**
1) read the file c:\[login to view URL]
This file contains a list of paths\filenames
for example
c:\windows\[login to view URL]
c:\[login to view URL]
2) delete these files
3) change the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ServiceGroupOrder key back to normal
4) uninstall the driver (from registry and delete from disk)