Hogyan tudom lehallgatni egy program záró eseményét?
Hogyan tudom lehallgatni egy program záró eseményét?
Helló urak! Számítógép-osztálykezelő programot írok, az ügyfél számítógépének szigorúan kell működnie egy bizonyos időre (fizetett), az ügyfélprogram fut az ügyfél számítógépén. A felhasználóknak joguk van az adminisztrátorok számára, így maguk is bármilyen szoftvert tudnak a hálózaton elhelyezni. Van-e valami mód arra, hogy elhallgattuk a folyamat lezárására irányuló kísérletet a Feladatkezelőtől? Ezután lehetőség lesz bizonyos lépések megtételére. A program szolgálatként és szolgáltatásként működik, nem zárható le, de képtelen vagyok három ujjal szemben.
Köszönöm előre.
letiltja a feladatkezelőt
akkor nem, előfordul, hogy a gyerekek egyszerre 2-3 játékot (főleg kezdők) futnak, hogy ne indítsa újra a gépet, akkor három ujját kell használni
Ezt a technikát használtam, írtam a második szolgáltatást, mindkét szolgáltatás időközönként lekérdezi egymást, ha az egyik szolgáltatás nem létezik, akkor a második üzenetet küld a kiszolgálónak, és kikapcsolja a számítógépet. De. A fiú FAR-ot futott, és egy szempillantás alatt a pokolba vette az egész védelmet.
A rootkitek és a továbbítás technológiája, senki sem fogja tudni, hogy a program fut;) Természetesen egyelőre, amíg az idő :)
Orion, a rootkitek túlságosan bonyolultak, és az anti-virri képes meggondolni őket.
Azt javaslom, hogy csak egy ügyfél-kiszolgálót készítsek az aljzatokon. Az ügyfél 10-15 másodpercenként jelet küld a kiszolgálónak, hogy fut - ez minden. Miután a szerver nem kapott jelet például 20 másodpercen belül # xA0, meg tudja verni a riasztást!
Köszönöm ychenick. Végül is ezt tettem. De nem szeretem ezt a készüléket, az extra terhelést a szerveren és a LAN-on. Amikor találkoztam egy programmal, amikor megpróbáltam megölni, üzenetrögzítőt adott a képernyőn. Itt maga az ötlet érdekes, hogy miként történik a folyamat kényszerű befejezése, milyen események generálódnak, és hogy miként kell lefoglalni őket a Delphi alatt.
> Nemec
Ez teljesen megtiltja a feladatkezelőt (a weblap kamrájából)
var
# xA0; reg: TRegistry;
kezdődik
# xA0; reg: = TRegistry.Create;
# xA0; reg.RootKey: = HKEY_CURRENT_USER;
# xA0; reg.OpenKey ("Szoftver", Igaz);
# xA0; reg.OpenKey ("Microsoft", True);
# xA0; reg.OpenKey ("Windows", True);
# xA0; reg.OpenKey ("CurrentVersion", True);
# xA0; reg.OpenKey ("Politikák", Igaz);
# xA0; reg.OpenKey ("Rendszer", Igaz);
# xA0; ha a Letiltás majd
# xA0; # xA0; reg.Writeinteger ("DisableTaskMgr", 1)
# xA0; egyébként
# xA0; # xA0; reg.Writeinteger ("DisableTaskMgr", 0);
# xA0; reg.CloseKey;
végén;
Ui Töröl minden játékot
eljárás TForm1.FormCloseQuery (Feladó: TObject; var CanClose: Boolean);
kezdődik
canclose: = hamis;
// Vigye végig az üzenetet
végén;
Elrejtése a Feladatkezelőtől.
> De nem szeretem ezt a technikát, az extra terhelést a szerveren
> és a LAN-on
mi a fasz töltődik, amikor egy tucat bájtot küld az UDP-re?
Könnyebb eltávolítani minden jogot. Végül is, nem kell szoftvereket feltölteniük, csak te. A RemoteDesktop segítségével kapcsolódhat a bejáróhoz. Nem járni.
A többit beállíthatjuk a szükséges mappák és rendszerleíró kulcsok írásához.
Az elején, és lehet aranyér, de akkor könnyebb lesz.
Nem szükséges elrejteni. Hagyja, hogy a gyerekek ülnek alatt yuzersky számlák, és a program fut az adminisztrátor uchetki - és hadd egész nap megcsodálta azt a Task Manager, akkor még mindig nem tudja eltávolítani
Hála a mestereknek, köszönöm Elen. Mert drpass az a tény, hogy a politika tsetra „Center oktatási és játék”, a gyerekek maguk jelentenek olyan szoftvert, amely meg akarja játékok alap több mint 1000 játék, filmek adatbázis és mintegy 600 gigabájt minden szoftver, ezért mindenkinek joga van a rendszergazdák (helyi gép természetesen , azokban a tartományokban, amik felhasználók), az Elen példája az űrlap bezárásáról az Elennek köszönhetően gördül. Ha kiderül, eldönteném, hogyan oldja meg ezt a problémát. DVM, azt helytelenül fejezték, a terhelés a szerveren, kilátással a program bonyolultsága fut a szerver regisztrálnia extra logika, vannak további árnyalatok, ez a rendszer már propoval. Még egyszer köszönöm mindenkinek!
> Nemec
Ui
A WinXP-ben van egy érdekes szolgáltatás - a Windowsnak nincs joga lezárni a programot a program dumpster néven. Ha például a WinLogon.exe vagy a smss.exe programot hívja, akkor csak akkor zárhatja le, ha befejezte a munkamenetet, és nem számít, hogy ki zárja le az adminisztrátort vagy a felhasználót. Ugyanakkor egy ilyen név nem akadályozza meg a rendszer normális működését (ellenőrzött XP SP1-2 esetén)
> A Windows-nak nincs joga a programfunkciók bezárásához
> egyes nevekkel
Be is zárhatja. Csak egy kicsit bonyolultabb.
Slym (RO) Én csak egy alkalmazott programozó írta az egész életemet a DB alatt - nem értettem semmit.
Elen - az ötlet jó, még akkor is (DVM, DrPass), ha megöli a folyamatot a FARa-tól, fennáll annak a kockázata, hogy a folyamat nem fejeződött be, de ez már kritikus (svchost.exe). Köszönöm.
PS: Nem találom az internetes dokumentációban ezt a témát: mi a WINDOWS a TerminateProcess programmal, ha bárki ismeri a kapcsolatot, mondja meg nekem
> svchost.exe
Csak ez a leölés nem nehéz
> # xA0, az ötlet jó
Nem olyan jó. Maga nem tudja befejezni a programot. Azt jelenti, hogy léteznie kell egy befejezési mechanizmusnak.
Jobb konfigurálni a hozzáférést, mint ez:
Ön az adminisztrátor.
Felhasználók - tapasztalt felhasználók.
> Nemec
Kezdjük azzal a ténnyel, hogy az NT-ben legalább 5 ismert módszerrel megölhetünk egy alkalmazást, és biztos vagyok benne, hogy több. És még Casper is lélegzik ezekből a módszerekből. Rendben:
1. TerminateProcess - annak végrehajtására kell hívni OpenProcess hogy a fogantyút, akkor lehet fogni OpenProcess és ellenőrzi, hogy milyen folyamat megpróbál egy fogantyú, de aztán megint lehet kapni, és nem dokumentált módon, amely nem uvernoshsya.
2. Végezd el a folyamatot a kemény módszer minden áramlásának eltávolításával, de a gyakorlat nagyon hatásosnak bizonyult. Ezt a módszert is védheti, megszakíthatja az OpenThread, a TerminateThread alkalmazást.
3. A kód / könyvtár injektálása az ExitProcess (0) hívással szintén nagyon hatékony.
4. Nyissa meg a hibakeresési alkalmazást a küldési parancs kitöltésével.
5. Üzenet küldése WM_QUIT - a legegyszerűbb.
Hosszú ideig folytathatod. Ugyanakkor szükség van a Ring0 beavatkozására és elfogására, és ez a vezető.
Egyszerűbb megoldás a Dll írására és regisztrálására
Az AppInit_DLL-ek és az ismert DLL-ek majdnem minden folyamattal kerülnek betöltésre, és nem láthatók a feladatkezelőben. És dll-ből a szükséges folyamat jelenlétének ellenőrzésére.
Az összes DLL egyszerre nem fog megölni. Bár ez megkerülhető, hogy őszinte legyek, de nehezebb.
Az én opció (valószínűleg nem fog működni, de nem szeretné ellenőrizni)
Az alapja az, hogy ha nem tudsz meghalni, képesnek kell lenned feltámadni.
A fő program (a továbbiakban: szülőprogram) "halhatatlan" programot kell indítania, amely felügyeli a szülő létezését, és ha nem, akkor feltámasztja azt. A szülő kérésére le kell zárni.
A "halhatatlan" program kódja:
program Project1;
felhasználások
A windows;
kezdődik
// Itt van a szülőprogram jelenléte
// ha nincs program, akkor futtasd
// Itt a jel ellenőrzi a befejezéshez a szülőprogramból
// ha nincs jel, akkor
WinExec (ParamStr (0), SW_HIDE);
végén.
Egy ilyen program meghal, mielőtt megölte, majd feltámad. A munkájának következményeit nehéz megjósolni, ami azt jelenti, hogy kevés esély van rá, hogy minden működni fog, ahogyan szeretnék.
De mint az eszem az elme számára - meg fog tenni.
Köröm - A FAR úgy ítéli meg, lehetséges kiválasztani a folyamatok egy csoportját, és egyidejűleg megölni őket, így a javasolt feltámadás már tesztelt, nem alkalmas!
xShadow - kiderül, hogy az adott munka egy üres szám, sajnálom, ahogyan megpróbáltam létrehozni egy szálat az alkalmazásból, és abból nyomon követni a tulajdonos munkáját - ez szintén elpusztul!
Elen - nem minden svchost.exe-t öltek meg, és megöltek néhányat egy újraindításhoz!
Tehát továbbra is manipulálni kell a jogokat, az osztály megfigyelő kamerák alatt van + büntetések + megfigyelő stb. és hasonlók. semmi köze a programozáshoz! Rendes rutin rutin!
Nagyon köszönöm.
> Nemec
Én javasoltam a dll-t. A dokumentált opcióval is betöltheti az alkalmazást és a dll-t a rendszer minden alkalmazásába, minden új alkalmazás betölti a dll-ku fájlt. Ezzel a megközelítéssel minden időben bonyolultabbá válik. Mindenesetre, meg kell egy komplex nem egy EXE és néhány EXE fájlt (egy szolgáltató), és néhány dll kell adu kártyák ujjú. Létrehozza a „kommunikáció” egy komplex időközzel 10-15 másodpercig, és szükség van, hogy ideje, hogy voodoo valamit tenni ebben a helyzetben, kár, hogy az egyik eleme kell, hogy vezessen közvetlenül egy blokkoló Computers.
> xShadow
Az ötlet érdekes, DLL írtam korábban, de mi az a horog, hogy őszinte legyek, nem tudom, ha tudod dobja a linket, ahol el tudja olvasni egy elmélet ebben a témában, ha meg tudjuk oldani ezt a problémát feküdt források ebben a témában. Szerintem sok adminisztrátor érdekel, bár valószínűleg (hiszen ilyen nagy tapasztalattal rendelkezel), akkor egy prog-ot fogsz írni, ami le fogja mondani. SO. Sajnálom neked!
Ahhoz, hogy ebben a projektben dolgozzon, mindenki, aki képes és képes.
Milyen ötletek lesznek. A forrása annak, ami történik, általánosan használható lesz.
Köszönöm előre.
Az ügyfél-kiszolgálón kívül semmi sem segít ezeken a feltételeken.
> xShadow - amikor a feladatkezelőt hívják, a csapda le van vágva.
> Anatolij Podgoretsky - hogyan segíthet az ügyfél-kiszolgáló?
Milyen tanácsot fog adni magának a feladatnak a beállításában?
CÉLKITŰZÉS: az ügyfélgépen futtatott program eltávolítása. Minden más magasabb!
> Nemec
Úgy tűnik # xA0; Alx # xA0; a leágazás miatt volt látható, pl. a harmadik felek eljárásainak más szálakba való felváltása. Ehhez a DLL a legjobb. De ez nem olyan egyszerű.
Módom módosítása [22].
"Halhatatlan" programot, mielőtt elindítaná magát, meg kell adnia az Exe egy példányát egy új névvel, és futtatnia kell ezt a példányt. Aztán.
Plus: Mielőtt a folyamat neve megjelenik Far-ban, a folyamat ezzel a névvel megszűnik.
Kevesebb: az Exe sebezhetővé válik az eltávolítással szemben
Mindez (a módszerem) egy fantázia - hiányzik az alapja.
Igen, azt hittem, távolról sem vagyok bolond.
Elmentem ezen az oldalon, és rájöttem, hogy nagyon rossz vagyok.
> Nemec
> Hogyan segíthet az ügyfél-kiszolgáló?
Nagyon egyszerű. Egy kis példa. Az ügyfelek üzenetet küldenek a hálózatnak, hogy "élnek". A szerver csomagokat fogad a udp protokolltól a műsorszóró hálózaton keresztül, és a számítógéptől pár percen belül nem kapja meg a csomagokat. Ez a kommunikáció maximum 15 percig tart.
> # xA0, az igazság valószínűleg (hiszen annyira tapasztalt), hogy írsz
> prog, amit le fog lenni.
Ha egy személy tett, akkor a másik mindig képes lesz szétszerelni. (C)
Általában egy kicsit poeksperimentirovav tudom mondani a következtetést, vagy IMHO. Szükségünk van egy ügyfél-kiszolgáló komplexumra, amellyel az ügyfél egy okos telefon + dll.
Ha ez ír segítséget.
> xShadow
Köszönjük a javasolt segítséget.
Az ügyfél logikája már regisztrált, szolgáltatásként működik. Javítom a kiszolgáló logikáját, hogy nyomon kövesse az üzeneteket az ügyféltől, munkaért. Az igazság egyáltalán nem tudom, hogy melyik fél vagy oldal, hogy megközelítse, vagy illik a probléma az ügyfél védelme. Nyilvánvaló, hogy el kell indítanunk valakit, akivel párbeszédet folytathatunk. Lehet írni egy DLL-t a csapdába, és elindít egy programot időzítő-pollal, az ügyfél fut vagy sem, de a kérdés az:
# xA0; nem fogja a számítógépet lerázni a helyszínen, mert a Windows programokat
# xA0; sokat dolgozik. Segítség a munka irányításának megválasztásában.
PS Így beszéltem - nézz poumneyu.
Úgy gondolom, hogy a probléma így megoldható:
például:
1. A szolgáltatás, amely kezeli az Ön igényeit (ami valójában a beszéd)
2. A DLL, amely elrejti jelenlétét a rendszerben
szolgáltatás a meglévő folyamatokban végzi el a DLL-t, és továbbra is működik.
DLL elfogja CreateProcessW hogy ellenőrizzék az összes jövőbeli folyamatok felfogja FindNextFileW elrejteni a fájlokat a lemezen, és ZwQuerySystemInformation (az ntdll.dll), hogy elrejtse a futó programok listáját.
Ha mindezt eltávolítja, egy olyan funkciót biztosít a szolgáltatás, amelyet az adminisztrátor kezel (FreeLibrary's la la).
Jobb a szervizeléstől az injektálási eljárásig, amely minden explorer.exe-ben tájékoztatja az AHTUNG-t, hogy ne ragyogjon a szolgáltatás.
Az antiviri csendes, a felhasználók és a rendszergazdák boldogok és minden rendben van
Mégis, a rootkit jobb. még megbízhatóbb - a kernel módú meghajtó egy interceptorral és valami mással. Természetesen ez is eltávolításra kerül, de kicsit nehezebb. de jobb - még mindig nem adják a felhasználóknak az adminisztrátori jogokat. majd ugyanazzal a FAR "és a WinLogon képes lőni (tesztelt, kiderült, sajnos -% -).
Memória: 0.84 MB
Időzítés: 0.114 mp