الإطلاع على مفاهيم الهندسة العكسية الرئيسية

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

يُمكنك أيضًا تشبيه الهندسة العكسية ببراهين المعادلات الرياضية. إذن ، كيف يتم استخدام الهندسة العكسية؟ تحقق من ما هو التصنيع بمساعدة الكمبيوتر (CAM)؟

الإطلاع على مفاهيم الهندسة العكسية الرئيسية - شروحات

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

الهندسة العكسية هي عملية تُعنى باكتشاف المبادئ التقنية لآلة أو نظام من خلال تحليل بنيته ، ووظيفته وطريقة عمله. غالبا ما تتم هذه العملية بتحليل نظام ما (آلة ميكانيكية ، تطبيق برمجي ، مُكوِّن الكتروني) إلى أجزاء مُتعددة أو محاولة إعادة تصنيع نظام مُشابه له يقوم بنفس الوظيفة التي يقوم بها النظام الأصلي. إذا نظرت إلى مجالات عمل الهندسة العكسية ، يُمكنك أن ترى أنه يُمكنك استخدامها للعديد من الأغراض المُختلفة. إذا نظرت إليها من منظور الأمن السيبراني ، فمن المُمكن إجراء العمليات التالية بأساليب الهندسة العكسية:

  1. تحليل الكود المصدري للبرمجيات غير مفتوحة المصدر.
  2. تحليل الضعف الأمني وسببه.
  3. تحليل البرامج الضارة.
  4. التكسير والترقيع.

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

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

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

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

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

  1. الإدخال: مجموعة الطرق المُتوفرة لإدخال البيانات.
  2. وحدة المعالجة المركزية (CPU): يقوم المعالج بتفسير التعليمات ومعالجة البيانات الواردة ونقلها إلى المُكوِّنات الأخرى.
  3. الذاكرة: المساحة التي تحتوي على البيانات مُؤقتًا أثناء المعالجة.
  4. الإخراج: النتيجة النهائية التي يراها المُستخدم.

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

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

الإطلاع على مفاهيم الهندسة العكسية الرئيسية - شروحات

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

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

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

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

الإطلاع على مفاهيم الهندسة العكسية الرئيسية - شروحات

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

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

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

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

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

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

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

المصدر
زر الذهاب إلى الأعلى