Generowanie wirusów

Generowanie wirusów W internecie można znaleźć mnóstwo tak zwanych generatorów wirusów. Są to przyjazne użytkownikowi programy pozwalające na stworzenie własnego wirusa od podstaw. Generatory te zostały opracowane w taki sposób, aby praktycznie każdy kto ma jako takie pojęcie o komputerze mógł stworzyć swój własny wirus komputerowy. Generatory te są oczywiście napisane w asemblerze i w takim również języku programowania tworzą efekt końcowy czyli wirus komputerowy. Program zbudowany jest modułowo. W poszczególnych etapach tworzenia wirusa użytkownik dostosowuje jego parametry, czyli między innymi rodzaj wykonywanego przez wirus działania oraz zakres plików jakie mają być infekowane na komputerze „ofiary”. Dodatkowo, co niestety jest najgorsze, generatory te sprawują również rolę samouczka. Oprócz samego programu generator tworzy w asemblerze źródła, które pozwalają twórcy na dokładnie przeanalizowanie kodu i ewentualną naukę. Istnieje wiele generatorów wirusów komputerowych. Najpopularniejsze z nich to m.in.: Instant Virus Production Kit, Phalcon-Skism Mass Produced Code Generator oraz G Squared.

Wirusy towarzyszące

Wirusy towarzyszące Wirusy te w swoim działaniu wykorzystują pewną właściwość systemu DOS, dotyczącą kolejności uruchomienia programów posiadających identyczną nazwę, ale zupełnie inne rozszerzenia (np. exe lub bat). Kiedy w systemie DOS podajemy nazwę jakiegoś programu bez podania rozszerzenia następuje wyszukanie tego programu w odpowiedniej kolejności możliwych rozszerzeń. Kolejność ta za każdym razem wygląda następująco: com, exe oraz bat. Wirus wykorzystuje pierwsze z przeszukiwanych rozszerzeń, czyli com. Program macierzysty wirusa wyszukuje folderów, w których programy posiadają rozszerzenia exe lub bat. W momencie znalezienia takie programu, wirus umieszcza swój kod w pliku nazwanym identycznie jak znaleziony program, ale nadając mu rozszerzenie com. Po takiej operacji każde podanie przez użytkownika nazwy programu z pominięciem rozszerzenia pliku powoduję rozpoczęcie wyszukiwania od rozszerzenia com, a co za tym idzie uruchomienie samego wirusa. Dzięki uruchomieniu tego zainfekowanego pliku, macierzysty program wirusa uzyskuje możliwość sterowania komputerem.

Programowanie wirusów

Programowanie wirusów Wirusa można napisać praktycznie w dowolnym języku programowania (np. popularny język C lub C++). W praktyce jednak najlepsze wirusy powstają w asemblerze i takich jest zdecydowanie najwięcej. Asembler jest niskopoziomowym językiem programowania dzięki czemu daje on możliwość łatwego dostępu do pamięci i portów komputera. Dodatkowo jego ważną cechą jest duża zwięzłość kodu programu. Nie bez znaczenia jest też wielkość takiego pliku. Języki wysokopoziomowe (np. wymieniony już język programowania C) generują pliki o wielkości nawet kilkuset kilobajtów, kiedy ten sam program napisany w asemblerze zajmie tylko kilka-kilkanaście bajtów. Dzięki temu możemy nawet nie zauważyć, że ściągneliśmy plik z wirusem, gdyż jego pobranie zajmie ułamki sekundy. Długość kodu oraz szybkość działania programów napisanych w asemblerze jest bardzo optymalna. Jedyną wadą tego typu programowania jest fakt, że program nie zadziała na komputerach o innej architekturze. Właśnie z tego powodu Linux jest uważany za bardzo bezpieczny system gdyż wirusy napisane w asemblerze po prostu na nim nie zadziałają. W programowaniu wirusa można również wykorzystać języki makr. Z języków tych korzystają często edytory tekstowe i arkusze kalkulacyjne. Dzięki temu rozwiązaniu wirus ma możliwość zagnieżdżania się w niemal każdym otwieranym arkuszu lub dokumencie tekstowym.