تحدي Hidden Password

تحدي Hidden Password

210النقاط
10بدأوه
3حلّوه
12 سبتمبر 2026تاريخ النشر

سهل·هندسة عكسية

التعليمات

الهدف

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

لا تعتمد على التخمين أو تجربة كلمات عشوائية المطلوب هو فهم منطق البرنامج من خلال الـ Disassembly او/و Pseudocode وربط شروط التحقق مع بعضها.

القيود

ممنوع تجاوز منطق التحقق باستخدام patch لإجبار البرنامج على الوصول إلى "Access Granted".

ممنوع تعديل الـ binary أو تغيير تعليمات القفز مثل JZ وJNZ أو تعديل قيمة الإرجاع من دوال التحقق.

مسموح استخدام IDA Pro والـ Decompiler والـ Xrefs والـ Local Types والـ IDAPython لفهم البرنامج وتحليل البيانات وفكها.

الهدف هو الوصول إلى النتيجة من خلال Reverse Engineering لمنطق البرنامج نفسه، وليس بتجاوز الحماية.

ما يجب تحليله

أثناء الحل ستحتاج إلى فهم مسار التنفيذ داخل "main"، وتحليل كيفية قراءة ومعالجة الإدخال، وتمييز شروط الرفض عن شروط التحقق الحقيقية.

ستحتاج أيضًا إلى تحليل دوال التحقق التي يتم استدعاؤها وفهم كيفية استخدام التشفير للتحقق من كلمة السر، ثم متابعة مسار النجاح وتحليل البيانات المشفرة الموجودة داخل ".rdata".

التسليم

يجب تقديم:

الأسئلة

0 / 6
0%
  1. 01

    ما هي القيمة النهائية التي يعرضها البرنامج عند إدخال الـ password الصحيح؟

    40
  2. 02

    ما هو التشفير المستخدم ؟ (AES,RC4,Caiser,XOR,Rotations etc.)

    25
  3. 03

    ما هو نوع البيانات المشفره ؟ (int,float,struct,array etc.?)

    30
  4. 04

    ما هي طريقة استدعاء دوال التحقق من كلمة السر ؟

    30
  5. 05

    ما هي مفاتيح التشفير المستخدمة (ان كان اكثر من مفتاح افصلهم مثال 0x11,0x22,0x33)

    60
  6. 06

    ما هي كلمة السر ؟

    25

التصفّح مجاني بالكامل — لكن تسليم الإجابات وحفظ تقدّمك يحتاج حساباً مجانياً. أنشئ حساباً·لديك حساب؟ ادخل