[BCB/WinAPI]Zabezpieczanie aplikacji przed wyłączeniem

0

Witam
Poszukuje informacji nt. zablokowania wyłączenia aplikacji działającej pod kontrolą WinXP. Chodzi o to żeby nie można było jej zakończyć poprzez Menadżera zadań. Takie akcję można zobaczyć jeżeli korzysta się np. z Zone Alarm i próbuje zakończyć proces zlclient.exe. W wyniku takiego działania otrzymujemy komunikat odmowa dostępu. Żeby wszystko było jasne, nie piszę żądnego wirusa czy czegoś podobnego. Jest mi to potrzebne do wykonania projektu. Z góry dzięki za wszystkie sugestie oraz uwagi.

0

nie da się zablokować programu, przed wykopaniem z pamięci...
chyba, że proces ma priorytet systemowy...
inna opcja to stworzenie innego programu, który będzie sprawdzać, czy docelowy jest włączony i będzie go włączać, ten docelowy ma sprawdzać, czy ten sprawdzający jest włączony, jeżeli nie niech go włączy, jedynie wyłączenie dwóch jednocześnie może przynieść oczekiwany skutek, ale z poziomu menadżera zadań, wyłączenie dwóch procesów w ciągu sprawdzenia(ja bym dał co 10ms) jest raczej nie możliwe, ruch myszką jest dużo wolniejszy ;) szary użytkownik nic nie poradzi...

0

Na większośc osób to wystarczy chociaż mozna to bardzo łatwo obejśc:
A-program główny
B-program sprawdzający
Odpalasz debugger, podpinasz się pod A, zatrzymujesz go. W menadżerze zadań wyłączasz B i potem A. Gotowe, wyłączyłem oba :)

0

Zgadzam się z tym że jeżeli system będzie chciał go wyrzucić to nic nie zrobimy. Problem polega na tym że trzeba "przekonać" system żeby ten szczególny proces pozostawił w spokoju i nie próbował go usunąć. Co do tych dwóch programów to jest to całkiem dobry pomysł. Jeżeli nie dogadam się z systemem to na pewno to wykorzystam.

0

łatwiejszy sposób na zabicie

zrobić bata który dwa razy wywołuje taskkill
zadziałało u mnie =)

pomęcz CreateProcess z WinAPI, może znajdziesz tam sposób żeby ustawić to jako neizabijalny =)

0

nie da się usunąć zadań z pamięci, które są uruchomione na koncie systemowym. Jednak aby coś na tym koncie uruchomić musi to być usługa. Poza tym system może wywalić co chce i tego nie przeskoczysz. Ale system a user to co innego :)

//q: ciekawe, ja potrafie :)

0

Hm. Podobnego tematu szukałem, bo robiłem sobie blokade ekranu - taką jak jest w Linuksie, tylko na ms win. Moja blokada miała być na Fullscreen, także użycie 2 programów połączonych jest dobrym wyjściem, choć dobrze by było, by się nie dało uruchomić task managera ani innych aplikacji.

Także podepne się pod temat i zapytam:

  • Czy ten pomysł z programem sprawdzającym byłby OK Waszym zdaniem do blokady ekranu? No bo zakładamy, że użytkownik ani na sekunde nie może zobaczyć pulpitu (właściwie nawet na milisekunde) oraz wykonać innych akcji typu Win+E , Win+R, Ctrl+Alt+Delete, Alt+F4...
0

Bardzo skutecznym blokerem jest kombinacja CreateDesktop + SwitchDesktop i dopiero na tym nowym desktopie uruchomić właściwy program (nazwę desktopu podajemy w STARTUPINFO).

Hotkey taskmanagera działa nadal, z tym że taskmgr uruchamia się na poprzednim desktopie, więc nie widać go.

1 użytkowników online, w tym zalogowanych: 0, gości: 1