Reverse Engineering - Computerphile

Computerphile
8 Jul 202219:49

Summary

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

Takeaways

  • 😀 الهندسة العكسية هي عملية محاولة فهم كيفية عمل شيء من خلال فحص شكله النهائي أو الشيفرة المصدرية المنخفضة المستوى.
  • 😀 مثال كلاسيكي للهندسة العكسية هو عندما قامت شركة كومباك بتقليد جهاز الكمبيوتر الشخصي باستخدام نفس العتاد ولكن مع برنامج BIOS مشابه.
  • 😀 يمكن استخدام الهندسة العكسية لاستخراج البيانات من البرمجيات القديمة أو المدعومة سابقًا مثل النظام متعدد الوسائط 'Doomsday' من بي بي سي.
  • 😀 في مجال الأمن السيبراني، يُستخدم الهندسة العكسية لتحليل البرمجيات الخبيثة وفهم كيفية عملها والتعرف على تهديداتها.
  • 😀 الهندسة العكسية هي عملية معاكسة لكتابة البرمجيات، حيث تبدأ بتحليل البرنامج الجاهز ثم تحاول فهم كيفية عمله.
  • 😀 أثناء كتابة برنامج، يتم تحويل الكود إلى آلة قابلة للتنفيذ باستخدام مترجم، ثم يتم تحديد كيفية تحميله بواسطة نظام التشغيل.
  • 😀 عند إجراء الهندسة العكسية، يتم تحليل البرمجيات لتحديد كيفية عملها من خلال فحص الذاكرة والمحتوى البرمجي المتاح.
  • 😀 العملية تشمل قراءة البرنامج في شكله الثنائي، ثم استخدام أدوات مثل أدوات فك التجميع لفهم الوظائف البرمجية المضمنة.
  • 😀 أدوات مثل IDA Pro تسمح بتحويل الكود الثنائي إلى تعليمات قابلة للقراءة، مما يساعد في تحليل كيفية عمل البرنامج.
  • 😀 الهندسة العكسية تشبه إلى حد كبير التحقيقات الجنائية، حيث يقوم المحلل بتتبع سير البرمجيات لفهم سلوكها وتحديد الأهداف المحتملة.
  • 😀 في حال كانت البرمجية تحتوي على عيوب أو كان الهدف منها تنفيذ إجراءات غير واضحة، يتم استخدام الهندسة العكسية لفحص البيانات المخزنة وكيفية معالجتها.

Q & A

  • ما هو مفهوم الهندسة العكسية وكيف يتم تطبيقها في البرمجيات؟

    -الهندسة العكسية هي عملية تحليل منتج مكتمل، مثل البرمجيات أو الأجهزة، لفهم كيفية عمله. في البرمجيات، يتم تحليل الشيفرة الثنائية (البيانات المترجمة) لفهم كيفية تفاعل البرمجيات مع النظام، وغالباً ما يتم ذلك باستخدام أدوات مثل IDA Pro لفك تشفير الشيفرة وتحليلها.

  • ما هي الأدوات التي تستخدم عادة في الهندسة العكسية؟

    -من الأدوات الشهيرة التي تستخدم في الهندسة العكسية: IDA Pro و Ghidra. هذه الأدوات تساعد المحللين على تحليل الشيفرة الثنائية وتحويلها إلى شيفرة قابلة للقراءة لفهم كيفية عمل البرمجيات.

  • كيف تُستخدم الهندسة العكسية في مجال الأمن السيبراني؟

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

  • ما الفرق بين الهندسة العكسية للأجهزة والهندسة العكسية للبرمجيات؟

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

  • لماذا قد يحتاج المهندسون أو المطورون إلى استخدام الهندسة العكسية؟

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

  • هل يمكن استخدام الهندسة العكسية في المجالات القانونية؟

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

  • هل يمكن تطبيق الهندسة العكسية على الأجهزة القديمة التي لا تحتوي على دعم تقني؟

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

  • ما هو دور التفسيرات الثنائية (disassemblers) في الهندسة العكسية؟

    -تُستخدم التفسيرات الثنائية مثل IDA Pro لتحويل الشيفرة الثنائية إلى تعليمات قابلة للقراءة، مما يساعد المحللين على فهم بنية البرنامج وطريقة تفاعل برمجياته مع النظام أو الأجهزة.

  • كيف يمكن أن تساعد الهندسة العكسية الشركات في تجنب المنافسة؟

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

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

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

Outlines

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Mindmap

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Keywords

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Highlights

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now

Transcripts

plate

This section is available to paid users only. Please upgrade to access this part.

Upgrade Now
Rate This

5.0 / 5 (0 votes)

Related Tags
الهندسة العكسيةالبرمجياتالأجهزةالبرمجيات الخبيثةتحليل البرمجياتالأمن السيبرانيالتكنولوجياالمبرمجونتحليل البياناتالبرمجة
Do you need a summary in English?