1. المٌقدمة الأولي :دورة إختبار ثغرات حقن قواعد البيانات SQLI الإحترافية لعام 2017 عام 2018
    تٌعد ثغرات حقن قواعد البينات الثغرة رقم واحد فى العالم والمصنفة تحت بند الإخطر
    والفريق التابع له بإختراق أكبر المواقع الصهيونية قرائة الموضوع
  2. المٌقدمة الثانية : دورة إختبار ثغرات حقن قواعد البيانات SQLI الإحترافية لعام 2017 عام 2018
    في هذه المٌثقدمة الثانية والأخيرة سوف نتعرف على قواعد علم حقن قواعد البيانات
    حتى يتثنى لنا علم يٌساعدنا على القيام بعمليات الحقن بالطرق الصحيحه قرائة الموضوع
  3. دورة كشف دمج والتلغيم حصريا على أرض عراق تيم(2017)
    بعد ماقمت بعمل دورة الكشف دمج والتلغيم وستكملت الدوره وتحتوي على 12 درس
    كانت دروس حصريا على عراق تيم وشرح واضح جدا ومفهوم الى المبتدأ والى المبدع قرائة الموضوع

اساسيات تتبع وتصحيح البرامج التنفيذيه => ollydb ( الجزء الثاني )

الموضوع في 'الـقـسـم الـعـام' بواسطة .:: RSS ::., بتاريخ ‏29 سبتمبر 2012.

كاتب الموضوع : .:: RSS ::. المشاهدات : 2,183 الردود : 0 ‏29 سبتمبر 2012
حالة الموضوع:
مغلق
  1. غير متصل

    .:: RSS ::. عضوية آلية

    عضو منذ:
    ‏9 سبتمبر 2011
    عدد المشاركات:
    الإعجابات المتلقاة:
    0
    نقاط الجائزة:
    الإقامة:

    السلام عليكم ورحمه الله وبركاته



    اهلا بزوار واعضاء بيت الهكر الاخلاقي

    في الدرس السابق

    اساسيات تتبع وتصحيح البرامج التنفيذيه => ollydb

    كنا قد وضعنا محتويات كتاب يشرح بعض الاساسيات اللازمه
    للمبتدئ للبدء في مجال تنقيح البرامج وتصحيحها باستخدام برنامج olly
    وقد اوضحنا مثال بسيط للتجربه

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



    بدون اطالات نبدأ علي بركه الله

    -------------


    بدايتا قم بتحميل البرنامج التالي

    http://www.4shared.com/file/CpMD5O4W/sanf.html

    هذا البرنامج يوجد به خطأ . او بمعني اخر نقص . وسبب الخطأ هو عدم وجود المكتبه
    Mylib0va.dll
    لان البرنامج عندما يبدأ التنفيذ . يقوم بالتحقق من وجود هذه المكتبه . اذا وجد الملف يستمر في
    التنفيذ . واذا لم يجده يظهر رساله الخطأ وينهي البرنامج
    ( قم بتجربته بنفسك )
    الان ما نريده من البرنامج هو الا يقوم بالتحقق من وجود هذه المكتبه . ويستمر في التنفيذ

    بسم الله نبدأ :-
    ---------------


    شغل برنامج olly ثم من القائمه اختر File ومنها Open لاختيار البرنامج
    اختر البرنامج الذي قمت بتحميله . ستظهر لك الصوره التي تعودنا عليها

    [​IMG]

    الان اشر بالماوس علي نافذه CPU واضغط Ctrl+n لعرض دوال البرنامج
    ستظر لك نافذه الدوال كالتالي


    [​IMG]

    الان اي داله هي المسؤوله عن اظهار رساله الخطأ ؟
    الداله هي MessageBox
    اضف لها نقطه توقف او breakpoint


    [​IMG]

    الان بعد اضافه نقطه التوقف . قم بتشغيل البرنامج بالظغط علي مفتاح F9 لتنفيذ كافه تعليمات البرنامج
    الي ان يصل لنقطه التوقف


    [​IMG]

    الان هنا ركز قليلا .
    هل تجد اي امر يمكن ان نغيره لتجاوز هذا المسج وداله الانهاء ؟ ( اكيد لا )
    اذا سنقوم بالبحث عن التعليمه التي اوصلتنا الي هذه الورطه !
    اذهب الي بدايه الداله ( دائما بدايه الداله تأتي قبلها هذه التعليمات NOP .. RETN .. JMP )
    اضغط علي تعليمه بدايه الداله واختر بحث عن الاتصالات بهذه الداله - كالتالي

    [​IMG]

    ستظهر لك مجموعه من التعليمات التي تقوم بتنفيذ هذه الداله وفي مثالنا تعليمه واحده

    [​IMG]

    اضف لها نقطه توقف او breakpoint من خلال المفتاح F2 . ثم اعد تشغيل البرنامج
    من القائمه بالاعلي اختر Debug ومنها Restart - كالتالي


    [​IMG]

    الان قم باستخدام المفتاح F9 لبدء تنفيذ البرنامج ( حتي يتوقف عن نقطه التوقف التي وضعناها )
    لاحظ هنا ان التنفيذ توقف عن تعليمه Call وهي تعليمه للاتصال بداله المسج
    لو بحثت عن الاتصالات لهذه الداله ( لان التعليمه التي قبلها RETN اي بدايه داله )
    جرب : اشر بالماوس فوق تعليمه Call ثم ابحث عن مصدر التعليمه عن طريق
    Find references to او باستخدام المفتاح Ctrl+R
    ستجد ان التعليمه التي تتصل بها هي تعليمه القفز JE

    [​IMG]

    قد تعتقد اننا وجدنا الحل بتغيير القفزه ( حاول تغيير القفزه لتجد الكارثه ؟؟ )
    اذا غيرت القفزه ستخبر البرنامج ان المكتبه موجوده . وبهذا سيقوم البرنامج بتنفيذ داله داخل المكتبه
    عن طريق نظام التشغيل طبعا . ولن يجد نظام التشغيل المكتبه . وبهذا تقع في مشكله اكبر
    وسيصبح من خطأ مستخدم الي خطأ نظام
    وفي هذه الحاله بدل من تكحيلها عميناها - والحل ؟

    لهذه المشكله توجد حلول كثيره ( لان الاسمبلي ليس فقط قفزات )
    الحل الاول : حذف الاتصال بداله المسج وانهاء البرنامج عن طريق تعليمه NOP
    الحل الثاني : تغيير عنوان القفز ونحدد له عنوان بعد تعليمه الاتصال

    حذف التعليمات من البرامج التنفيذيه يتم عن طريق تعليمه واحده وهي NOP
    وهي اختصارا لـ No Oporation وتعني لا شئ ( لا تفعل شئ )


    الان اضف نقطه توقف علي تعليمه القفز JE باستخدام المفتاح F2 ثم اعد تشغيل
    البرنامج من Debug ثم Restart
    واخيرا قم يتنفيذ البرنامج باستخدام المفتاح F9
    ستلاحظ ان التنفيذ توقف عند داله القفز والتي وضعنا عنها نقطه توقف
    الان اذهب لداله الاتصال بالمسج والتي يتم القفز اليها ( عن طريق مفتاح Enter )
    سيتم نقلك الي داله الاتصال . اضغط عليها بالزر الايمن للماوس واختر Assemble
    سيظهر لك نافذه تعديل الكود . قم بتغير تعليمه Call الي تعليمه NOP
    او بمعني اخر بسلسه تعليمات NOP - كالتالي


    [​IMG]

    ثم اضغط Assemble ثم cancel
    الان ستلاحظ ان تعليمه الاتصال بالماسج قد تغيرت في الكود الي سلسله تعليمات NOP
    كل ما عليك فعله الان هو تنفيذ البرنامج باستخدام F9 مرتين لتري ان البرنامج يعمل بنجاح


    [​IMG]

    وبهذا نكون قد تجاوزنا داله الاتصال Call

    اما بالنسبه للحل الاخر . وهو تغيير عنوان القفزه الي عنوان يأتي بعد داله الاتصال Call
    فسأتركه لكم للتجربه . وهو يعتبر HomeWork

    اتمني من متابعين الدرس وضع نتيجه الـ HomeWork في مشاركاتهم للافاده



    اتمني اني اكون وفقت في الشرح

    ------------------

    الي هنا يكون الموضوع انتهي
    اتمني يكون الموضوع سهل .. واي استفسار موجود بأذن الله

    اسألكم الا تنسوني من صالح دعائكم بظهر الغيب

    اترككم في رعايه الله وامنه
    والسلام عليكم ورحمه الله وبركاته







     


    جاري تحميل الصفحة...
حالة الموضوع:
مغلق

مشاركة هذه الصفحة

جاري تحميل الصفحة...