Wirus przy kompilacji


(Gimmlim) #1

Witam.

Problem mam następujący : Ostatnio powróciła mi chętka do napisania sobie czegoś. Choćby bardzo prostego programu wyświetlającego jakiś napis.

Korzystam z DevC++. Otóż, po napisaniu chciałem skompilować , ale nie mogłem tego zrobić, ponieważ, ówczesny antywirus Comodo widział wirusa w pliku .exe i nie wiem jakim cudem. Wirus ten to (nie chce pomylić) : TrojanWare.Win32.shutdown@sk.(tutaj jakieś cyferki) . Skoro w nazwie shutdown to pewnie komputer ma mi się niby wyłączyć, ale Comodo od razu kwarantanna. Więc przywróciłem dany plik .exe z kwarantanny i spróbowałem go otworzyć, ale niestety wyskoczył mi błąd, już nie pamiętam jaki, ale nie mogłem tego otworzyć. Co więcej, gdy miałem jeszcze antywirusa Mcaffe to programiki sobie pisałem i było fajnie wszystko działało. Co więcej, gdy chciałem włączyć wcześniejsze programy (które pisałem przed instalacją Comodo) to istotnie mogłem to zrobić tylko Comodo zaznaczał komunikatem coś o piaskownicy, w każdym bądź razie mogłem zobaczyć rezultaty swojej pracy.

Ostatecznie odinstalowałem COmodo, i zainstalowałem Avast. Free antyvirus. Teraz gdy kompiluję, wyskakuje mi , że najpierw avast sprawdza go w piaskownicy, chmurze ( chodzi o takie odizolowane miejsce, gdzie działanie programu nie szkodzi komputerowi) [wiadomo o co chodzi] , i wyswietla , ze nie znaleziono szkodliwego oprogramowania, ale należy być ostrożnym. W każdym bądź razie mogę włączyć plik .exe.

Mam nadzieję, że wszystko jasno opisałem.

Pytanie: Dlaczego Comodo widzi tam wirusa ? Chciałbym mieć Comodo ( bo chwalone i nie miałem problemów z nim), a jednocześnie pisać sobie.

Dlaczego w ogóle avast to sprawdza ?

Bardzo proszę o odpowiedź i wyjaśnienie.


(nnick) #2

Dlatego że przypadkiem kompilator tak to skompilował że kod pasuje do sygnatury wirusa. Zdarza się czasem coś takiego i jest to zwykły false positive. A Avast to tak sprawdza bo po prostu pierwszy raz widzi taki program na oczy, nie posiada podpisu cyfrowego, nikt inny z takiego programu nie korzystał - automatycznie coś podejrzanego.


(Gimmlim) #3

Czyli co mam dodać do kodu , żeby uniknąć traktowania tegoż pliku .exe jako wirusa ?

Co mam zrobić, żeby nie poczytywał go jako wirusa ?

-- Dodane 18.03.2013 (Pn) 22:41 --

Czy to może wina kompilatora ?


(nnick) #4

A jak zmienisz coś w kodzie to dalej myśli że to wirus? To jest wynik zbiegu okoliczności i czasami się tak zdarza.


(Gimmlim) #5

Nie korzystałem z wielu narzędzi do programowania i nie mam też wielu linijek do programu (może z 10), ale jedyne co zauważyłem to , że gdy w jednym użyłem "const" to wirus , a jak nie użyłem "const" to się normalnie odpalił, mimo, że prawie to samo.

To jest dla mnie strasznie dziwne i pierwszy raz spotykam się z takim czymś.


(nnick) #6

To nie jest w żaden sposób dziwne. Kompilator tak przetłumaczył Twój kod na kod maszynowy że akurat jakiś ciąg bajtów pasuje do sygnatury wirusa. Zmieniając cokolwiek zmieniasz to w jaki sposób kompilator zbuduje program - nie będzie pasować do sygnatury wirusa. Capiche?