# Native Code > برنامه نویسی در Delphi > مباحث عمومی دلفی و پاسکال >  ساخت فایل غیر قابل حذف کردن

## صابر طهماسبی

سلام
چطور میشه یه فایل ساخت که فقط توسط برنامه قابل حذف باشه؟
مثل همین آنتی autorun که فلش را به سیستم وصل می کنیم در صورت وجود فایل autorun.inf اونو پاک میکنه بعد خودش یه فایل به همین نام می سازه که فقط توسط خود برنامه قابل حذفه یا اینکه فلش را فرمت کنیم.

----------


## pezhvakco

> چطور میشه یه فایل ساخت که فقط توسط برنامه قابل حذف باشه؟


همچین فایلی نداریم .




> مثل همین آنتی autorun که فلش را به سیستم وصل می کنیم در صورت وجود فایل autorun.inf اونو پاک میکنه بعد خودش یه فایل به همین نام می سازه که فقط توسط خود برنامه قابل حذفه یا اینکه فلش را فرمت کنیم.


نه خیلی قضیه رو جدی گرفتین .
اونی که شما میگی پاک میشه یا پاک نمیشه به این خاطره که سیستم ویروسی و برنامه ویروس در حال اجرا است که این برنامه طوری نوشته شده اگه کاربر خواست فایلی با مشحصات پاک کنه مانع بشه و یا بعد از حذف دوباره ساخته بشه .

در این زمان اگه در ویندوز برنامه وبروس در حال اجرا رو متوقف کنی یا تحت داس بوت کنی تمام است ...

----------


## Mask

> همچین فایلی نداریم .
> 
> 
> نه خیلی قضیه رو جدی گرفتین .
> اونی که شما میگی پاک میشه یا پاک نمیشه به این خاطره که سیستم ویروسی و برنامه ویروس در حال اجرا است که این برنامه طوری نوشته شده اگه کاربر خواست فایلی با مشحصات پاک کنه مانع بشه و یا بعد از حذف دوباره ساخته بشه .
> 
> در این زمان اگه در ویندوز برنامه وبروس در حال اجرا رو متوقف کنی یا تحت داس بوت کنی تمام است ...


 با سلام
اینطور که می فرمایید نیست.
سیستمه ایشون نیاز نیست که ویروسی باشه که فایل پاک نشه.
آنتی که ایشون میفرمان از توابع api استفاده میکنه و به این فایل مجوز میده. به همین خاطره که کاربر در این سطح نمیتونه پاکش کنه.
همین فایل رو با برنامه unlocker به راحتی میتونید پاک کنید.
من یه فایل با پسوند vbs دارم که فایلی به همین نام میسازه که قابل پاک کردن نیست.
اگه مایلید متنش رو براتون آپ میکنم؟؟؟
موفق باشید.

----------


## صابر طهماسبی

> با سلام
> اینطور که می فرمایید نیست.
> سیستمه ایشون نیاز نیست که ویروسی باشه که فایل پاک نشه.
> آنتی که ایشون میفرمان از توابع api استفاده میکنه و به این فایل مجوز میده. به همین خاطره که کاربر در این سطح نمیتونه پاکش کنه.
> همین فایل رو با برنامه unlocker به راحتی میتونید پاک کنید.
> من یه فایل با پسوند vbs دارم که فایلی به همین نام میسازه که قابل پاک کردن نیست.
> اگه مایلید متنش رو براتون آپ میکنم؟؟؟
> موفق باشید.


اگر لطف کنید ممنون میشم
یه سوال دیگه اینکه من نمی دونم vbs چه فرمتیه؟

----------


## Felony

> آنتی که ایشون میفرمان از توابع api استفاده میکنه و به این فایل مجوز میده. به همین خاطره که کاربر در این سطح نمیتونه پاکش کنه.


اگر از توابع API استفاده میکنه پس در سطح سیستم عامل هست و کاربری هم که به صورت Admin وارد شده باشه مجوز حذفش رو داره و باید به راحتی با همون توابع API دخلش رو آورد ، یا باید برنامه Kernel Mode باشه و این طور فایل رو غیر قابل دسترس کنه یا ...

لطفا اون فایل VB Script ی که میگید رو قرار بدید تا بررسی بشه .

----------


## صابر طهماسبی

> لطفا اون فایل VB Script ی که میگید رو قرار بدید تا بررسی بشه .


فهمیدم vbs 
لطفا کد رو بذارید تا استفاده کنیم

----------


## pezhvakco

> سیستمه ایشون نیاز نیست که ویروسی باشه که فایل پاک نشه.


ویروس یا هر چی در مانند اون .برای پاک کردن یک فایل در ویندوز اگه برنامه ایی در حال استفاده از آن نباشه میشه راحت پاکش کرد .




> آنتی که ایشون میفرمان از توابع api استفاده میکنه و به این فایل مجوز میده. به همین خاطره که کاربر در این سطح نمیتونه پاکش کنه.
> همین فایل رو با برنامه unlocker به راحتی میتونید پاک کنید.


کاربر که مدیر است یعنی بیش ترین دسترسی رو داره . این برنامه که شما میگین (unlocker ) اگه فایل مورد استفاده باشه نمیتونه پاک کنه مگه از این حالت خارجش کنه .




> من یه فایل با پسوند vbs دارم که فایلی به همین نام میسازه که قابل پاک کردن نیست.
> اگه مایلید متنش رو براتون آپ میکنم؟؟؟


بفرمایید آپ کنین .




> قابل پاک کردن نیست.


این حرف یکم برای کار با کامپیوتر و روند کاری اون به نظر من نادرسته .

----------


## lord_viper

فایلهای vbs توسط یه app تو ویندوز run میشن اگه اون پروسه رو ببندی میبینی که به راحتی اون فایل vbs پاک میشه

----------


## صابر طهماسبی

> فایلهای vbs توسط یه app تو ویندوز run میشن اگه اون پروسه رو ببندی میبینی که به راحتی اون فایل vbs پاک میشه


فکر کنم منظور ایشون این بود که بک اسکریپت vbs دارند که می تونه فایل autorun.inf بسازه که غیر قابل پاک کردن باشه نه اینکه یک فایل vbs بسازه

----------


## pezhvakco

> فکر کنم منظور ایشون این بود که بک اسکریپت vbs دارند که می تونه فایل autorun.inf بسازه که غیر قابل پاک کردن باشه نه اینکه یک فایل vbs بس


این فایل autorun.inf فایل خیلی خاصی نیست . یک فایل متنی دارای کد دستور های لازم برای اجرای و نوع اجرای برنامه های دیگه که اگه روند اجرای اون برنامه بر اساس یک سری شرایط خاص بخواد اجرا بشه بر مبنای این کد دستور ها اجرا میشه و از این جا به بعد که اجازه پاک شدن بعضی برنامه های در حال استفاده از کاربر گرفته میشه .

تنها دلیلی که ویندوز XP به این مشکل ( ویروس هایی به نام عمومی autorun.in ) گرفتار میشه اجرای خود سرانه کد دستور های همین فایل متنی (autorun.in) توسط Explorer است و اگه اجازه این کار رو از ویندوز بگیرین دیگه با این نوع مشکل برخورد نمیکنین .

----------


## صابر طهماسبی

> این فایل autorun.inf فایل خیلی خاصی نیست . یک فایل متنی دارای کد دستور های لازم برای اجرای و نوع اجرای برنامه های دیگه که اگه روند اجرای اون برنامه بر اساس یک سری شرایط خاص بخواد اجرا بشه بر مبنای این کد دستور ها اجرا میشه و از این جا به بعد که اجازه پاک شدن بعضی برنامه های در حال استفاده از کاربر گرفته میشه .
> 
> تنها دلیلی که ویندوز XP به این مشکل ( ویروس هایی به نام عمومی autorun.in ) گرفتار میشه اجرای خود سرانه کد دستور های همین فایل متنی (autorun.in) توسط Explorer است و اگه اجازه این کار رو از ویندوز بگیرین دیگه با این نوع مشکل برخورد نمیکنین .


موضوع این است که چطور یک فایل با برنامه بسازیم که فقط توسط برنامه قابل حذف باشه فایل autorun.inf فقط یک مثال بود.

----------


## Felony

> موضوع این است که چطور یک فایل با برنامه بسازیم که فقط توسط برنامه قابل حذف باشه فایل autorun.inf فقط یک مثال بود.


این کار نشدنی هست .

----------


## صابر طهماسبی

> این کار نشدنی هست .


برای شدنی بودن که شدنیه
می تونید اون برنامه رو که گفتم تست کنید(شاید من نتونستم فایلی رو که می سازه پاک کنم) اسمش USB DISK Security هست می تونید از لینک زیر دانلود کنید
http://www.kamyabonline.com/modules....ticle&sid=2300

----------


## pezhvakco

> برای شدنی بودن که شدنیه


نه جناب ... نشدنیه !




> می تونید اون برنامه رو که گفتم تست کنید(شاید من نتونستم فایل رو پاک کنم) اسمش USB DISK Security هست می تونید از لینک زیر دانلود کنید


این که شما میگین یک برنامه نصبی است و به گفته سایت برای محافظت از ویندوز برای اجرای فایل های آتوران (ویروس) است .

شما چی رو می خوایین پاک کنین ؟

----------


## صابر طهماسبی

> نه جناب ... نشدنیه !


پس حتما برنامه ای رو که گفتم امتحان کردید و تونستید که فایلی رو که رو درایوها می سازه پاک کنید؟
ممکنه منو راهنمایی کنید فایل را چطور پاک کردید؟



> این که شما میگین یک برنامه نصبی است و به گفته سایت برای محافظت از ویندوز برای اجرای فایل های آتوران (ویروس) است .


مگر بنده گفتم خلاف این مطلب را گفتم؟
طرز کار برنامه مد نظر است که وقتی ویروس autorun میبینه پاک می کنه که تا اینجا مشکلی نیست اما وقتی درایو رو در حالت محافظت قرار می دید یه فولدر به نام autorun.inf میسازه که یه فایل text و یک فولدر داخل اونه که فولدر داخلی رو نمی تونید باز کنید داخل فایل متنی هم تذکرات لازم رو داده



> شما چی رو می خوایین پاک کنین ؟


بنده نمی خوام چیزی رو پاک کنم می خوام بفهمم برنامه چطور یه فایل می سازه که جز توسط خود برنامه غیر قابل پاک کردنه؟

----------


## مصطفی ساتکی

اون فایل به تنهایی این قابلیت نداره که پاک نشه.یه dll داره بهش همچین سرویسی میده و پشتیبانیش می کنه.شما با hook api مربوط به shell می تونید همچین کاری رو انجام بدید که کاربر نتونه فایل یا فولدر مشخص شده رو پاک کنه

----------


## pezhvakco

> پس حتما برنامه ای رو که گفتم امتحان کردید و تونستید که فایلی رو که رو درایوها می سازه پاک کنید؟
> ممکنه منو راهنمایی کنید فایل را چطور پاک کردید؟


نه جناب مشکل از جای دیگه ای است .
این برنامه هیچ فایلی نمی سازه، یعنی کارش این نیست که فایل بسازه بلکه باید فایل پاک کنه .اون فایل autorun.inf که به شما پیغام میده روی فلش است به دلیل ویروسی بودن ویندوز شما است .
اگه قرار بود این برنامه فایل autorun.inf درست کنه که فقط خودش پاک کنه اسم برنامه به جای USB DISK Security  باید بود USB DISK virus .




> طرز کار برنامه مد نظر است که وقتی ویروس autorun میبینه پاک می کنه که تا اینجا مشکلی نیست اما وقتی درایو رو در حالت محافظت قرار می دید یه فولدر به نام autorun.inf میسازه که یه فایل text و یک فولدر داخل اونه که فولدر داخلی رو نمی تونید باز کنید داخل فایل متنی هم تذکرات لازم رو داده


این قسمت کار مشکل داره . اگه به قول شما ویروس autorun میبینه ( اون فایل autorun فایل ویروس نیست بلکه کد دستورات نحوه اجرا شدن فایل اصلی ویروسه که معمولا داخل یک فولدر به نام RECYCLER است ) یعنی ویندوز شما ویروسی است .

همین ویروسی بودن و اجرا بودن ویروس باعث این پاک نشدن ها و ... میشه .




> بنده نمی خوام چیزی رو پاک کنم می خوام بفهمم برنامه چطور یه فایل می سازه که جز توسط خود برنامه غیر قابل پاک کردنه؟


در سیستم من که ویروسی نیست این برنامه USB DISK Security  نه پیغامی میاد و نه فایلی میسازه .

----------


## صابر طهماسبی

دوستان یکی نیست که با اون برنامه که گفتم درست و کامل کار کرده باشه؟

----------


## مهران رسا

> موضوع این است که چطور یک فایل با برنامه بسازیم که فقط توسط برنامه قابل حذف باشه فایل autorun.inf فقط یک مثال بود.


تنها راهش اینه که برنامتون همیشه اجرا باشه .

----------


## صابر طهماسبی

> تنها راهش اینه که برنامتون همیشه اجرا باشه .


رو سیستم دیگه که برنامه نصب نیست هم نمی تونید فایل رو پاک کنید پس ربطی به برنامه نداره برنامه فقط برای ایجاد و حذف فایله

----------


## pezhvakco

> رو سیستم دیگه که برنامه نصب نیست هم نمی تونید فایل رو پاک کنید پس ربطی به برنامه نداره برنامه فقط برای ایجاد و حذف فایله


اگه اشاره شما به همون برنامه USB است که من رو دو تا سیستم تمیز امتحان کردن، نه فایلی ساخت و اتفاقی برای درایو فلش افتاد .

شما از حرف خودتون کوتاه (** فایلی که یه هیچ وجه پاک نشه در شرایطی که هیچ برنامه دیگری از اون در برابر پاک شدن محافظت نکنه و فقط با یک برنامه خاص پاک بشه **)  نمی آیید . با دانستنی های من از ویندوز میگم این شرایطی که شما اشاره دارین نشدنی است .

----------


## صابر طهماسبی

> اگه اشاره شما به همون برنامه USB است که من رو دو تا سیستم تمیز امتحان کردن، نه فایلی ساخت و اتفاقی برای درایو فلش افتاد .
> 
> شما از حرف خودتون کوتاه (** فایلی که یه هیچ وجه پاک نشه در شرایطی که هیچ برنامه دیگری از اون در برابر پاک شدن محافظت نکنه و فقط با یک برنامه خاص پاک بشه **)  نمی آیید . با دانستنی های من از ویندوز میگم این شرایطی که شما اشاره دارین نشدنی است .


ممنونم
بحث کوتاه آمدن نیست چون بنده ادعایی در هیچ زمینه ای نکرده ام و نمی خوام چیزی را ثابت کنم که حالا کوتاه بیام یا نیام
فقط دوست دارم با دلیل چیزی که خودم دیدم و برام جالب بود آشنا بشم
اینقدر هم نادان نیستم که نفهمم ویندوزم ویروس داره یا نه!
مطمئن هستم شما با برنامه درست کار نکرده اید(اون گزینه ای را که مد نظر بنده است آزمایش نکرده اید) منظور من از پروتکت کردن درایوها این است که کار زیر را در برنامه انجام دهید که تصاویرش هم ضمیمه کردم مطمئنم اینکار را نکردید وگرنه حرفم را تایید می کنید.
تصاویر :



و







این هم نحوه ی ایمن سازی(ایجاد فایل) :




و


این هم محتویات فلش و حاصل تلاش برای حذف فایلهای داخل پوشه autorun.inf که توسط برنامه ساخته شده:



و محتویات پوشه فوق





این نکته هم عرض کنم که دو تصویر آخر در ویندوزی که تحت vmware بالا آوردم گرفتم که نگید برنامه باید نصب باشه

حالا دوستان قضاوت کنند

----------


## Felony

با اینکه میدونستم کار بیهوده ای هست ؛ برنامه ای که ذکر کردید رو دانلود و تست کردم ، همون طور که فکر میکردم از یه ترفند نه چندان به درد بخور ! استفاده کرده :

1- یه فولدر تو درایو فلشتون بسازید .
2- نرم افزار *Winrar* رو باز کنید و به وسیله AddressBar برنامه وارد درایو فلشتون بشید .
3- روی فولدری که داخل فلش ساختید کلیک راست کنید و Rename رو انتخاب کنید .
4- آخر نام جاری فولدرتون /.. اضافه کنید ، مثلا اگر اسم فولدرتون Test هست به Test../ تغییرش بدید .
5- حالا هر چه قدر دوست دارید سعی کنید خذفش کنید ! فولدر حذف نمیشه ولی فایل های داخلش رو میشه حذف کرد دقیقا مثل فولدری هایی که اون برنامه که معرفی کردید میسازه .

دوست عزیز شما در سطح معمول سیستم عامل نمیتونید پاتون رو فراتر از API ها بزارید ، فکر این کار رو در این سطح از سرتون بیرون کنید مگر با همین روش ها که به درد کاربرانی میخوره که از برنامه نویسی و دل و جیگر کشیدن ویندوز سر در نمیارن ... !

----------


## AbiriAmir

بله
ایشون درست میگم
منم با این نرم افزار کار کردم
شما قبل از اینکه هی بگین نشدنیه خوب تست کنین
اطلاعات من و شما مسلما در مورد هر چیزی مخصوصا کامپیوتر و ویندوز محدوده (مخصوصا من)
اگر ایشون میگن شده پس یا شده یا اینکه ایشون برداشت اشتباه میکنن که در این مورد اینطور نیست
در مورد این نرم افزار بله
وقتی این عمل انجام میشه در واقع نرم افزار یک فایل یا فولدر یا هرچیزی که من نمیدونم چیه روی فلش دیسک میسازه به اسم autorun.inf که قابل حذف نیست
نتیجش هم اینه که نرم افزار یا کامپیوتر ویروسی دیگه نمیتونه فایل autorun.inf رو در این فلش ایجاد کنه و در نتیجه ویروس به فلش منتقل نمیشه یا حداقل اگه شد به صورت اتوران در کامپیوتر بقیه اجرا نمیشه
همین
البته ایشون این نرم افزار رو مثال زدن
خوب شما هم باهاش کار کنید و ببینید

----------


## AbiriAmir

> با اینکه میدونستم کار بیهوده ای هست ؛ برنامه ای که ذکر کردید رو دانلود و تست کردم ، همون طور که فکر میکردم از یه ترفند نه چندان به درد بخور ! استفاده کرده :
> 
> 1- یه فولدر تو درایو فلشتون بسازید .
> 2- نرم افزار *Winrar* رو باز کنید و به وسیله AddressBar برنامه وارد درایو فلشتون بشید .
> 3- روی فولدری که داخل فلش ساختید کلیک راست کنید و Rename رو انتخاب کنید .
> 4- آخر نام جاری فولدرتون /.. اضافه کنید ، مثلا اگر اسم فولدرتون Test هست به Test../ تغییرش بدید .
> 5- حالا هر چه قدر دوست دارید سعی کنید خذفش کنید ! فولدر حذف نمیشه ولی فایل های داخلش رو میشه حذف کرد دقیقا مثل فولدری هایی که اون برنامه که معرفی کردید میسازه .
> 
> دوست عزیز شما در سطح معمول سیستم عامل نمیتونید پاتون رو فراتر از API ها بزارید ، فکر این کار رو در این سطح از سرتون بیرون کنید مگر با همین روش ها که به درد کاربرانی میخوره که از برنامه نویسی و دل و جیگر کشیدن ویندوز سر در نمیارن ... !


با تمام احترامی که براتون قائلم باید بگم که درست نیست اینجوری قضاوت کنید
خب این هم یک راهه، هرچند از جاده خاکی باشه
با همین راهی که شما میگین جالب نیست نرم افزار مذکور داره جلوی ویروس رو میگیره (البته نمیدونم همین راه باشه)
خب حالا چرا اینجوریه؟ (با اینکار نمیشه پاک کرد)
یا اصلا همین راهی که جالب نیست رو چجوری در برنامه اجرا کنیم؟
بهتر نیست با این دید به موضوع نگاه کنیم؟

----------


## Felony

> وقتی این عمل انجام میشه در واقع نرم افزار یک فایل یا فولدر یا هرچیزی که من نمیدونم چیه روی فلش دیسک میسازه به اسم autorun.inf که قابل حذف نیست


کافی بود نوعش رو تو تنضیماتش میدید ...




> با تمام احترامی که براتون قائلم باید بگم که درست نیست اینجوری قضاوت کنید
> خب این هم یک راهه، هرچند از جاده خاکی باشه


بله این یه راهه *ولی* *نه* برای ساخت فایلی که پاک نشه بلکه برای یک فولدر ، اون برنامه هم یک فولدر با نام Autorun.inf میسازه بعد داخلش یه فولدر با ترفندی که من در پست قبلیم ذکر کردم میسازه و چون سیستم عامل توانایی حذف اون فولدر داخلی رو نداره پس فولدر Autorun.inf رو هم نمیتونه پاک کنه ، به همین سادگی !




> با همین راهی که شما میگین جالب نیست نرم افزار مذکور داره جلوی ویروس رو میگیره (البته نمیدونم همین راه باشه)


*بحث اینجا چیز دیگه ای هست ( ساخت فایل غیر قابل حذف )* ، اگر ایشون از اول میگفتن میخوان جلوی ویروس رو بگیرن من این راه رو همون اول ارائه میکردم !




> خب حالا چرا اینجوریه؟ (با اینکار نمیشه پاک کرد)


چون کارکتر \ در نامگزاری فولدر ها و فایل ها در سیستم عامل غیر مجاز هست ، پس سیستم عامل اگر فایلی که نامش حاوی این کارکترها باشه رو ببینه غیر مجاز میشناسش و نمیتونه به صورت عادی حذفش کنه .
موفق باشید .

----------


## صابر طهماسبی

از همگی ممنونم
نکته جالبی یاد گرفتم
ولی اگر دوستان از اول به جای کوبیدن مطالب بنده و پاسخ صریح نشدنی است کمی به این مطلب فکر می کردند که بنده ای که این سوال را مطرح می کنم حتما برام سوال شده و عرض و مرض ندارم که وقت شما بزرگواران را بگیرم خیلی زودتر بنده را راهنمایی می کردند.



> دوست عزیز شما در سطح معمول سیستم عامل نمیتونید پاتون رو فراتر از API ها  بزارید ، فکر این کار رو در این سطح از سرتون بیرون کنید مگر با همین روش  ها که به درد کاربرانی میخوره که از برنامه نویسی و دل و جیگر کشیدن ویندوز  سر در نمیارن ... !


بنده اصلا این چنین قصدی نداشتم فقط چون با این تکنیک که شما فرمودید آشنا نبودم فکر می کردم که کار شدنی است وگرنه همان بار اول که فرمودید نشدنی است با توجه به شناختی که از تخصص شما داشتم نشدنی بودن از دید API را قبول داشتم ولی گفتم شاید راه حل دیگری داشته باشد.
خیلی دوست دارم این تکنیک ها را یاد بگیرم اما از کجا نمی دانم؟

----------


## AbiriAmir

> بله این یه راهه ولی نه برای ساخت فایلی که پاک نشه بلکه برای یک فولدر ، اون برنامه هم یک فولدر با نام Autorun.inf میسازه بعد داخلش یه فولدر با ترفندی که من در پست قبلیم ذکر کردم میسازه و چون سیستم عامل توانایی حذف اون فولدر داخلی رو نداره پس فولدر Autorun.inf رو هم نمیتونه پاک کنه ، به همین سادگی !


خب فکر نکنم ایشون هم منظورشون چیزی جز این بود
درسته که ایشون ذکر کردن فایل، اما اگر شما روش کار این نرم افزار رو میدونستید، بهتر نبود وقتی اسم این نرم افزار رو اوردن شما این راه حل رو ارائه میکردین؟

به هرحال من فکر میکنم ایشون به جواب سوالشون در این زمینه رسیدن

من به نوبه خودم از همه عزیزانی که در این تاپیک شرکت کردن تشکر میکنم

بله، گویا دوستان هم که میگفتن غیرممکنه بد نمیگفتن. فقط یا منظور ایشون رو نمیفهمیدن و یا این راه رو نمیدونستن
خب من هم نمیدونستم
از آقای تاجیک هم تشکر میکنم که این مساله رو روشن کردن

----------


## Mahmood_M

اینها درواقع نوعی باگ در ویندوز به حساب میان ، مشکل از نوع برخورد ویندوز هست که همچین فایلی می تونه ساخته بشه ، حذف نشدنش توسط ویندوز هم به مواردی مثل نام Folder یا File و یا برخی موارد به حجم فایل بستگی داره ، وگرنه دستور خاصی در ویندوز وجود نداره که بتونید با اون همچین فایلی ایجاد کنید ...
دستوراتی که زبانهای برنامه نویسی در اختیار کاربر می زارن به عنوان مثال برای ایجاد فایل ، در نهایت به API های ویندوز ختم میشن و باید از این لایه عبور کنن ! ، پس در نهایت ویندوز هست که با توجه به معیارهای خودش فایل یا پوشه رو می سازه و سعی می کنه فایلی نسازه که بعد نتونه حذفش کنه ...

ویندوز معمولا دستوراتی داره که برای این مواقع می تونه استفاده بشه ، دستوراتی مثل " rd " ( مخفف RemoveDirectory ) که برای اجرای وظیفش سعی میکنه برخی از معیارها رو نادیده بگیره ... !

اگر همین دستور رو با سوییچ S در CMD اجرا کنید ، پوشه و محتویاتش حذف خواهند شد ، مثلا :
rd /s "D:\AUTORUN.INF"

به هر حال ، نمیشه دنبال راهی منطقی برای ساخت فایلی که غیر قابل حذف کردن باشه گشت ، باید برای رسیدن به این هدف باید ویندوز رو دور زد ! که البته باز راه حلهایی پیدا میشه ...

موفق باشید ...

----------


## Felony

بله باگ هستن ، اون فولدری که اون برنامه معرفی شده میسازه رو نمیدونم ولی اگر فولدر رو با روشی که من گفتم بسازید حذف نمیشه ، به تصویر زیر دقت کنید ؛ همین الان برای یک فولدر تستش کردم :

شما تو چه ویندوزی تست کردید ؟ من 7 نسخه 64 بیت دارم و حذف هم نمیشه ، با توجه به اینکه گفتید فولدر با محتویاتش حذف میشه حدس میزنم شما فولدری که اون برنامه میسازه رو تست کردید ، یه فولدر با روشی که من گفتم بسازید و تست کنید ...

----------


## Mahmood_M

> بله باگ هستن ، اون فولدری که اون برنامه معرفی شده میسازه رو نمیدونم ولی اگر فولدر رو با روشی که من گفتم بسازید حذف نمیشه ، به تصویر زیر دقت کنید ؛ همین الان برای یک فولدر تستش کردم :


نام کاملش رو بنویسید حذف میشه :
بار اول نام کامل نبود و حذف نشد ، اما بار دوم نام کاملی که زمان Rename وارد شده بود ، وارد شد و فولدر هم حذف شد ...

ویندوز من هم XP سرویس پک 2 هست ، ولی مربوط به ویندوز نیست ، ورودی صحیح رو به دستور RD بدید فولدر حذف میشه ...

هم روشی که شما با استفاده از Winrar گفتید و هم روش دوستمون که توسط اون برنامه انجام میشه ، هر دوی این روشها از همین باگ در نامگذاری فولدر ها استفاده می کنن ، پس در حذفشون نباید تفاوتی وجود داشته باشه ...

----------


## gbg

دوستان چرا این قدر دور میرین؟
win rar چرا؟
در ضمن RD دستور ویندوز نیست دستور Dos هستش
به جای وینرار از MD "kabiri../" استفاده کنین و برای پاک کردن هم RD رو به MD عوض کنین (به حروف کوچک و بزرگ هم حساس نیست)
در ضمن فکر کنم اون نرم افزار هم از این راه استفاده نکنه چون تو اسم فلدرش .. نبود

----------


## صابر طهماسبی

> در ضمن فکر کنم اون نرم افزار هم از این راه استفاده نکنه چون تو اسم فلدرش .. نبود


حرف شما درسته پس از چه روشی استفاده می کنه؟

----------


## Mahmood_M

> حرف شما درسته پس از چه روشی استفاده می کنه؟


همگی از همون روش استفاده میکنند ، پوشه ای که توسط Winrar یا دستور MD ساخته میشه هم در نهایت به صورت نام پوشه همراه با یک نقطه نمایش داده میشه ( این دیگه بر می گرده به رفتار ویندوز ) ، مثلا :
Folder..\ :=> Folder.
احتمالا هر دوتاشون از همون دستور MD استفاده می کنند ...
MD : Make Directory
RD : Remove Directory

----------


## Felony

> در ضمن RD دستور ویندوز نیست دستور Dos هستش


تو ویندوز داسی وجود نداره ، اون CMD یا Command Prompt هست و در آخر داره از همون API های ویندوز استفاده میکنه !

----------


## lord_viper

با سلام ،

تا حالا شده فایلی یا فولدری را بخواین حذف کنین ولی نتونین این کار رو بکنین.معمولا این فایل ها توسط یک پروسه باز شده اند و اصطلاحا پروسه ای ، HANDLE اون فایل و یا فولدر رو در اختیار داره.
در این صورت در ری استارت بعدی می تونین این کار رو انجام بدین.برخی نرم افزار ها هم می تونن با بستن هندل این کار رو برای شما انجام بدن.فکر کنم معروفترینش برنامه Unlocker Assistant باشه.

اما مدتی قبل ، یکی از اعضای گروه 48bits (ماریو بالانو) خطایی رو در هسته ویندوز پیدا کرد که با استفاده از اون افراد می تونن فایلی رو ایجاد کنند که حذفش برای افرادی که از قضیه مطلع نیستند غیر ممکن هست


mkdir "\\?\%USERPROFILE%\Desktop\%USERNAME% "

این کد یک پوشه در دسکتاب ایجاد می کنه که وقتی می خواین اونو حذف کنین با خطای پایین روبرو می شین:


Cannot delete file: Cannot read from the source file or disk.

تحقیقات بالانو نشون میده که در ntdll.dll تابعی به نام RtlDosPathNameToNtPathName_U وجود داره که مسیر داس را به مسیر های اصطلاحا ان تی یونی کد تبدیل می کنه.(مسیر هایی NT دارای \?\\ هستند)
وقتی مسیری به عنوان آرگومان به این تابع داده می شه این تابع چک می کنه که آیا مسیر دارای فرمت معمول داس هست و یا از نوع NT.
اگر از نوع داس باشه تابع RtlGetFullPathName_Ustr و در غیر این صورت تابع RtlpWin32NTNameToNtPathName_U رو فراخونی می کنه.
اگر مسیر از نوع ان تی باشه و به یک یا چند فاصله ختم بشه تابع RtlpWin32NTNameToNtPathName_U این فاصله ها رو حذف و یا اصطلاحا استریپ نمی کنه.اما تابع RtlGetFullPathName_Ustr فاصله ها رو از بین می بره و اینجاست که این MISMATCH باعث ایجاد خطا میشه :
شما می تونین با ان تی کردن یک مسیر یعنی با اضافه کردن \?\\ به اول مسیر فایلی رو ایجاد کنین که دارای Space در انتهای نام خود هست.اما نمی تونین اونو به صورت داس یعنی بدون \?\\ در ابتدای اون حذف کنین.
همانطور که در قطعه کد بالا می بینین ، یک فضای خالی در انتهای نام فایل باعث ایجاد این مشکل شده.
برای حذف پوشه ایجاد شده عبارت زیر رو در CMD وارد کنین :


rmdir "\\?\%USERPROFILE%\Desktop\%USERNAME% "

می تونین با استفاده از این روش یه پوشه بدون نام رو خیلی راحت ایجاد کنین :


mkdir "\\?\%USERPROFILE%\Desktop\ "

البته می تونین از این روش برای ایجاد فایلهای غیر قابل حذف هم استفاده کنین


echo "sims.COM" > "\\?\%USERPROFILE%\Desktop\ "

البته در این حالت میتونین از اسامی غیر مجاز مثل null,com1و .... هم استفاده کنین

----------


## K.Mohammadreza

دوست گرامي ساخت فايل غير قابل حذف چندان کار مشکلي نيست همانطور که ويندوز چندين پوشه يا قايل غير قابل حذف داره!!! ساده ترين راه ممکن تعيين security مربوط به فايل يا پوشه است که من خودم شخصاً ازاين روش براي غير قابل دسترسي و حذف فابلها و پوشه هام استفاده ميکنم(مزايا: نياز به مخفي سازي نداره، قابل باز شدن در هيچ حالتي نيست حتي تا تغيير ويندوز، با برنامه ها و شل ويندوز هم قابل حذف يا ورود نداره ) شما هم از همين روش استفاده کنيد
براي ديدن تب Security روي فايل ها و پوشه ها گزينه Simple File sharing را بدون تيک کنيد
موفق باشيد

----------


## Felony

من کمی با دلفی کلنجار رفتم و روش ساخت و حذف این نوع فولدرها رو پیدا کردم ؛ 

برای ساخت :
  CreateDir('D:\Test..\');

برای حذف :
  RemoveDir('D:\Test..\');

----------


## esmit61

> دوست گرامي ساخت فايل غير قابل حذف چندان کار مشکلي نيست همانطور که ويندوز چندين پوشه يا قايل غير قابل حذف داره!!! ساده ترين راه ممکن تعيين security مربوط به فايل يا پوشه است که من خودم شخصاً ازاين روش براي غير قابل دسترسي و حذف فابلها و پوشه هام استفاده ميکنم(مزايا: نياز به مخفي سازي نداره، قابل باز شدن در هيچ حالتي نيست حتي تا تغيير ويندوز، با برنامه ها و شل ويندوز هم قابل حذف يا ورود نداره ) شما هم از همين روش استفاده کنيد
> براي ديدن تب Security روي فايل ها و پوشه ها گزينه Simple File sharing را بدون تيک کنيد
> موفق باشيد


 خوب این روش رو اگه کاربر بلد باشه و ادمین هم باشه دوباره برش میگردونه به حالت قبلش
ضمن اینکه سیستم فایل درایو حتماً باید NTFS باشه.

----------


## seyed_27

سلام 
آیا میشه برای محافظت از برنامه و اینکه فایل اجرایی برنامه از یه سری فایل های متنی یا دیتابیس استفاده میکنه و من اونا رو داخل پوشه ای قرار دادم. و کاربر نتونه به اون فایلها دسترسی داشته باشه ، از این روش استفاده کرد
یا روش دیگه ای مد نظرتون هست؟

----------


## K.Mohammadreza

سيد بزرگوار يادش بخير اون قديما را ميگم که ميخواستي برنامه قرآني بنويسي
در مورد سوالتون بايد عرض کنم اگه با اون روش که گفتم مجوزهاي دسترسي  يک پوشه را برداري حتي برنامه ها هم نميتونند از اون استفاده کنند.
بايد روش ديگري استفاده کني

----------


## MohsenB

جمیعا"
میشه ، میشه ، خیلیم خوب میشه

این برنامه رو نصب کنین ، بعد از اجرا یه قسمتی بنام پروتکشن داره ، به اون قسمت برید ، درایو فلش مموری تون رو انتخاب کنید و کلید پروتکت رو بزنید .

برنامه فلشتون رو با فرمت فایل NTFS فرمت کرده و یه (1) دونه فایل اوتوران میسازه که به غیر از فرمت دوباره فلش اصلا نمی تونید پاکش کنید .

انگار فایلی ساخته که هم هست و هم نیست

از اینجا هم می تونید دانلودش کنید:

http://509080.20upload.net/files/sha...2843671361.rar

----------


## saeedmassomi

بسیار عالی ...
برای تغییر پوشه kabiri. 
 به چه صورت عمل می کنیم

----------

