خواهش..
این حالت هم چند دلیل بیشتر نداره..
- اولیش اینه که ویندوزی که داخل اون نمیتونین ویروسهای فلش درایو رو پاک کنید ، خودش آلوده باشه. که برمیگرده به بحث قبلی که پروسس های ویروس باز هست.
- حالت دوم هم استفاده از امکانات Api و یا گاها باگهای ویندوز برای ساخت ویروس..
تنها امکاناتی که میتونم نام ببرم همون Write protect بودن فلش هست که برخی ویروسها اینکار رو انجام میدن.. اگه اشتباه نکنم ویروس funny.exe این قابلیت رو داشت.
اما استفاده از باگهای ویندوز...
برای شروع باید بگم احتمالا میدونید که در ویندوز یه سری فایلها غیر قابل ساخته شدن هستن مثلا دارای نامهای :
CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9
و همچنین کاراکترهایی مثل \ داخل اسم فایل.
وقتی شما به حالت دستی میخواین این فولدر رو از طریق محیط ویندوز بسازین این کار نشدنیه.
ولی از طریق خط فرمان با یک حیله ی کوچیک میتونید این فولدر رو بسازین.. منتها وقتی این رو میسازین چون اسم این فولدر توسط NT ممنوع شده هست لذا توسط NT پاک هم نخواهد شد.
برای ساخت یک فولدر با نام CON میتونید اینطوری اقدام کنید :
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
با اجرای این دستور شما در مسیر روت درایو C یک فولدر میسازین به نام CON که توسط راست کلیک و Delete پاک شدنی نیست( و احتمالا با یکی از بدوبیراه های ویندوز مواجه میشین
)) )
البته بگم اینو که این یه راه حل مستقیم برای ساخت فایل یا فولدر پاک نشدنی نیست، بلکه تنها یک استفاده از باگ موجود در سیستم Character و NameSpace موجود در ویندوز هستش ( که البته در ویندوز 7 هم این وجود داره )
برای ساخت یک فولدر با نام Mohammad که پاک نشدنی باشه اینطوری اقدام کنید :
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حالا برین داخل دسکتاپتون.. یک فولدر با نام محمد ایجاد شده که پاک نمیشه Rename نمیشه و بهتون هشدارهای بدی میده 
در دستور آخری اگه دقت کرده باشین آخر اسم فایل یک فاصله گذاشتم.. به هرشکل هر مسیر داس برای قابل اجرا بودن در محیط NT باید به مسیر NT , Unicode تبدیل بشه، تابع RtlDosPathNameToNtPathName_U اینکار رو انجام میده. این تابع فاصله های مسیر رو Strip نمیکنه و به حال خودشون باقی میزاره ، ولی جالب اینجاست که تابع RtlGetFullPathName_Ustr فاصله های موجود در مسیر رو Strip میکنه ، و در واقع این ناهماهنگی بین این دوتابع ( با توجه به درنظر گرفتن سوءنیت ما
) باعث به وجود اومدن این خطاها در هنگام پاک کردن یا تغییر نام دادن این فولدر میشه.
پس این شد از باگ مربوط به سیستم نام گذاری ویندوز و خط فرمان.. که اگه آنتی ویروس ها این خودشون این تکنولوژی رو نداشته باشن و این باگ براشون تعریف نشده باشه ، مسلما نتیجه ی اون ناتوان ماندن در حذف چنین فایلها یا فولدرهایی هست.
گاهی هم وقتی یک فایل پاک نمیشه به این دلیل این هست که یک dll از Api که Handler مخصوص به اون فایل هست ( اصطلاحا Hook کردن یک Api ) درحال فعالیت هست و باید اول اون بسته بشه.
پس اگه بخواین همون فایل ویروس رو با آرگومان اولیه ( یعنی وقتی که ساخته شده بوده ) از بین ببرید ، میتونید از طریق خط فرمان با سوییچ S اینکار رو انجام بدین.
به شرط اینکه بدونید نام دقیق اولیه ی فایل چی بوده.
مثال میزنم ، شما این فایل رو میسازید :
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
بعد برای پاک کردن همین فایل میزنید :
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
پیام میده که همچین فایل یا فولدری وجود نداره.
ولی اگه با آرگومان اولیه اش بزنید :
کد:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اون فولدر پاک میشه.
نتیجه گیری کلی..
یه سری آنتی ویروس ها این تکنولوژی رو دارن ، یه سری ها ندارن ، اتفاقا برای خودم بارها این قضیه وقتی از اویرا استفاده میکردم اتفاق افتاده که میگفت باید ریستارت کنی تا ویروسهای فلش پاک بشه ولی حتی با ریستارت هم باز پاک نمیشد.
قبلا یک اسکریپت وی بی نوشته بودم که از همین باگ استفاده میکرد و خاصیت پاک نشدنی و تغییر نام داده نشدنی به هرفایل مورد نظری میداد.. منتها الان بهش دسترسی ندارم توی هارد قبلیم بوده. اگه باز تونستم بنویسمش یا پیدا کنمش میدمش بهتون.
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]