الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

السوفت ايس ومشكلة تجمد الجهاز ؟؟

مغلق
بدأه شادي في 26 سبتمبر 2004 · 4 رد · 828 مشاهدة · في لغة Assembly لأنظمة 16, 32, 64 بت
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بعض البرامج لا تعمل مع وجود السوفت ايس وعند استخدام برامج تخفي السوفت ايس ( وأقصد بذلك تحيدا برنامج IceDump ) وتشغيل البرنامج الهدف فإن الكمبيوتر يتجمد ولا ولا يمكن الاستمرار ويتوجب عليك اغلاق الجهاز يدويا ... وأنا اقصد هنا وندز 98 ....

فهل من حل لهذه المشكلة ؟

وما هو أفضل برنامج يقوم بإخفاء السوفت ايس ؟

#2

السلام عليكم,

الأخ شادي عندك حق فيما قلت.

لا أدري إن كانت هناك برامج تخفي سفتايس في مثل هذه الحالات وغالبا ما تكون موجودة لأن حين يظهر شيء يمكن أن نجد له النقيض.

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

لكي نتأكد إن كان برنامج سفتايس شغالا أم لا هناك عدة طرق وحسب تجربتي وجدت أن هناك 3 حالات متواجدة بكثرة :

- قد نستعمل الدالة CreateFile لنرى إن كان الدرايفر لسوفتليس محملا أم لا أو نشاهد درايفر للضهور لسفتايس أيضا وهما كالتالي :

SICE for win98

NTSICE for nt and xp

SIWDEBUG لست أتذكر الإسم الحقيقي وهو في نفس هذا الشكل

SIVDE???? هنا أيضا تقريبا نفس الإسم

والطريقة أننا نستدعي الدالة التي ذكرتها من قبل CreateFile وفي كل مرة نريد فتح اللأسماء المذكورة فإذا كانت موجودة ترجع لنا هذه الدالة قيمة ما و قيمة -1 - ناقص واحد - في الحالة الأخرى وهنا الطريقة بينة للتخلص من هذا إما أن نغير الأسماء التي يريد البرنامج البحث عنها أو نغير القيمة المسترجعة من الدالة علما أنه يجب أن نأخذ بعين الإعتبار القيمة التي ترجعها الدالة GetLastError فيما يخص إحدى الملفين الأخيرين.

- الطريقة الثانية هي استدعاء المقاطعة 68 . فحين نعطيها قيمة خاصة - ليت أتذكر الرقم أيضا وهذا مشكلي مع الأرقام - ونستدعي هذه المقاطعة فهي ترجع لنا قيمة تحدد إذا كانت سفتايس موجود أو لا وهنا أيضا ما علينا سوى أن نغير القيمة المرجعة لنوهم البرنامج كأن سفتايس غير موجود.

- الطريقة الثالثة هي استعمال المقاطعة 3 وسيرى البرنامج إن كان عنصرا آخر هو الذي سيتكلف ب Exceptions فإذا كان سفتايس موجود سيأخذ زمام الأمور وهنا يعرف برنامجنا أن هناك منافس له ويشعر بوجود الغريب. وهنا أيضا الطريقة السهلة هي تجنب كل هذا الكود الذي يستدعي كل هذا.

هذه هي حسب رأيي الأكثر إشاعة في الوندوز 98 علما أن في NT وما يعادله نلقى أيضا استعمال الدالة IsDebuggerPresent وكما تبدو لنا هذه الدالة فهي تراقب إن كان دبوغر آخر موجود وهذه ليست في 98 .

هذا وقد تظهر لنا أشياءا جديدة ولا ندري أين تصل بنا الأمور.

يمكن مشاهدة المثال عن كل هذا بالنسبة ل 98 في هذا الملف :

http://www.codecrew.info/code/tutorials/Anti_SiCe_Tricks.zip

إلى اللقاء.

#3

كنت قد قرأت مقالا قديما يتحدث عن امكانية البحث عن الرسالة التي يظهرها البرنامج الهدف عند تشغيله مع وجود السوفت ايس ثم التصرف مع الأمر الذي يستدعي هذه الرسالة للتخلص منها وبالتالي سوف يعمل البرنامج الهدف

على رأي صاحب المقال ...

وأذكر أنني بحثت عن هذه الرسالة ولكن لم أعثر لها على أثر ...

فهل ذلك ممكن ؟؟؟

#4

السلام عليكم,

قد يكون هذا المقال صحيحا في الحالة التي ذكرها وربما هذا كان في الأول ونعرف أن كل واحد يعمل ما يستطيع ليوفر له الحماية . ولكن الآن في الملفات الجديدة قد يكون غير كافيا وغالبا ما تكون هذه النافذة نتيجة عن Exception وهذا قد يبعدك كثيرا عن الكود الحقيقي الذي استدعى هذا . وعلى سبيل المثال فإذا تعاملت مع ملفات أرمديو الجديدة ستلاحظ ما قلته. زيادة أنه حتى إذا تجاوزت هذه النافذة فلن يكون ذاك كافيا لأن النافذة نتيجة للسبب الأول كما ذكرت في المقال السابق يعني CreateFile وإذا تجاوزت هذه المرحلة أو نقول نافذة الإنذار الأولى فسيعترضك من بعد int 3 وهنا إن لم تتتبع البرنامج فلن تعثر عنها لأن في غالب الأحيان سيعطيك إنذار مثل مثلا أن الملف معطوب أو أنه لم يجد المعطيات أو غيرها وقد تفتكر أنك عملت شيئا خطئا من قبل بينما كل ما في الأمر أن البرنامج عثر على Exception جديدة هذه المرة كانت نتيجة int 3 وهكذا حتى تنتهي من جميع العراقيل الموجودة في البرنامج.

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

إلى اللقاء.

#5

قد تكون الطريقة أسهل ببرنامج olly

عن طريق الأمر Attach

وبعد ذلك تتبع التنفيذ وتعرف كيف وصل البرنامج إلى هنا ؟ وتحاول تجاوز الأمر

وفي طريقة أخرى وهي بتجاوز الإستثنائات التي تحدث عند بداية تشغيل البرنامج

عن طريق مفتاح Shift+F8 وبهذة الطريقة تستطيع تتبع البرنامج من البداية

إلى أن يصل عند كود يتحقق من وجود برنامج Debugger في الخلفية وبكل بساطة

تتجاوز كود التحقق

-

http://www.jaascois.com

*************************************************

مجموعة مواضيع - إحتراف البرمجة -

ّ~~~~~~~~~~~~~~~~~~~~~~

البرمجة المتقدمة & الهندسة العكسية & برمجة وأمن الأنظمة

/index.php?showtopic=45002

آخر المواضيع :

+- تحليل جرائم الكمبيوتر -+

أنظمة اليونكس(Solaris,HP, AIX,SCO)وانواع المعالجات

ثغرة SMS لأجهزة الجوال Siemens 3568i !

أخطاء وثغرات البرامج العربية !!!

سلسلة مواضيع - أمن وحماية مواقع الويب -

E البرمجة المتقدمة X للملفات التنفيذية E

سلسلة مواضيع ثغرات الأنظمة وإختراق الأجهزة

**************************************************

<span style='font-size:14pt;line-height:100%'>الإرادة تحـــقق السيـــادة</span>

**************************************************

هذا الموضوع مغلق.

مواضيع مشابهة