كيفية تفكيك البرنامج

جدول المحتويات:

كيفية تفكيك البرنامج
كيفية تفكيك البرنامج

فيديو: كيفية تفكيك البرنامج

فيديو: كيفية تفكيك البرنامج
فيديو: طريقة فك ضغط ملفات WinRAR عن طريق الكمبيوتر 2024, أبريل
Anonim

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

كيفية تفكيك البرنامج
كيفية تفكيك البرنامج

ضروري

  • - برنامج لعرض الكود المصدري ؛
  • - ربما أدوات الهندسة العكسية والحالة.

تعليمات

الخطوة 1

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

الخطوة 2

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

الخطوه 3

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

موصى به: