نمایش نتایج 1 تا 16 از 16

نام تاپیک: ایجاد یک فایل حذف ناشدنی

  1. #1
    کاربر دائمی
    تاریخ عضویت
    مرداد 1382
    محل زندگی
    تهران
    پست
    484

    ایجاد یک فایل حذف ناشدنی

    آیا راهی وجود داره که بشه رو ویندوز NT فایلی ایجاد کرد که کاربر با سطح دسترسی Administrator قادر به حذف اون نباشه؟

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

  2. #2
    کاربر دائمی آواتار SReza1
    تاریخ عضویت
    تیر 1382
    محل زندگی
    کنار تعدادی تراریوم و کاکتوس!
    پست
    702

    جواب

    بابا تو که استاد مایی
    به نظر من اگه بتونی یک جوری فایل inuse کنی نمیشه اصلا پاکش کرد!! در ضمن مگه سطوح دسترسی بالاتر از admin هم داریم

  3. #3
    احتمالاً اکثر کسانی که با Windows xpکار کرده اند تو فولدر c:\program files یه فولدر xerox دیده اند که به هیچ طریقی نمیتوان آنرا حذف کرد، چون همیشه inuse میباشد.
    حالا اگه بتوان یه جوری فایل رو به یکی از پروسسهای سیستم مربوط کرد، طوری که همیشه از آن استفاده کند. میتوان امید داشت که غیر قابل حذف شود!
    ولی متاسفانه من هم نمی دانم چطور باید این کار رو کرد!! :oops: :oops:

  4. #4
    کاربر دائمی
    تاریخ عضویت
    مرداد 1382
    محل زندگی
    تهران
    پست
    484
    با این کلمه استاد خجالتم نده آقا رضا. تو این کاری که ما در پیش گرفتیم اگر صد سال هم درگیر باشیم بازم با استادی خیلی فاصله هست.

    برای in-use کردن فایل باید یک برنامه در حال اجرا اون فایل رو استفاده کنه. خود برنامه من که قرار نیست همیشه اجرا باشه پس یا باید بی‌خیال این راه شد یا راهی پیدا کرد که یک برنامه سیسمی این فایل رو in-use کنه.

    سطح دسترسیهای بالاتری هم هست. مثلا" هسته سیستم عامل (Kernel) بالاترین سطح دسترسی ممکن رو داره. یک Administrator نمی‌تونه یک فایل با سطح دسترسی سیستم رو پاک کنه حتی اگر in-use هم نباشه.

  5. #5
    کاربر دائمی
    تاریخ عضویت
    مرداد 1382
    محل زندگی
    تهران
    پست
    484
    vDelphi دست به ماشه‌اش سریعتر بود و قبل از من جواب رو داد. :D

  6. #6
    کاربر دائمی آواتار SReza1
    تاریخ عضویت
    تیر 1382
    محل زندگی
    کنار تعدادی تراریوم و کاکتوس!
    پست
    702
    خوب حالا جواب چیه؟ :oops:

  7. #7
    کاربر دائمی
    تاریخ عضویت
    مرداد 1382
    محل زندگی
    تهران
    پست
    484
    نقل قول نوشته شده توسط SReza1
    خوب حالا جواب چیه؟ :oops:
    منظورم این بود که vDelphi قبل از من جواب سوال تو رو داد. سوال اولیه همچنان بی‌جوابه.

  8. #8
    همانگونه که خودتان فرمودید اگر برنامه ای داشته باشید که نام فایل مورد نظر را دریافت و انرا در حال استفاده نگهدارد این امکان وجود دارد که جلوی حذف شدن گرفته شود

    ولی یک سوال مطرح می شود .... چرا می خواهید یک فایل حتی در سطح Admin حذف نشود؟

  9. #9
    کاربر دائمی
    تاریخ عضویت
    مرداد 1382
    محل زندگی
    تهران
    پست
    484
    نقل قول نوشته شده توسط Javan_Soft
    همانگونه که خودتان فرمودید اگر برنامه ای داشته باشید که نام فایل مورد نظر را دریافت و انرا در حال استفاده نگهدارد این امکان وجود دارد که جلوی حذف شدن گرفته شود
    مشکل این راه حل قبلا" عنوان شده
    http://www.barnamenevis.org/vi...?p=16653#16653

    نقل قول نوشته شده توسط Javan_Soft
    ولی یک سوال مطرح می شود .... چرا می خواهید یک فایل حتی در سطح Admin حذف نشود؟
    کاملا" روشنه: نیاز!

  10. #10
    برای اینکه فایلی تحت هیچ عنوان پاک نشود باید کاربر
    NT AUTHORITY\SYSTEM آن را اجرا کرده باشد . این کاربر ( که معرف کرنل یا کنترلرهای سطح کرنل ویندوز است ) فقط و فقط و فقط زمانی فعال میشود که یکی از ماژولهای مرتبط با کرنل درخواست انجام فعالیتی در سطح کاربرد را صادر نمایند . مختصرا" یک درایور کرنل مود خیلی ساده طراحی کنید که فایل مورد نظر شما را در مواقع مورد نظرتان باز نگه دارد . برای حصول به این مقصود باید DDK - Driver Development Kit- را تهیه کنید که شامل مقادیر معتنابهی هدر سی و تمپلیت طراحی درایورهای سطح هسته ویندوز است .
    آخرین ویرایش به وسیله Inprise : دوشنبه 28 فروردین 1385 در 16:57 عصر

  11. #11
    آقای Inprise با جوابتون خیلی حال کردم :D
    ولی فکر کنم یه راه کم خرج تر هم باشه:
    اگر با طرز کار ویروسها آشنا باشین میدونین که ویروسهایی که رو کامپیوتر خودشونو تکثیر می کنن میتونن خودشونو به برنامه های دیگه قلاب کنن! حالا میشه این کار رو با نوشتن یه برنامه کرد که خودشو به یه فایل سیستم وصل می کنه و هر بار که اجرا میشه فایل مورد نظر رو فرا خوانی کنه، استفاده کرد!
    اینطوری مشکلات کار با DDK رو هم نداریم! :D

  12. #12
    ممنون از جناب DelphiArea که اینقدر به من لطف دارند 8)
    اما سوال من در مورد ایده ای بود که باعث می گردد چنین نیازی ایجاد شود

  13. #13
    کاربر دائمی
    تاریخ عضویت
    مرداد 1382
    محل زندگی
    تهران
    پست
    484
    سلام،

    اینپرایز عزیز ممنون. فکر کنم راهی که پیشنهاد کردی تنها راه عملی باشه چون قبلا" فایل رو به یک فایل سیستم مرتبط کردم که حاصلی نداشت. البته یک فرقی داشت که سیستم پیغام می‌داد که این فایل به فلان فایل سیستم در ارتباط هست و ممکنه مشکلی ایجاد بشه٬ ولی با این وجود فایل رو راحت حذف می‌کرد. بعدش سعی کردم که Security Descriptor فایل رو تغییر بدم و SID مربوط به System Authority رو بهش انتساب بدم که این هم نشد٬ که دلیلش پیچیدگی قضیه و نابلدی من بود. :(

    ولی خوب راستش کار اینقدر مهم نیست که ارزش وقت گذاشتن برای یک Kernel Driver واسط رو داشته باشه.

    در هر حال از همه دوستان ممنونم.

  14. #14
    کاربر دائمی
    تاریخ عضویت
    مرداد 1382
    محل زندگی
    تهران
    پست
    484
    نقل قول نوشته شده توسط Javan_Soft
    ممنون از جناب DelphiArea که اینقدر به من لطف دارند 8)
    اما سوال من در مورد ایده ای بود که باعث می گردد چنین نیازی ایجاد شود
    برای جواب به سوال شما باید کل کاری رو که قراره انجام بدم از اول شرح بدم تا دلیل اینکه چرا به چنین چیزی احتیاج پیدا کردم روشن بشه. چون این کار چیزی نیست که به درد شخص دیگه‌ای بخوره برای همین شرح دادنش تنها وقت من٬ شما و دیگران رو ضایع می‌کنه و بس.

    جدا از اون در این تاپیک فرض بر اینه که دیگران به سوال من جواب بدن٬ نه اینکه سوالی از من پرسیده بشه که در ارتباط با حل مشکلم نیست. درسته؟

  15. #15
    کاربر دائمی آواتار Mohammad_Mnt
    تاریخ عضویت
    اسفند 1381
    محل زندگی
    جنگلی به نام ایران
    سن
    41
    پست
    1,875
    آقا کامبیز . شما می خواید یه نسخه Trial از برنامتون رو توزیع کنید . برای این کار به جای تاریخ سیستم از تاریخ یه فایل استفاده می کنید و اون فایل هم طبیعتا نباید حذف بشه . درسته ؟

  16. #16
    کاربر دائمی
    تاریخ عضویت
    مرداد 1382
    محل زندگی
    تهران
    پست
    484
    اگر دوباره اون پاسخ رو با دقت بخونی، میبینی که گفتم اون فایل باید یک فایل سیستمی باشه که ویندوز در شروع کار درش چیزی بنویسه. مسلما" یک فایل سیستمی رو نباید حذف کرد. حالا اگر کسی هم اون فایل رو حذف کنه در شروع بعدی ویندوز دوباره ایجاد می‌شه.

    از طرف دیگه برای Time Trial نباید تنها به تاریخ یک فایل بسنده کرد. تازه بازم فرض رو بر این بگذاریم که تنها از تاریخ اون فایل استفاده شده باشه٬ در این صورت حذف اون فایل باعث می‌شه که برنامه دیگه نتونه تاریخ رو بدست بیاره و دیگه Time Trial نخواهد بود.

    اگر صحبت از این بود که یک فایل رو نشه هک و اصلاح کرد٬ حرفت کاملا" درست بود. اما سوال من فقط درباره جلوگیری از حذف فایل بود. اگر تاریخ یا محتوای فایل تغییر داده بشه برای من هیچ اهمیتی نداره.

    و نکته آخر اینکه٬ اگر به فرض اگر قرار بود که از این فایل برای نسخه Time Trial استفاده بشه٬ معقولتر این بود که از یک کلید در رجیستری استفاده کرد و برای جلوگیری از تغییر یا حذف اون سطح دسترسی مورد نیاز برای اون کلید رو سیستم تغییر داد (البته چجوریش رو نمی‌دونم).

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •