PDA

View Full Version : جایگزین کردن dll در system32 و dllcashe



daskar
شنبه 24 آذر 1386, 12:34 عصر
سلام
دوستان و استادان گرامی
من به یک مشکل برخوردم و نیاز به راهنمایی دارم
1- من میخوام دو فایل KBDFA.DLL و oleaut32.dll جایگزین دو فایل شاخه system32 و dllcashe ویندوز اکس پی بشه
2- حالا در حالت عادی نمیشه بایستی حتماً با startup سیستم بالا بیارم بعد جایگزین کنم
3- من میخوام با یک فایل اجرایی این مشکل رو حل کنم به عبارتی یه فایل اجرایی که دو فایل رو انتخاب و خودش عملیات جایگزین کردن رو انجام بده

لطفاً راهنمایی نمایید

Inprise
شنبه 24 آذر 1386, 15:05 عصر
باید قبلش سرویس Windows File Protection را Down کنی که بتونی اونجا فایلها رو Overwrite کنی . اگه برنامه ات با امجوز ادمین اجرا میشه مشکلی نداری . در مورد متوقف کردن WFP جستجو کن .

unforgiven.
شنبه 24 آذر 1386, 21:39 عصر
http://pubs.logicalexpressions.com/Pub0009/LPMArticle.asp?ID=290

Take a look !

daskar
یک شنبه 25 آذر 1386, 08:28 صبح
میشه یه کد نمونه برام بزاری

hmm
یک شنبه 25 آذر 1386, 09:36 صبح
اگه اشتباه نکنم فایل رو اول تو dllcache بریزی و بعد توی system32 با یک پیغام مواجه میشی که سی دی ویندوز رو میخواهد که اگه انصراف بدی فایلهات کپی میشن.
البته امتحان کن نمیدونم تو sp2 هنوز میشه همچین کاری کرد یا نه.

daskar
یک شنبه 25 آذر 1386, 13:41 عصر
دوستان من این کد رو تو گوگل پیدا کردم ولی برای غیرفعال کردنه و یخورده هم مشکل اجرا داره
1- مشکل این کد در کجاست
2- حالا که غیر فعال شد چطوری دوباره فعالش کنم
با استفاده از تابع زیر می توانید Windows File Protection را فعال یا غیر فعال نمایید.
پس از غیرفعال نمودن می توانید فایلهای سیستمی را تغییر دهید. در صورت فعال بودن پس از تغییر اینگونه فایلها ویندوز نسخه دستکاری شده را با نسخه اصلی جایگزین می نماید!



procedure SetSFC(Disable : boolean);
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.OpenKey('SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon', False);
if Disable then
Reg.WriteInteger('SFCDisable',4294967197)
else
Reg.WriteInteger('SFCDisable',0);
Reg.CloseKey;
Reg.Free;
end;

daskar
یک شنبه 12 اسفند 1386, 10:01 صبح
سلام
دوستان گرامی من جواب رو پیدا کردم واسه دوستانی که مثل من مشک دارن میتونن از این روش استفاده کنن
روشی که من استفاده کردم به صورت زیر میباشد.
1-یک پچ فایل با 4 خط شامل دستورات کپی در dllcashe و system32 از فولدر مربوطه
2- یک قطعه کد که فایل autoexec.bat رو باز کنه و اسم فایل بچ فایل ما را به فایل autoexec اضافه کنه
3-کد اضافه کردن فایل برنامه به startup جهت اجرای برنامه پس از ریسیت شدن
4- دستور ریسیت کردن برنامه
مراحل کار برنامه
برنامه ابتدا چک میکند که در autoexec اسم بچ فایل ما وجود دارد یا خیر اگر بود آن را از autoexec پاک میکند اتمام برنامه
اگر نبود برنامه اسم بچ فایل را به autoexec اضافه کرده سپس ویندوز را ریسیت میکند
پس از ریسیت شدن قبل از آنکه dll ها در حافظه بار شود بچ فایل ما فایلها را در مقاصد مورد نظر کپی میکند سپس ویندوز بالا آمده برنامه ما از طریق startup اجرا میشود و loop بررسی میگردد
شاید اگر سیستم ما ntfs باشدبرنامه جواب ندهد چون در سیستم ntfs برنامه چک نشده است