هندسة عكسية

الهندسة العكسية (بالإنجليزية: Reverse Engineering)‏ هي آلية تعنى باكتشاف المبادئ التقنية لآلة أو نظام من خلال تحليل بنيته، ووظيفته وطريقة عمله. غالبا ما تتم هذه العملية بتحليل نظام ما (آلة ميكانيكية، برنامج حاسوبي، قطعة إلكترونية) إلى أجزاء أو محاولة إعادة تصنيع نظام مشابه له يقوم بنفس الوظيفة التي يقوم بها النظام الأصلي.[1]

دوافع

هناك العديد من الأسباب التي قد تدفع لإجراء هندسة عكسية على نظام ما:

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

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

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

انظر أيضاً

مراجع

  1. Eilam, Eldad (2005)، Reversing: secrets of reverse engineering، John Wiley & Sons، ISBN 978-0-7645-7481-8.{{استشهاد بكتاب}}: صيانة CS1: يستخدم وسيط المؤلفون (link)
  2. Internet Engineering Task Force RFC 2828 Internet Security Glossary
  • بوابة أمن المعلومات
  • بوابة القانون
  • بوابة تقانة
  • بوابة هندسة
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.