سؤال

كيف يمكن لل مجتمع البرمجيات مفتوحة المصدر/الحرة تطوير برامج تشغيل للمنتجات التي لا تقدم أي وثائق؟

هل كانت مفيدة؟

المحلول

كيف يمكنك عكس هندسة شيء ما؟

  • يمكنك ملاحظة المدخلات والمخرجات، وتطوير مجموعة من القواعد أو النماذج التي تصف تشغيل الكائن.

مثال:

لنفترض أنك تريد تطوير برنامج تشغيل كاميرا USB."الصندوق الأسود" هو برنامج تشغيل البرنامج.

  1. قم بتطوير الخطافات في نظام التشغيل و/أو برنامج التشغيل حتى تتمكن من رؤية مدخلات ومخرجات برنامج التشغيل
  2. توليد المدخلات النموذجية، وتسجيل المخرجات
  3. تحليل المخرجات وتجميع نموذج يصف العلاقة بين المدخلات والمخرجات
  4. اختبر النموذج - ضعه في مكان برنامج تشغيل الصندوق الأسود، وقم بإجراء اختباراتك
  5. إذا فعلت كل ما تحتاجه، فقد انتهيت، وإذا لم تقم بشطفه وتكراره

لاحظ أن هذه مجرد عملية حل/عملية علمية عادية.على سبيل المثال، يقوم المتنبئون بالطقس بنفس الشيء - فهم يراقبون الطقس، ويختبرون الظروف الحالية مقابل النموذج، الذي يتنبأ بما سيحدث خلال الأيام القليلة المقبلة، ثم يقارنون مخرجات النموذج بالواقع.عندما لا يتطابق يعودون ويعدلون النموذج.

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

إذا لم تقم مطلقًا بتفكيك المنتج أو فك ترجمته، فيجب أن تكون في مياه آمنة من الناحية القانونية - فالمشكلة الوحيدة المتبقية هي مشكلة براءات الاختراع.

-آدم

نصائح أخرى

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top