Elrejtése a folyamat Feladatkezelőben ablakok
Az anonimitás és titoktartás gyakran kulcsszerepet játszanak a sikeres végrehajtását bármilyen műveletet valóság és a virtuális, különösen operációs rendszerek. Ebben a cikkben fogunk összpontosítani, hogy hogyan lesz névtelen operációs rendszer Windows. Minden adat tájékoztató csak a hivatkozás célját.
Így megpróbáljuk elrejteni a szemében a felhasználó a Windows Feladatkezelő. A módszer, amellyel elérjük rendkívül egyszerű, mint amelyek alapján a lehallgatás nukleáris (gyakran nem dokumentált) funkciók és fejleszteni saját járművezetők.
A módszer lényege: a keresési ablak Feladatkezelő -> találni, hogy egy gyermek ablakot (lista), amely nevét az összes folyamat -> eltávolítását a lista a folyamatot.
Hogy használták a tanulmány:
Írni a kódot használja a Delphi környezetben. Inkább Delphi könnyebb lesz ebben az esetben, mint a C ++. De ez csak az én szerény véleményem.
Nos, először is megpróbálja kitalálni, hogy milyen folyamatok listáját, és hogyan működik. A poluvzora világos, hogy ez egy normál osztályban «SysListView32» ablak (lista), amely frissített gyakorisággal 2 képkocka másodpercenként (minden 0,5 másodpercben). Élvezi a hierarchia ablakok:
Mint látható, a lista a folyamatok, sőt, általában van egy osztály „SysListView32” ablak, amely egy gyermek az ablak (fül) „Folyamatok”, amely szintén egy leányvállalata a fő ablak a Task Manager. Van egy dupla réteg fészkel. Szintén a listán, van egy gyermek osztály «SysHeader32» ablak, ami nem nehéz kitalálni tart (nem marker) a folyamatok listájában.
Mivel állunk szemben a szokásos listán, akkor a rendelkezésünkre áll egy sor makrók, hogy ellenőrizzék annak tartalmát. Az a fajta, első pillantásra, lenyűgözi. De sokan a munka csak a szülő folyamat, vagyis, hogy használja őket, hogy nekünk, szükség lesz szimulálni, mintha ezek futnak a szülő folyamat. De egy ilyen tulajdonság nem rendelkezett valamennyi, különösen a makro ListView_DeleteItem. amely eltávolítja az elemet a listából ( «SysListView32» osztály).
Her fogjuk használni a honlapunkon. Ez a funkció lesz a második paraméter index az elem eltávolításához.
Most valahogy kitalálni, hogy a kijelző egy elemet a címkén, hogy elrejtse folyamatok a feladatkezelő. Ehhez meg kell valahogy kijutni a folyamatok listáját a feladatkezelőben valamennyi elemét (a címkéket a nevét a folyamatok), majd összehasonlítani őket a nevét a folyamat, hogy szeretnénk rejteni.
Makrók segítségével ilyen ListView_GetItemText tetteink lenne nagyjából a következő:
1) Memóriakiosztási területen során feladatkezelő (VirtualAllocEx)
2) Készítsen egy listát a gyermek ablak, Task Manager üzenetét LVM_GETITEMTEXT (SendMessage)
3) A kamera kiválasztása memória Task Manager információs elem lista (WriteProcessMemory)
4) olvasása a memória vezérlő az információ, hogy mi érdekli a folyamatban (ReadProcessMemory)
Ezzel a módszerrel, akkor könnyen „lőni magát a láb”, figyelembe véve a bájt offset elejétől a kódot használják a különböző struktúrák. Így ez a módszer lenne elég nehéz azok számára, akik nem különösebben elmélyült WinAPI, ezért azonnal vegye ki az egyik oldalon. Más ügyekben, a végrehajtás e módszert találni terek az internet nem lesz nehéz. Ehelyett azt javasoljuk, hogy hozzon létre saját folyamatok listáját, és már vezetett, keresse meg az áhított folyamat az index a folyamatok listájában, a Task Manager.
A Microsoft úgy döntött, nem különösen párolt a szerszámokkal, az úgynevezett „Task Manager” és használt szokásos WinAPI funkció minden folyamat a rendszerben. Felületaktív taskmng.exe megjelenés alatt debugger:
Látjuk használni WinAPI CreateToolHelp32SnapShot funkciót.
Mindenki tudja, hogy „ezt a funkciót lehet használni nem csak a pillanatkép a folyamatokat, de folyásra vagy modullal, például. De ebben az esetben nem valószínű. Nem valószínű, hogy lesz valami használható természetbeni enumerátort folyamatok (EnumProcesses).
Megálltunk az a tény, hogy szeretnénk létrehozni egy listát a folyamatok, és keresse meg a folyamat. Ehhez használni ezt a funkciót, megtalálták a debugger. Ha Feladatkezelő megnyitása a „Folyamatok” fülre, tudomásul vesszük, hogy mindazok a folyamatok ábécé sorrendben megkönnyítésére. Ezért kell, hogy egy névsort az összes folyamat a rendszerben, és rendezze őket a növekvő ABC sorrendben. Kezdjük kódot Delphi.
Először hozzon létre egy demo alkalmazás ablak két időzítő: az első módosulni fog a folyamatok listáját ugyanabban az arány, amely azt teszi a Windows Feladatkezelő (két másodpercenként); A második fog tüzet 1000-szer másodpercenként, és nyomon követésére használható frissítéseket a folyamatok listáját a menedzser, és ennek következtében a megjelenése a hide folyamatokat. Is hozzá egy gombot az űrlapot.
Itt, sőt, az összes kódot :)
Be kell vallanom, például a Task Manager folyamat a Task Manager:
És ha rákattint a „elrejtése a folyamat” folyamat eltűnik a listából:
Minden nyomát törlik a rendszerben, és csendben halad általában valahol a mélyben a CPU :)
Nos, azt hiszem, így megérdemli, hogy létezik, bár igényel egy kis kiegészítésekkel. Igen, persze, nem lehet használni, hogy elrejtse a folyamatot a rendszer maga, hanem elrejti a szabványos eszközök Windows, amely élvezi a oroszlánrészét minden felhasználó, ez túl rossz.
Remélem, hogy legalább egy kicsit érdekli a téma.
Hamarosan találkozunk! És veled lenni a hatalom anonimitás ...