القراء مثلك يساعدون في دعم MUO. عند إجراء عملية شراء باستخدام الروابط الموجودة على موقعنا ، فقد نربح عمولة تابعة. اقرأ أكثر.

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

يمكنك أيضًا تشبيه الهندسة العكسية ببراهين المعادلات الرياضية. إذن ، كيف يتم استخدام الهندسة العكسية؟

ما هي الهندسة العكسية؟

الهندسة العكسية هي عملية تحليل نظام بغرض إعادة إنتاجه أو تحسينه. إذا نظرت إلى مجالات عمل الهندسة العكسية ، يمكنك أن ترى أنه يمكنك استخدامها للعديد من الأغراض المختلفة. إذا نظرت إليها من منظور الأمن السيبراني ، فمن الممكن إجراء العمليات التالية بأساليب الهندسة العكسية:

  • تحليل المصدر للبرامج غير المفتوحة المصدر
  • تحليل الضعف
  • تحليل البرامج الضارة
  • التكسير والترقيع

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

instagram viewer

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

ولكن قبل إجراء التحليل الخاص بالهندسة العكسية ، هناك بعض المصطلحات المهمة التي تحتاج إلى معرفتها كيف تعمل هندسة الكمبيوتر.

الأجزاء الرئيسية في هندسة الحاسوب

الهندسة العكسية مستحيلة عمليا ما لم تفهم هندسة الكمبيوتر. تحتاج إلى دراسة الأجزاء الأربعة الرئيسية:

  • مدخل: مجموعة طرق إدخال البيانات.
  • وحدة المعالجة المركزية: تقوم وحدة المعالجة المركزية بمعالجة البيانات الواردة وتحويلها إلى أصحابها. إنها وحدة المعالجة المركزية.
  • ذاكرة: المساحة التي تحتوي على البيانات مؤقتًا أثناء المعالجة.
  • انتاج |: النتيجة التي يراها المستخدم النهائي.

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

تعمق في أعماق وحدة المعالجة المركزية

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

  1. وحدة التحكم: هذا مسؤول عن معالجة البيانات في وحدة المعالجة المركزية ونقلها إلى الحقول ذات الصلة. يمكنك التفكير في هذه الوحدة كآلية تحكم في التوجيه.
  2. ALU: هذا يعني وحدة المنطق الحسابي. هذا هو المكان الذي تحدث فيه بعض العمليات الحسابية والمنطقية. إذا تعمقت في الرياضيات ، فسترى أن العمليات الأساسية الأربع هي في الأساس اختلافات عند الجمع. لذا فإن ALU يعتمد على التجميع. على سبيل المثال ، طرح اثنين من ثلاثة يماثل جمع ناقص اثنين إلى ثلاثة.
  3. السجلات: هذه هي المناطق الموجودة داخل وحدة المعالجة المركزية التي تحتوي على البيانات المعالجة. هناك أنواع مختلفة من المسجلات ، تشبه إلى حد كبير وجود أنواع مختلفة من المتغيرات في لغة البرمجة. السجل مسؤول عن الحفاظ على نوع وخصائص البيانات المخصصة له.
  4. إشارات: إذا كنت تريد أن تنفذ وحدة المعالجة المركزية العديد من العمليات المختلفة في نفس الوقت ، فمن الضروري وجود طريقة معينة لتنظيمها. تسمى العناصر التي تقوم بذلك بالإشارات. تعمل كل معاملة وفقًا لإشارات تضمن أنها لا تتداخل مع عملية أخرى.
  5. حافلة: المسار الذي تستخدمه البيانات للانتقال من وحدة إلى أخرى. لاحظ كيف يوحي الاسم بالنقل.

المفاهيم التي كثيرًا ما تسمعها في الهندسة العكسية

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

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

  • 1. EAX: تقف لتسجيل المجمع. عادةً ما يحفظ البيانات التي تندرج تحت فئة العمليات الحسابية هنا.
  • 2. EBX: لتقف على قاعدة التسجيل. يلعب دورًا في المعالجة غير المباشرة.
  • 3. EDX: لتقف على سجل البيانات. EDX يساعد السجلات الأخرى.
  • 4. EIP: لتقف على مؤشر التعليمات. يحمل عنوان المجال للتشغيل.
  • 5. ESP: يحمل العنوان الأساسي.
  • 6. ESI: يحتفظ بمعلومات فهرس المصدر.
  • 7. EDI: يحتفظ بمعلومات فهرس الوجهة.

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

غالبًا ما تبدأ الهندسة العكسية برمز الآلة. قد تفهم العديد من المصطلحات المذكورة أعلاه إذا كنت معتادًا على التجميع أو لديك أمر معماريات المعالجات 32 بت أو 64 بت. إذا كنت تريد تعلم التجميع من الألف إلى الياء ، فسيكون ذلك مفيدًا للغاية في الهندسة العكسية.

ماذا ستفعل بكل هذا؟

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

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