الهندسة العكسية. هي عملية أو طريقة يحاول المرء من خلالها أن يفهم من خلال التفكير الاستنتاجي كيف ينجز جهاز أو عملية أو نظام أو برنامج تم إنشاؤه مسبقا مهمة مع القليل جدا من البصيرة حول كيفية القيام بذلك بالضبط.
ماذا يقصد بالهندسة العكسية؟
الهندسة العكسية إنها في الأساس عملية فتح أو تشريح نظام لمعرفة كيفية عمله ، من أجل تكراره أو تحسينه. اعتمادا على النظام قيد النظر والتقنيات المستخدمة ، يمكن أن تساعد المعرفة المكتسبة أثناء الهندسة العكسية في إعادة استخدام الأشياء القديمة أو إجراء تحليل الأمان أو تعلم كيفية عمل شيء ما.
مكونات عمليات الهندسة العكسية
على الرغم من أن العملية خاصة بالكائن الذي يتم تنفيذها عليه ، إلا أن جميع عمليات الهندسة العكسية تتكون من ثلاث خطوات أساسية:
- استخراج المعلومات.
- النمذجة.
- المراجعة.
نبذة على جميع مكونات عمليات الهندسة العكسية
يشير استخراج المعلومات إلى ممارسة جمع جميع المعلومات ذات الصلة لتنفيذ العملية. تشير النمذجة إلى ممارسة الجمع بين المعلومات التي تم جمعها في نموذج تجريدي ، والذي يمكن استخدامه كدليل لتصميم الكائن أو النظام الجديد. تشير المراجعة إلى اختبار النموذج لضمان صحة الملخص المختار. وبيولوجيا النظم.
نظرة عامة على الهندسة العكسية
هناك العديد من الأسباب لإجراء الهندسة العكسية في مختلف المجالات. الهندسة العكسية لها أصولها في تحليل الأجهزة لتحقيق ميزة تجارية أو عسكرية. ومع ذلك ، فإن عملية الهندسة العكسية ، على هذا النحو ، لا تهتم بإنشاء نسخة أو تغيير القطعة الأثرية بطريقة ما. إنه مجرد تحليل لاستنتاج ميزات التصميم من المنتجات التي لديها معرفة إضافية قليلة أو معدومة حول الإجراءات التي ينطوي عليها إنتاجها الأصلي. حتى عندما يكون المنتج المضاد للهندسة هو منتج منافس ، فقد لا يكون الهدف هو نسخه ولكن إجراء تحليل للمنافسين.
استخدامات الهندسة العكسية
يمكن أيضا استخدام الهندسة العكسية لإنشاء منتجات قابلة للتشغيل البيني، وعلى الرغم من بعض التشريعات المصممة بشكل ضيق في الولايات المتحدة والاتحاد الأوروبي، فإن مشروعية استخدام تقنيات محددة للهندسة العكسية لهذا الغرض كانت موضع نزاع ساخن في المحاكم في جميع أنحاء العالم لأكثر من عقدين من الزمن.
في ماذا تساعد الهندسة العكسية؟
يمكن أن تساعد الهندسة العكسية للبرمجيات في تحسين فهم شفرة المصدر الأساسية لصيانة البرنامج وتحسينه ، ويمكن استخراج المعلومات ذات الصلة لاتخاذ قرار بشأن تطوير البرامج ويمكن أن توفر التمثيلات الرسومية للشفرة وجهات نظر بديلة فيما يتعلق بشفرة المصدر ، والتي يمكن أن تساعد في اكتشاف وإصلاح خطأ أو ثغرة أمنية في البرنامج. في كثير من الأحيان ، مع تطور بعض البرامج ، غالبا ما تضيع معلومات التصميم والتحسينات بمرور الوقت ، ولكن يمكن عادة استرداد هذه المعلومات المفقودة بالهندسة العكسية. يمكن أن تساعد العملية أيضا في تقليل الوقت اللازم لفهم شفرة المصدر ، وبالتالي تقليل التكلفة الإجمالية لتطوير البرمجيات. تستخدم هذه العملية بشكل شائع ل "تكسير" البرامج والوسائط لإزالة حماية النسخ الخاصة بها ، وقد يكون القصد الآخر هو إزالة حماية النسخ أو التحايل على قيود الوصول.
الذكاء التقني التنافسي
هذا هو فهم ما يفعله منافس المرء بالفعل ، بدلا من ما يقول إنه يفعله.
- توفير المال: قد يؤدي اكتشاف ما يمكن أن تفعله قطعة من الإلكترونيات إلى تجنيب المستخدم شراء منتج منفصل.
- إعادة التوجيه: ثم يتم إعادة استخدام الكائنات القديمة بطريقة مختلفة ولكنها مفيدة.
- التصميم: طبقت شركات الإنتاج والتصميم الهندسة العكسية على عملية التصنيع العملية القائمة على الحرف. يمكن للشركات العمل على مجموعات التصنيع "التاريخية" من خلال المسح الضوئي ثلاثي الأبعاد وإعادة النمذجة ثلاثية الأبعاد وإعادة التصميم.
حيث في عام 2013 ، قامت الشركات الإيطالية المصنعة Baldi و Savio Firmino جنبا إلى جنب مع جامعة فلورنسا بتحسين عمليات الابتكار والتصميم والإنتاج.
الحالات الشائعة في الهندسة العكسية
نظرا لأن التصميم بمساعدة الكمبيوتر أصبح أكثر شعبية ، فقد أصبحت الهندسة العكسية طريقة قابلة للتطبيق لإنشاء نموذج افتراضي ثلاثي الأبعاد لجزء مادي موجود للاستخدام في 3D CAD ، CAM ، CAE ، أو برامج أخرى. حيث تتضمن عملية الهندسة العكسية قياس كائن ثم إعادة بنائه كنموذج 3D.
كيفية قياس الكائن في الهندسة العكسية
يمكن قياس الكائن المادي باستخدام تقنيات المسح الضوئي 3D مثل CMMs أو الماسحات الضوئية الليزرية أو أجهزة التحويل الرقمي للضوء المنظمة أو التصوير المقطعي المحوسب الصناعي. البيانات المقاسة وحدها، والتي عادة ما يتم تمثيلها كسحابة نقطية، تفتقر إلى المعلومات الطوبولوجية ونية التصميم. ويمكن استرداد الأول عن طريق تحويل السحابة النقطية إلى شبكة مثلثة الوجه.
اهداف الهندسة العكسية
تهدف الهندسة العكسية إلى تجاوز إنتاج مثل هذه الشبكة واستعادة نية التصميم من حيث الأسطح التحليلية البسيطة عند الاقتضاء وكذلك ربما أسطح NURBS لإنتاج نموذج CAD لتمثيل الحدود. يسمح استرداد مثل هذا النموذج بتعديل التصميم لتلبية المتطلبات الجديدة ، وخطة التصنيع التي سيتم إنشاؤها ، وما إلى ذلك.
النمذجة الهجينة
هي مصطلح شائع الاستخدام عندما يتم تنفيذ NURBS والنمذجة البارامترية معا. استخدام مزيج من الأسطح الهندسية والحرة يمكن أن توفر طريقة قوية للنمذجة 3D. يمكن دمج مناطق البيانات ذات الشكل الحر مع الأسطح الهندسية الدقيقة لإنشاء نموذج هجين. ومن الأمثلة النموذجية على ذلك الهندسة العكسية لرأس الأسطوانة ، والتي تتضمن ميزات الصب الحر ، مثل السترات المائية والمناطق الآلية عالية التحمل.
استخدامات أخرى للهندسة العكسية
تستخدم الهندسة العكسية أيضا من قبل الشركات لجلب الهندسة المادية الحالية إلى بيئات تطوير المنتجات الرقمية ، أو لإنشاء سجل رقمي 3D لمنتجاتها الخاصة ، أو لتقييم منتجات المنافسين. يتم استخدامه لتحليل كيفية عمل المنتج ، وماذا يفعل ، وما هي المكونات التي يمتلكها ؛ تقدير التكاليف ؛ تحديد التعدي المحتمل على براءات الاختراع؛ الخ.
تتضمن هندسة القيمة ، وهي نشاط ذي صلة تستخدمه الشركات أيضا ، تفكيك المنتجات وتحليلها. ومع ذلك، فإن الهدف هو إيجاد فرص لخفض التكاليف.
الهندسة العكسية ثنائي الفينيل متعدد الكلور
تتضمن الهندسة العكسية للوحات الدوائر المطبوعة إعادة إنشاء بيانات التصنيع للوحة دوائر معينة. ويتم ذلك للسماح بوضع المعايير ودعم الأنظمة القديمة.
متى يتم تنفيذ الهندسة العكسية؟
يتم تنفيذ الهندسة العكسية الثنائية في حالة عدم توفر التعليمات البرمجية المصدر لأحد البرامج. على سبيل المثال ، يمكن إنجاز فك تجميع الثنائيات لمنصة Java باستخدام Jad. كانت إحدى الحالات الشهيرة للهندسة العكسية هي أول تطبيق غير IBM لنظام BIOS للكمبيوتر الشخصي ، والذي أطلق الصناعة التاريخية المتوافقة مع IBM PC والتي كانت منصة أجهزة الكمبيوتر المهيمنة بشكل كبير لسنوات عديدة.
الهندسة العكسية للبرامج محمية في الولايات المتحدة
الهندسة العكسية للبرامج محمية في الولايات المتحدة بموجب استثناء الاستخدام العادل في قانون حقوق الطبع والنشر. يعد برنامج سامبا، الذي يسمح للأنظمة التي لا تعمل بأنظمة مايكروسوفت ويندوز بمشاركة الملفات مع الأنظمة التي تقوم بتشغيلها، مثالا كلاسيكيا على الهندسة العكسية للبرمجيات، حيث كان على مشروع سامبا إجراء هندسة عكسية للمعلومات غير المنشورة حول كيفية عمل مشاركة ملفات ويندوز حتى تتمكن أجهزة الكمبيوتر غير التي تعمل بنظام ويندوز من محاكاتها. يقوم مشروع Wine بنفس الشيء بالنسبة لواجهة برمجة تطبيقات Windows ، OpenOffice.org هو طرف واحد يقوم بذلك لتنسيقات ملفات Microsoft Office.
مشروع ReactOS
يعد مشروع ReactOS أكثر طموحا في أهدافه من خلال السعي لتوفير التوافق الثنائي مع أنظمة تشغيل Windows الحالية لفرع NT ، مما يسمح بتشغيل البرامج وبرامج التشغيل المكتوبة لنظام التشغيل Windows على نظير برامج حرة في غرفة نظيفة ذات هندسة عكسية. يسمح WindowsSCOPE بالهندسة العكسية للمحتويات الكاملة للذاكرة الحية لنظام Windows بما في ذلك الهندسة العكسية الرسومية ثنائية المستوى لجميع العمليات قيد التشغيل.
امثلة اخرى في الهندسة العكسية
مثال كلاسيكي آخر ، إن لم يكن معروفا جيدا ، هو أنه في عام 1987 ، قامت مختبرات Bell بهندسة عكسية لنظام التشغيل Mac OS System 4.1 ، الذي كان يعمل في الأصل على Apple Macintosh SE ، بحيث يمكنه تشغيله على أجهزة RISC الخاصة بهم.
تعليقات
إرسال تعليق
شكرا لك على تواصلك معنا ...