Kas olete kunagi tahtnud oma arvutiviirust luua kas õppimiseks või lõbutsemiseks? Viiruse loomine võtab aega ja teadmisi, kuid sellega saavad hakkama kõik, kes aega võtavad. Viiruse loomine võib teile palju õpetada võrgu turvalisuse, programmeerimiskeele ja operatsioonisüsteemi toimimisest. Alustamiseks lugege allpool 1. sammu.
sammud
Samm 1. Tehke kindlaks, millist operatsioonisüsteemi kavatsete rünnata
Kõige tavalisem sihtmärk on Microsoft Windows, eriti vanemad versioonid. Paljud nende versioonide kasutajad ei uuenda operatsioonisüsteemi ja on seetõttu haavatavad turvaaukude suhtes, mida saab uuemates versioonides parandada.
Mac OS X ja Linux on lubade toimimisviisi ja nende operatsioonisüsteemide üldise arhitektuuri tõttu viirusekindlamad. 95% kõigist viirustest on suunatud Windowsi kasutajatele
Samm 2. Otsustage, kuidas soovite seda levitada
Viirust saab nimetada ainult siis, kui see võib levida teistele kasutajatele. Enne alustamist peate mõtlema nakkusmeetodi üle, kuna see on üks viiruse koodi põhielemente. Mõned tavalised mehhanismid hõlmavad järgmist:
- Käivitatavad failid (. EXE,. BAT,. COM jne): need peavad käivitama kasutaja ja need on tavaliselt maskeeritud millekski muuks, näiteks pildiks.
- Makrod (Microsoft Office): programmid, mis on manustatud dokumenti või e -kirja. Need sihivad Wordi, Outlooki ja muid makrotoega tooteid. Kõige levinum levitamisviis on e -posti teel, millele on lisatud nakatunud dokument.
- Veebiskript: need on pahatahtliku koodi osad, mis sisestatakse veebisaitidele veebimeistri teadmata.
Samm 3. Tehke kindlaks nõrk koht, mida rünnatakse
Edukad viirused kasutavad programmi või süsteemi turvalisuse nõrkusi levitamiseks ja tegutsemiseks. See nõuab palju uurimistööd ja teadmisi, kuid seal on kogukondi, mis aitavad teil vajaliku leida.
Samm 4. Otsustage, mida soovite, et viirus teeks
Mida ta peaks tegema, kui see on süsteemi nakatanud? Efektid võivad ulatuda mitte millestki kuni sõnumi kuvamiseni, failide kustutamiseni või palju hullemini. Pidage meeles, et pahatahtliku viiruse loomine ja levitamine on enamikus riikides tõsine kuritegu.
Samm 5. Valige keel
Viiruse loomiseks peate teadma vähemalt programmeerimiskeele või skriptimisvahendi põhitõdesid. Enamik keerukaid viirusi kasutab mitut keelt. Tõeliselt tõhusate viiruste tegemiseks peate oskama koostamiskeeli.
- Kui olete huvitatud käivitatavate viiruste tegemisest, on C ja C ++ hea koht alustamiseks.
- Kui soovite teha makroviirusi, õppige sihtprogrammi, näiteks Microsoft Office'i, makrokeelt.
- Visual Basicu saab kasutada Windowsi kasutajatele pahatahtlike programmide loomiseks.
Samm 6. Alustage viiruse programmeerimist
See protsess võtab kaua aega, eriti kui see on teie esimene kord midagi programmeerida. Katsetage nii palju kui võimalik ja uurige võimalusi oma koodi kordamiseks sõltuvalt kasutatavast keelest. Kogukonna foorumitel ja ajaveebides on õpetusi erinevate keelte jaoks.
Uurige polümorfseid viirusi. Nad muudavad koodi iga kord, kui neid kopeerivad, mis muudab viirusetõrje jälgimise keeruliseks. Polümorfset koodi arendatakse ja rakendatakse igas keeles erinevalt
Samm 7. Otsige võimalusi oma koodi peitmiseks
Lisaks polümorfismile on viiruse peitmiseks ka teisi viise. Krüptimine on pahatahtlike programmide arendajate väga levinud tööriist. See nõuab palju lugemist ja harjutamist, kuid võib teie viiruse eluiga oluliselt pikendada.
Samm 8. Testige viirust
Kui olete välja töötanud prototüübi, katsetage seda mitmel erineval masinal ja konfiguratsioonil. See on lihtsam, kui saate valmistada ette erinevate konfiguratsioonidega virtuaalseid masinaid.
- Hoidke testid kontrolli all, et te ei vabastaks viirust enne, kui see on valmis. Asetage testimismasinad isoleeritud võrku ja vaadake saastumise mõju.
- Reguleerige viiruse koodi, kui jälgite seda testimismasinatel töötamas, ja parandage leitud vead.
Samm 9. Vabastage viirus
Kui olete selle toimivusega rahul, on aeg see vabastada. Enne seda aga küsige endalt, kas olete valmis seisma silmitsi tagajärgedega, mis võivad vabaneda viirusest. Võib -olla oleks parem seda kogemust kasutada uute projektide kallal töötamiseks.