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

الهندسة العكسية: ما هي وكيف تعمل؟

 تعتبر الهندسة العكسية من طرق معرفة آلية عمل الأشياء وتحليلها، فما هي؟ كيف تعمل؟ ما هي أهميتها والأمثلة عليها؟

المحتويات:

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

2. ما هي أهدافها ؟

3. كيف تعمل؟

4. أمثلة تطبيقية.


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

الهندسة العكسية هي عملية تفكيك كائن ما لمعرفة آلية عمله. يتم إجراء الهندسة العكسية في المقام الأول لتحليل واكتساب المعرفة حول الطريقة التي يعمل بها شيء ما ولكن غالباً ما يتم استخدامها لتكرار أو نسخ الكائن أو تحسينه.[1]

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

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

إقرأ أيضاً… ما هي البيانات النوعية والكمية؟ مع أمثلة على كل منهما.


2. ما هي أهدافها؟

الهدف الأساسي من الهندسة العكسية هو معرفة كيفية عمل كائن ما أو نظام ما. بوجد هناك مجموعة متنوعة من الأسباب للقيام بهذا الأمر. حيث أنه يمكن استخدامها لمعرفة كيفية عمل شيء ما وإعادة إنشاء الكائن أو لإنشاء كائن مشابه مع تحسينات إضافية.

غالباً ما يكون هدف برامج أو أجهزة الهندسة العكسية هو إيجاد طريقة لإنشاء منتج مشابه بتكلفة أقل أو بسبب أن المنتج الأصلي لم يعد متوفراً. وهي تُستخدم في تكنولوجيا المعلومات أيضاً لمعالجة مشكلات التوافق وجعل الأجهزة أو البرامج متوافقة مع أجهزة أو برامج أو أنظمة تشغيل أخرى لم تكن متوافقة معها في الأصل.[1]


3. كيف تعمل؟

تعتبر عملية الهندسة العكسية خاصة بالكائن الذي يتم تنفيذها عليه. ومع ذلك، يوجد هناك 3 خطوات عامة مشتركة لجميع عملياتها. وهذه الخطوات هي:[2]

  • استخراج المعلومات.

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

  • النمذجة.

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

  • المراجعة.

تتضمن هذه الخطوة مراجعة النموذج واختباره في سيناريوهات مختلفة للتأكد من أنه تجريد واقعي للكائن أو النظام الأصلي. في هندسة البرمجيات، قد يأخذ هذا شكل اختبار البرمجيات. وبمجرد اختباره، يمكن تنفيذ النموذج لإعادة هندسته.


4. أمثلة تطبيقية.

تختلف الهندسة العكسية بالاعتماد على ما يتم تطبيقها عليه وبناء على الفائدة التي تقدمها للتكنولوجيا. تشمل الأمثلة الشائعة على الهندسة العكسية ما يلي:[3]

  • البرمجيات.

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

  • قِطَع الحاسوب.

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

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

  • تقييم أمن الشبكات.

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


المصادر:

[1] What Is Reverse Engineering and How Does It Work – AstroMachineWorks.com

[2] How Does Reverse Engineering Work – Insights.GlobalSpec.com

[3] Reverse Engineering – ComputerWorld.com

مقالات مرتبطة...

  • ما هي خدمة حزمة الراديو العامة (GPRS)؟

    يُعد خدمة حزم الراديو العامة General Packet Radio Services (GPRS) بروتوكولًا يبذل قصارى جهده لتبديل حزم البيانات لخدمات اتصالات الشبكة اللاسلكية والخلوية. يعتبر هذا أفضل جهد لأن جميع الحزم تُمنح نفس الأولوية ولا يتم ضمان تسليم الحزم. ما هو GPRS؟ قام مشروع شراكة الجيل الثالث (3GPP) بتوحيد GPRS في أوائل عام 1998، لكن الشبكات الخلوية التجارية…

  • ما هي نسبة العرض إلى الارتفاع (Aspect Ratio)؟

    تصف نسبة العرض إلى الارتفاع (Aspect Ratio) العلاقة بين عرض الكائن وارتفاعه. ويشيع استخدامه في الحوسبة لوصف نسب الشاشة المستطيلة. تتم كتابة نسب الارتفاع كتعبيرات رياضية، باستخدام التنسيق التالي: عرض : ارتفاع على سبيل المثال، الشاشة التي يبلغ عرضها 20 بوصة وطولها 15 بوصة تبلغ نسبة العرض إلى الارتفاع 20:15. بعد تبسيط الكسر (قسمة كل رقم…

  • تعريف تعدين البيانات.

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

  • نصائح من شركة أبل لإطالة عمر بطارية جهاز آيفون.

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

  • فيروس كاليسي القطط.

    فيروس كاليسي القطط (Feline Calicivirus) هو فيروس مسبب للأمراض في القطط ينتمي إلى عائلة الكاليسي فيروسيدي (Caliciviridae). يعتبر هذا الفيروس من بين العوامل الرئيسية المسببة لالتهابات الفم والأنف في القطط، والتي تشمل التهاب الأنف، التهاب اللثة، التهاب الحلق، وقرح اللسان. فيروس كاليسي القطط منتشر على نطاق واسع في جميع أنحاء العالم ويصيب القطط بشكل شائع….

  • ما هو الويب 1.0؟ وماذا يشمل؟

    الويب 1.0 هو المصطلح المستخدم للإصدار الأول من الإنترنت حيث ظهر من أصوله مع وكالة مشاريع الأبحاث الدفاعية المتقدمة (DARPA) وأصبح، لأول مرة، شبكة عالمية تمثل مستقبل الاتصالات الرقمية. وهو يصف “التكرار” الأول لما أصبح وسيطًا متناميًا ومتطورًا توسعت في النهاية إلى منصة ذات استخدامات عميقة متعددة الوظائف. ما هو الويب 1.0؟ كانت الإنترنت المبكرة…