في هذه المقالة ، المهام الخمس الأولى ، سنتعلم أساسيات التفكيك ، ونحل مشاكل المستوى العكسي الأولي ، ونفكك أيضًا تطبيق dotNet.
المعلومات التنظيميةخاصةً لأولئك الذين يرغبون في تعلم شيء جديد وتطويره في أي من مجالات أمن المعلومات والحاسوب ، سأكتب وأتحدث عن الفئات التالية:
- PWN.
- التشفير (التشفير) ؛
- تقنيات الشبكات (الشبكة) ؛
- عكس (الهندسة العكسية) ؛
- إخفاء المعلومات (Stegano) ؛
- بحث واستغلال مواطن الضعف WEB.
بالإضافة إلى ذلك ، سوف أشارك تجربتي في الطب الشرعي للكمبيوتر ، وتحليل البرامج الضارة والبرامج الثابتة ، والهجمات على الشبكات اللاسلكية وشبكات المناطق المحلية ، وإجراء عمليات pentests واستغلال الكتابة.
حتى تتمكن من معرفة المقالات الجديدة والبرامج والمعلومات الأخرى ، أنشأت
قناة في Telegram ومجموعة لمناقشة أي مشاكل في مجال التصنيف الدولي للأمراض. أيضًا ، سأدرس شخصيًا طلباتك الشخصية وأسئلتك واقتراحاتك وتوصياتك
شخصيًا وسأجيب على الجميع .
يتم توفير جميع المعلومات للأغراض التعليمية فقط. لا يتحمل مؤلف هذا المستند أية مسؤولية عن أي ضرر يلحق بشخص ما نتيجة استخدام المعرفة والأساليب التي تم الحصول عليها نتيجة لدراسة هذا المستند.
C ، GCC32
النظر في أبسط الحالات. هذا هو أول السعي العكسي.

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

ممتاز. لدينا دعوة ورسالة حول كلمة المرور الخاطئة. ننظر إلى الخطوط الموجودة في ملف البرنامج ، ونجد بينهم دعوة ورسالة حول كلمة المرور غير الصحيحة. يجب أن يكون هناك كلمة مرور قريبة.

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

اكتمال المهمة. نعطي كلمة المرور ، نحصل على 5 نقاط.

ELFx86 ، أساسي
يطلب منا العثور على كلمة مرور.

نقوم بتحميل البرنامج في مصحح أخطاء IDA Pro (استخدم الإصدار 7.0) واضغط على F5 لفك تشفير البرنامج.

وبالتالي ، تتم مقارنة الاسم الذي تم إدخاله بالسلسلة john ، وتتم مقارنة كلمة المرور مع الكسارة.

وبالتالي ، قمنا بحل المهمة بشكل صحيح والحصول على كلمة المرور الخاصة بنا. نحن استئجارها وكسب 5 نقاط أخرى.

PEx86 ، 0 الحماية
هذه المرة يتم منحنا إكس شنيك.

قم بتنزيله في IDA Pro.

لا يحفظ البرنامج معلومات تصحيح الأخطاء ، لذلك لا نرى أسماء الوظائف المعتادة مثل الرئيسية. دعونا نلقي نظرة على الخطوط في البرنامج ، لهذا اضغط + F12.

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

نحن موجودون في قسم rdata. لنجد كل الروابط في الكود لهذا العنوان. للقيام بذلك ، اضغط X.

وبالتالي ، في رمز البرنامج ، هناك مكالمة واحدة فقط لخطنا. نقر نقرًا مزدوجًا وننتقل إلى الرمز.

نحن في رمز البرنامج الرئيسي. نحن decompiling.

هنا ، يتم التحقق من بعض الأرقام a2 والخط a1. دعنا نترجم عددًا إلى حرف.

للقيام بذلك ، اضغط R. على الرقم ، ورمزنا قد تغير.

نحن نعرف الآن السطر ، يبقى لمعرفة ما هو الرقم a2. دعونا نرى كل الروابط لهذه الوظيفة.

يطلق عليه مرة واحدة فقط.

كما ترون ، يتم تمرير طول السلسلة كمعلمة ثانية. التحقق من كلمة المرور وجدت.

نستسلم ونحصل على 5 نقاط.

ELF-C ++ ، 0 حماية
يتم عرضنا على حل برنامج في C ++.

نفتح في IDA Pro وننتقل إلى مكان مكالمة الرسالة على كلمة المرور الصحيحة. دعونا لونه أخضر.

لنجعل الرسم البياني أصغر.

لذلك نحن بحاجة إلى الذهاب من خلال شرطين. دعنا نحللهم. في الشرط الأول ، يتم مقارنة عدد الوسيطات بالقيمة 1. وهذا يعني أن البرنامج يجب أن يحتوي على أكثر من وسيطة واحدة (الأولى هي اسم البرنامج).

نحن نحلل الشرط الثاني.

تتم مقارنة السلسلة التي أدخلناها بالسلسلة التي يتم تمريرها كمعلمة لوظيفة plouf. نحن فك عليه.

تحليل الكود في الواقع a2 - هو سلسلة. وبالتالي ، تعمل الدورة من i = 0 ، حتى يكون العنصر i من الخط a2 يساوي 0 (أي ، حتى تصل إلى نهاية السطر).
V3 = a2 [i]
V5 = الطول (a3)
V6 = a3 [i٪ v5]
بمعنى أن السطر الموجود في العنوان a1 سيكون مساوياً للخطين المعيَّنين a2 و a3. دعنا نعود إلى الوظيفة الرئيسية وإيجاد هذه الخطوط.

لذلك نحن بحاجة إلى تحديد المعلمات var_C و var_10. سنجدهم أعلى قليلاً. هذه هي السلاسل unk_8048BC4 و unk_8048DCC ، على التوالي.

العثور على قيمة السلاسل.

حسنًا ، سنكتب رمزًا لإقناعهم.

نحصل على كلمة المرور

PE-DotNet ، 0 حماية
في هذه المهمة ، يُعرض علينا عكس تطبيق .NET.

يمكنك تحديد ذلك باستخدام الأداة المساعدة للملف.

لغة C # هي لغة مكررة ، لذا يمكننا الحصول على المشروع الأصلي. يمكن
القيام بذلك باستخدام
dnSpy .

لنفتتح مشروع CrackMe وابحث عن الوظائف والأساليب.

تتحقق طريقة Button1_Click من كلمة المرور بنقرة زر واحدة.

في شفرة المصدر نجد كلمة المرور. التحقق من ذلك.

نحن تسليمها.

هذا كل شيء الآن. أن تستمر ... يمكنك الانضمام إلينا على
Telegram . هناك يمكنك اقتراح الموضوعات الخاصة بك والتصويت على اختيار الموضوعات للمقالات التالية.