Problem z wykrywalnością zwykłego programu użytkowego

0

Piszę sobie bardzo prosty hex edytor w Win Api, jak na razie mam w nim tylko kilka funkcji a jest wykrywalny przez 5AV, troche głupio, bo przecież nikt mi go nie będzie używał w takim stanie...

mam w nim takie funkcje:

function extractfname(Fil:string):string;
begin
while pos('\', fil) <> 0 do delete(fil, 1, pos('\', fil));
result:=fil;
end;

function poobierzzsobieprocessid(exename:string):cardinal;
var
continueloop:longbool;
snaphothandle:thandle;
processentry32:tprocessentry32;
begin
try
result:=0;
snaphothandle:=createtoolhelp32snapshot({th32cs_snapprocess}$00000002, 0);
processentry32.dwSize:=sizeof(processentry32);
while integer(continueloop) <> 0 do
begin
if ((extractfname(processentry32.szExeFile) = exename) or (processentry32.szexefile = exename)) then
result:=processentry32.th32processid;
continueloop:=process32next(snaphothandle, processentry32);
end;
closehandle(snaphothandle);
except
end;
end;
var
dfgdfgdfgddfg:cardinal;
joljkljmjmj: thandle;
asdfxzcvgh:thandle;
dfgfghhgjuyn:cardinal;
fghghjhjkuiuoluou:cardinal;
begindfgdfgdfgddfg:=poobierzzsobieprocessid(proces);
fghghjhjkuiuoluou:=dfgdfgdfgddfg;
dfgfghhgjuyn:=globalalloc(GMEM_FIXED, 255);
asdfxzcvgh:=openProcess(PROCESS_ALL_ACCESS, false, fghghjhjkuiuoluou);
ReadPRocessMemory(asdfxzcvgh, ptr($0076C2B4), ptr(dfgfghhgjuyn), 255, joljkljmjmj);
end;

pozmieniałem już nazwy zmiennych dla pewności że to nie to, i dalej jest wykrywalne

kilka operacji na rejestrze i :

URLDownloadToFile(nil, pchar('http://127.0.0.1/'),  'C:\plik.html', 0, nil);

do pobierania aktualizacji a wykrywa mi to jakio trojan downloadera

czy da się coś z tym zrobić? Np coś jak w batcie "%1%" zapełnić pustymi zmiennymi czy coś w tym stylu? byle by nie był wykrywalny?

dodaje jeszcze skan:

AntiVir Found TR/Dldr.Delphi.Gen
ClamAV Found Trojan.Downloader.Adload-130
CPsecure Found Troj.Dropper.W32.Delf.fl
Sophos Antivirus Found Mal/Heuri-E
VBA32 Found Win32.Trojan.Downloader (http://...) (probable variant)

0

Off topic: Gratuluję stylu pisania (wciecia). Oby tak dale. Przyznam się, ze nawet nie mam zamiaru czytać takiego kodu.

Co do nazw zmiennych. Funkcjonują one tylko podczas pisania program na poziomie kodu źródłowego. W pliku binarnym zmienna posiada adres a nie nazwę tak więc zmiana nazwy zmiennej nic nie da.

Co do wykrywania wirusów. Delphi ma momentami z tym problemy (np. jak używasz komponentów INDY). Widocznie jakiś wirus używał podobnej sygnatury. Problem może wywoływać:

  • ReadProcesMemory (podejrzane działanie - próba czytania procesu)
  • OpenProces (j.w)

Spróbuj zakomentować URLDownloadToFile() to może być powodem.

0

a. Zrezygnuj z aktualizacji.
or
b. Spróbuj HttpGet http://4programmers.net/Delphi/Gotowce/Update_programu
or
c. Jest to trojan.

PS. Jakie to operacje w rejestrze?

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