Prevent endtask the application
-
I want to build an application which is determine the time a customer use a computer (a netcafe' software, like that). But a customer can easily endtask my application with TaskManager. Is there a way to prevent the app ended by the user ( the user may be log on admin acc) ? I know many program cant be endtask (and the most is viruses ~.~), but I dunno the tech. This is not just prevent user open TaskManager.How I solve this problem ? Tnx all. -- modified at 22:09 Friday 13th January, 2006
-
I want to build an application which is determine the time a customer use a computer (a netcafe' software, like that). But a customer can easily endtask my application with TaskManager. Is there a way to prevent the app ended by the user ( the user may be log on admin acc) ? I know many program cant be endtask (and the most is viruses ~.~), but I dunno the tech. This is not just prevent user open TaskManager.How I solve this problem ? Tnx all. -- modified at 22:09 Friday 13th January, 2006
The best way would be not to get tricky and simply use the normal security architecture - ie. Not let the user log on as an administrator and set up permissions so they can't kill stuff. If, for some reason, this isn't feasible, it is possible but beyond most programmers (including me). Check out this - Read the bit under the "Kernel-mode Rootkits" heading. This would have to be done in kernel mode which is nothing like user mode programming and where mistakes are fatal. After going to all this trouble you might find that virus scanners and other tools think your app is a virus or rootkit. Steve
-
I want to build an application which is determine the time a customer use a computer (a netcafe' software, like that). But a customer can easily endtask my application with TaskManager. Is there a way to prevent the app ended by the user ( the user may be log on admin acc) ? I know many program cant be endtask (and the most is viruses ~.~), but I dunno the tech. This is not just prevent user open TaskManager.How I solve this problem ? Tnx all. -- modified at 22:09 Friday 13th January, 2006
a technique i have used is to run two processes -- let's say your app is tracker.exe, i would use tracker.exe and tracker_helper.exe. basically in both apps, use the WaitForSingleObject function, to wait for the other's process handle. if it is killed, just respawn the other process again. of course this will be conspiciouos, if you want to stop people from seeing that you are doing this, maybe use srvtasks.exe or something kernel-sounding for the second one and put it in a system folder. (possibly ????) still, if the user knew what they were doing, they could write an app to kill both processes simultaneously. if you don't want that, you can probably write a security descriptor for you main process and apply it somehow (sorry, can't help you there). if you have norton antivirus you can try to kill navapscv.exe and see what i mean. hope that helps