Lazarus a Avast! Wykryto wirusa w programie, który właśnie skompilowałem

0

Mam taki problem otóż w Lazarusie napisałem program nieważne jaki i gdy nacisnę F9 to wyskakuje mi
user image
Dzieje się to przy każdej próbie kompilacji jakiegokolwiek programu.

Wirusa nie mam na bank bo 15 minut temu skończyłem reinstalacje systemu i oprogramowania która poprzedzona była formatowaniem dysku.
Lazarusa ściągnąłem z http://www.lazarus.freepascal.org/index.php?page=downloads

Ktoś wie jak rozwiązać problem?

0

15 minut temu skończyłeś reinstalacje systemu, zdążyłeś wgrać wszystkie łaty, pierwsze co zainstalowałeś to Lazarus'a i zanim zainstalujesz resztę rzuciłeś się kompilować swój program?
Fajne bajeczki.

0

Wyłącz AV, przekompiluj i wrzuć plik na strony, które sprawdzają takie zagrożenia przez różne silniki AV.
Miewałem już sytuację gdzie np. dodanie wątku do pisanego przeze mnie programu powodowało wycie Avasta - po prostu przeczulona heurystyka.

0

@szopenfx użyłem tego skanera i z tego co tam jest napisane to na 47 antywirusów jeden wykrył jakieś g**no

Ikarus Win32.SuspectCrc 20131119

Jak wszedłem w dodatkowe informacje to napisali tam, że heurystyka takie coś im wywaliła.

Skanowanie komputera nawet przy starcie systemu niczego nie wykrywa. Wygląda na to że FPC dodaje do każdego kompilowanego pliku to g**no...

0

1 na 47 to raczej nic nie znaczy tym bardziej że jak piszą na forum avasta susp oznacza "susp = suspicious / not a confirmed infection"

0

Najlepiej ustaw w AV żeby nie skanował Twojego katalogu z kodem. AV niestety często mają problemy z false-positives.
Kiedyś dla zabawy wrzuciłem skompilowany program typu int main() { int *p = 0; *p = 1234; return 0; } w VT i dostałem 18 "wykryć" jako malware/suspicious/omgomgomg.

Raczej nie spodziewałbym się, żeby coś Ci zainfekowało ten plik - od lat nikt nie widział nowego, rozprzestrzenionego, malware'u który by działał jak klasyczne wirusy (dopisywał się do wszystkich exeków, które napotka).

0

Dobra odkryłem jeszcze coś ciekawego.
Odpaliłem lazarusa i wybrałem nową aplikację LCL nic nie dopisując skompilowałem i poszło, avast nie jęczał. No to to samo zrobiłem z aplikacją konsolową i to samo poszło i avast nie jęczał. Przejrzałem kilka moich projektów i na żadnym avast nie jęczał ale ciekawe jest, że avast jęczy na wszystkich zadaniach ze SPOJa? Przykład:

program CALC;
var
  znak : char;
  a, b : Integer;

begin
  while not (EOF) do
  begin
    Readln(znak, a, b);
    case znak of
      '+' : Writeln(a + b);
      '-' : Writeln(a - b);
      '*' : Writeln(a * b);
      '/' : Writeln(a div b);
      '%' : Writeln(a mod b);
    end;
  end;
end.

cisnę F9 i avast jęczy.

Teraz sprawdziłem koleją opcję i przy:

program Project1;

begin
end.     

avast jęczy, ale już przy:

program Project1;

{$mode objfpc}{$H+}

uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Classes
  { you can add units after this };

begin
end.

Jest wszystko dobrze O.o Ktoś wie o co chodzi?

2

W skrócie: wynika to z tego jak Avast (i inne AV) wykrywają malware. Stosuje się dwie metody:

  1. blacklista sygnatur - czyli lista "wzorców", które jeśli wystąpią w pliku, to dana rzecz jest uznawana za malware (może to być coś w stylu "bajty XYZ na pozycji 100 do 200 od początku pliku", aż do trochę bardziej skomplikowanych zależności
  2. heurystyki - czyli różne metody detekcji "na oko" (np. "jeśli program nie jest skompilowany popularnym kompilatorem i do tego używa funkcji A i B", albo "w pierwszych 100tys wykonanych instrukcji robi XYZ")

Widać sygnatury/heurystyki w Avast są na tyle słabej jakości, że niektóre programiki które kompilujesz wpadają na którąś z heurystyk, co powoduje "wykrycie jako malware/podejrzeny_plik/zło/666".
Serio, to częsty problem jak się programuje.

P.S. jeśli chcesz coś więcej poczytać o tym jak AV (nie)działają, to rzuć okiem na http://lock.cmpxchg8b.com/sophail.pdf (na przykładzie sophosa)

0

@Gynvael Coldwind No już rozumiem. Tylko wcześniej mi to nie wyskakiwało. Zaczęło dopiero od Lazarusa 1.0.12, a że mniej więej w tym samym czasie weszła też aktualizacja avasta to nie wiem który z programów jest winowajcą. Założę, że avast i do nich napiszę. Zobaczymy co z Tym zrobią.

0

Chyba że ktoś im build servery shaczył (Lazarusowi) :)

Mógłbyś jak najprostszą binarkę o którą Avast się awanturuje gdzieś wrzucić? Chętnie bym na nią rzucił okiem (chociaż się niczego nie spodziewam) :)

0

Hmm nie widzę tam nic złego na pierwszy rzut oka. Tj. na pewno nie ma nic dopisanego, więc to problem Avasta.

0

O, śmiesznie - taki sam program (nic pomiędzy begin..end), ale kompilowany w Delphi był wykrywany jako wirus przez AVG - dodanie jakiegokolwiek writeln() załatwiało sprawę, i już wirusem przestawał być.

1 użytkowników online, w tym zalogowanych: 0, gości: 1