PDA

View Full Version : دسترسی کامل به کلیدهای محافظت شده در رجیستری



WorldVbMan
شنبه 18 شهریور 1391, 17:41 عصر
سلام

وقتی بخوایم به یک مسیر محافظت شده تو رجیستری دسترسی داشته باشیم و مثلاً یک زیر شاخه براش بسازیم با پیغام زیر مواجه میشیم:

Requested registry access is not allowed.
که نشانگر اینه که ما از طریق کد اجازه نداریم با این مسیر کاری داشته باشیم. میگم از طریق کد چون وقتی در حالت ادمین ویندوز بالا میایم براحتی می تونیم این کار رو با RegEdit انجام بدیم.

یکی از این مسیرهای پرکاربرد مسیریه که با اضافه کردن یه ساب کی با نام System توش و سپس افزودن کلید DisableTaskMgr با مقدار1 در اون می تونیم جلوی نمایش و بالکل دسترسی به تسک منیجر رو بگیریم.

Software\Microsoft\Windows\CurrentVersion\Policies \
حالا یکی از راه حل های پیشنهاد شده این بود که کاری کنیم که برنامه بصورت ادمین بیاد بالا و اون استفاده از مانیفست بود که متأسفانه کارم رو راه ننداخت.

وقتی هم دستی از فولدر دیباگ برنامه م Run AS Admin رو می زنم باز هم با خطا مواجه میشم.

یا حتی اگر UAC رو غیر فعال کنم باز هم افاقه نمی کنه.:متفکر:

دوستان می تونن راهکار بدن؟؟

WorldVbMan
یک شنبه 19 شهریور 1391, 05:47 صبح
دوستان باتجربه تر یه امتحان بکنن و راهنمایی بکنن لطفاً. باور کنید تست کردنش خیلی وقت نمی گیره.
اعصابم بد گیر این ماجراس.
لااقل یه همدردی ای بکنید باهام!!

WorldVbMan
یک شنبه 19 شهریور 1391, 06:55 صبح
آقا به لطف خدا مشکل حل شد

راه حل رو میگم، بلکه یه روزی برای دوستان راهگشا باشه که بلاشک هم خواهد بود
راه حل، همون بصورت ادمین اجرا شدن برنامه س. حالا برای این کار باید دات نت هم با سطح دسترسی مورد نیاز بیاد بالا.
برای این کار از همون مانیفست استفاده میشه. حالا اینکه چرا بار اول و دوم و دهم! جواب نداد، من نمی دونم فقط با Hibernate اخیر (هرچند بی ربطه) ولی مشکل حل شد.

برای دسترسی به مانیفست: در سالوشن اکسپلورر روی اسم پروژه راست کلیک بکنید و ازش Properties بگیرید.
در همون تب Application روی دکمه ی View Windows Setting کلیک کنید تا مانفیست پروژه تون رو ببینید.
حالا کافیه این تگ:

<requestedExecutionLevel level="asInvoker" uiAccess="false" />
رو با

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
ریپلیس کنید.

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

برای دیدن زیبایی و لذا این کار همون مسیری رو که دادم تست کنید. فقط حواستون باشه که بعداً عوض اون 1، حتماً مجدد 0 رو تو کلید جایگزین کنید وگرنه تسک منیجر نخواهید داشت. ضمناً کلید ایجاد شده تون باید از نوع RegistryValueKind.DWord باشه.

__________________________________________________
شعار ندارم، حرف دلمه: اللّهمَ عَجِّل لِوَلیِّکَ الفَرَج بِحَقِّ مُحَمَّدٍ وَ آلِهِ الطَّیِّبین (صَلَواتُ الله عَلَیهِ وَ عَلَیهِم اَجمَعین)