Samopowielanie się wirusa

Tim Ocean

Użytkownik
Dołączył
Czerwiec 17, 2013
Posty
10
Witam Wszystkich. W jaki dokładnie sposób powielają się wirusy komputerowe? Jeżeli one kopiują swój kod i doklejają go do jakiegoś programu, to muszą go potem jakoś skompilować, prawda? Ale przecież wirusy nie ściągają się z internetu razem z kompilatorami języka :D Wybaczcie pytanie początkującego, chcę zrozumieć mechanikę wirusa.
 
Ostatnia edycja:

Αvenger

Były Moderator
Dołączył
Grudzień 21, 2012
Posty
243
Witam Wszystkich. W jaki dokładnie sposób powielają się wirusy komputerowe? Jeżeli one kopiują swój kod i doklejają go do jakiegoś programu, to muszą go potem jakoś skompilować, prawda? Ale przecież wirusy nie ściągają się z internetu razem z kompilatorami języka :D Wybaczcie pytanie początkującego.
Wirusy typu PE Infector dodają nowe sekcje ze swoim kodem lub dopisują sie do już istniejących. Żadne kompilatory nie są potrzebne.
 

Tim Ocean

Użytkownik
Dołączył
Czerwiec 17, 2013
Posty
10
Ale przecież ten dopisany kod będzie niezrozumiały dla komputera. Poprawcie mnie, jeśli się mylę.
 

Tim Ocean

Użytkownik
Dołączył
Czerwiec 17, 2013
Posty
10
Chodzi mi o to, czy programista po napisaniu wirusa np. w C kompiluje go do kodu maszynowego i rozsyła w tej postaci? Jestem w stanie wyobrazić sobie program w kodzie maszynowym, który kopiuje swój własny kod i go powiela. Ale jak miałby to zrobić program napisany w C? Musiałby skopiować swój własny kod, przetłumaczyć go na język maszynowy i dopiero wtedy nadpisać. Jak to zrobić bez kompilacji? Gdzie rozumuję błędnie?
 

Αvenger

Były Moderator
Dołączył
Grudzień 21, 2012
Posty
243
Chodzi mi o to, czy programista po napisaniu wirusa np. w C kompiluje go do kodu maszynowego i rozsyła w tej postaci? Jestem w stanie wyobrazić sobie program w kodzie maszynowym, który kopiuje swój własny kod i go powiela. Ale jak miałby to zrobić program napisany w C? Musiałby skopiować swój własny kod, przetłumaczyć go na język maszynowy i dopiero wtedy nadpisać. Jak to zrobić bez kompilacji? Gdzie rozumuję błędnie?
Jakakolwiek kompilacja jest zbędna. Wirus nie dopisuje do gospodarza swojego kodu w takiej postaci jaka była widoczna w kompilatorze.
Poczytaj http://haker.com.pl/threads/16706-Tutorial-Infekcja-plików-exe-cz-1. Może to Ci coś rozjaśni. :)
 

Dark Smark

Były Moderator
Dołączył
Kwiecień 29, 2006
Posty
1953
Polecam książke Jak pisać wirusy Andrzeja Dudka, często wykorzystywana w środowiskach akademickich do nauki ASM. Poszerza na pewno horyzonty każdemu programiście wysokopoziomowemu.
 

Tim Ocean

Użytkownik
Dołączył
Czerwiec 17, 2013
Posty
10
Czy asmebler ma przewagę nad językami wysokopoziomowymi w pisaniu wirusów? Na czym ona polega poza tym, że programy w asmeblerze (chyba) mniej ważą?
 

Αvenger

Były Moderator
Dołączył
Grudzień 21, 2012
Posty
243
Tak, masz racje. Wirusy pisane w Asemblerze są minimalnych rozmiarów. Poza tym są optymalne pod względem szybkości. Pisząc w Asemblerze ma sie maksymalną kontrolę nad programem, więc jak to kiedyś ktoś napisał można powiedzieć, że ten język został stworzony do pisania malware.
 

Dark Smark

Były Moderator
Dołączył
Kwiecień 29, 2006
Posty
1953
Przede wszystkim nauczyłbyś się w jakim segmencie kodu co jest przetrzymywane i byś sobie sam odpowiedział na zadane w temacie pytanie. Sam asm pomaga również w hackingu, jak zrozumie się jak program działa to bez problemu możesz samemu szukać błędów programistycznych a nadpisując odpowiednie wskaźniki i miejsca w pamięci (nawet zdalnie na serwerze) przejąć kontrole nad systemem za pomocą atakowanej właśnie aplikacji (zależy na jakich uprawnieniach działa). Kod maszynowy skompilowanego programu jak najbardziej można modyfikować ręcznie (np: przeskakiwać autoryzacje hasłem lub sprawdzanie np: seriala).
 
Do góry Bottom