حين تفتح ملفاً تنفيذياً في الـ Disassembler لا ترى structs ولا arrays ولا أسماء متغيّرات — ترى عناوين ذاكرة و registers ونقل بايتات. هذا المقال يعلّمك كيف تستدلّ على البُنى الأصلية من طريقة وصول الكود إلى البايتات: الـ stride الموحّد يكشف المصفوفة، واختلاف الأحجام عند offsets ثابتة يكشف الـ struct.
الـ switch في الكود المصدري نيّة لا تنفيذ: الكومبايلر حرّ في كيف يحقّقها — سلسلة مقارنات، أو شجرة بحث، أو jump table — والشكل ينقلب بتغيّر مستوى التحسين وحده. هذا المقال يقرأ هذه الأشكال في الـ Assembly ويعيد بناء الـ switch منها.