ماهى الهندسة العكسية او Reverse Engineering ؟ وما علاقتها بالبرمجة ؟


الهندسة العكسية ببساطة هى عملية تفتيت شئ ما لعناصره الاولية لمعرفة كيف يعمل بغرض تقليده او تحسين عمله 

الهندسة العكسية فى الصناعات القديمة

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



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

ما يهمنا هنا هو استخدامات الهندسة العكسية فى المجال التقنى حيث تستخدم فى تحليل البرامج التى ليس لها كود مصدرى source code بهدف اصلاح مشاكل فى البرنامج او تحسين ادؤه او اكتشاف الفيروسات فيه او بهدف جعل البرنامج متوافق مع بروسيسور غير الذى كتب من اجله او استخدامات اخرى تعد غير مشروعة مثل نسخ برامج او الحصول على كراكات للبرامج ويعد هذا انتهاك لحقوق الملكية .

تقوم فكرة عمل الهندسة العكسية فى مجال البرمجة الى تحويل البرنامج الى لغة الالة machine language وهى اللغة البدئية التى يفهما الكمبيوتر بعد ذلك يمكن تحليل وفهم البرنامج والجدال القائم دائمًا حول مشروعية الهندسة العكسية وهل تعد اختراق لحقوق الملكية ام لا ولكن الارجح الان ان بعض اشكال الهندسة العكسية

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

شارك الموضوع

مواضيع ذات صلة