delphi4arab منتديات دلفي للعرب

نسخة كاملة : ما طريقة ايقاف برنامج بروسيس يعمل لا اعرف اسمه الا عن طريق الريجستري
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم
ما طريقة ايقاف برنامج بروسيس يعمل لا اعرف اسمه الا عن طريق الريجستري
مثال مكان البروسيس و اسمها و هي مسجلة في الرجستري
%temp%/process.exe
بما أنك عرفته مكانه في الرجيستر ==> لقد عرفت اسمه بالفعل :
اسم البروسس يأخذ اسم ال exe => اذن الاسم هو process.exe
نشكر الاخوة الكرام على هذا الموضوع
لكن كيف يتم الايقاف اقصد كود البرمجة او عنصر الدلفي المطلوب؟
شكرا لكم
ولكن كيف اعرف اسم البروسس انطلاقا من الرجستري ثم اقوم بقتله و شكرا
السلام عليكم
لم افهم هذه الجزئية من سؤالك :
إقتباس :انطلاقا من الرجستري

بالنسبة للبروسوس التي تعمل تكون جميعها معلومة وتستطيع جلبها من خلال بعض الدوال ...
لذلك إذا كانت البروسوس شغاله ستستطيع معرفة اسمها ...

اما إذا كنت تقصد انه مثلاً اسم العملية يتغير من ملف إلى ملف آخر ... كـ الباتشت والفيروسات ...
إذا كنت تعرف مساار القيمة في الريجستري تستطيع قراءة اسم العملية منها .. وبهذا تعرف اسم العملية ...

إذا كان شيء آخر وضح اكثر
اما إذا كنت تقصد انه مثلاً اسم العملية يتغير من ملف إلى ملف آخر ... كـ الباتشت والفيروسات ...
نعم اخي هو فيروس تتغير العملية من جهاز لاخر لكن في الرجستري تكون value name خاصة به 32 حرف لا يتغير لكن القيمة تكون عشوائية واسم البروسس يتغير من جهاز لاخر
إقتباس :في الرجستري تكون value name خاصة به 32 حرف لا يتغير
إذا قم بقراءة مسار القيمة في الريجستري وستعرف ما المسار(اقصد مسار الفايورس) في القيمة المكون من 32 حرف .. وبعد تستطيع التعاامل معها كما تشاء
إقتباس : واسم البروسس يتغير من جهاز لاخر
ربما يتبع الفايروس آلية معينه لتحديد اسم العملية ... إذا عرفتها ستعرف ما هو اسم العملية التي ستكون على هذا الجهاز

إذا كان فايروس ويتم تشغيل مع بدأ التشغيل ... يوجد بعض الطرق التي تعطيك اسماء ومسارات البرامج التي تبداء مع بداية تشغيل ويندوز

يوجد طريقة آخرى ربما تنفع لكنها نوعاً ما معقده وتحتاج شخص يعرف بما يحدث على الكمبيوتر من تشغيل إلى ان يتم إطفاائه Smile ...
وهي من خلال جلب الـ ProcessIds اي جلب جميع الـ IDs الخاصة بالعمليات التي تعمل
ثم نقوم بقراءة باايتات معروفه في هذا الفايروس ... ولنفرض مثلاً ان العنوان 0042F3C2
يحمل البايتات 55 8B EC 83 C4 F0 وتكون ثابته اي من ضمن قسم Code الخاص بالعملية ...

وبعد ذلك نعمل حلقة تقوم بقراءة العنوان 0042F3C2 في جميع العمليات ... وإذا وجد ان البايتات
التي تم قرائتها تتطابق مع البايتات الثابته والموجودة في الفايروس تعلم ان الـ ID الذي تم القراءة منه
الآن هو الخاص بالفايروس

هذه الفكرة العامة ... طبعاً يوجد افكار كثيرة وطرق سهله وصعبه ... ولك الخياار في اي طريق تختاره