يوجد اليوم أكثر من خمسة ملايين موقع على شبكة الإنترنت لتعليم القرصنة واختراق حماية البرامج. لقد بات اختراق كلمات السر للبرامج أسهل من الوقاية منها لأن تعلّم أساليب القرصنة لا يحتاج إلى فنيٍّ أو متقنٍ لبرمجة الحاسب. وتعتبر كلمة السر من أشهر التقنيّات المستخدمة في حماية البرامج حيث تحدد فئة كبيرة هذه الكلمة بالرجوع إلى تاريخ معين أو لون أو اسم شخص أو مزيج مما ذكر. وهنا يطرح السؤال: كيف يخترق القراصنة كلمات السر؟ هنالك أداتان مستخدمتان من قبل قراصنة الحاسب، وهما: القاموس والبرنامج الكاسر أو البرنامج المولِّد، وهاتان الأداتان تعملان معا . فالقاموس عبارة عن ملفٍ بسيطٍ يحتوي على الكثير من الكلمات المتداولة بين مستخدمي تقنيَّة كلمة السر، أما البرنامج المولِّد فهو يقوم بتجربة كل كلمة موجودة في ذلك القاموس، بالإضافة إلى مزج الكلمات المتوفرة بداخله واستخدامها ككلمةٍ واحدة. هذا الأسلوب يُمَكِّنُ قراصنة الحاسب من كسر كلمة السر وبالتالي الدخول إلى البرنامج المحمي بكلمة السر. وقد يستغرق الوقت اللازم لاختراق الحماية باستخدام الأُسلوب المذكور عدة دقائق إلى أيام وهذا الاختلاف في الزمن يرجع إلى طريقة تركيب كلمة السر. لهذا السَّبب تتواجد أساليب معيَّنة لإنشاء كلمات السر، ويمكن لهذه الأساليب والقواعد أن تصعب اختراق كلمة السر من قِبَل قراصنة الحاسب حتى لو أجادوا اتباع تلك القواعد، وقد يحتاج البرنامج الكاشف لكلمة السر سنوات عديدة قبل ان يتوصل إلى نتيجة . هل هذه نهاية المعركة؟ لقد استطاع قراصنة الحاسب أن يجدوا أيضا طريقة لاختراق الأنظمة واستخدامها حيث يمكنهم أن يحصلوا على أحقيَّة استخدام البرنامج المحمي حتى دون أن يعرفوا كلمة السر. ويدعى هذا الأسلوب المبتكر لاختراق كلمات السر صصالهندسة العكسيَّة'' (Reverse Engineering) ويكشف أسلوب الهندسة العكسية سهولة اختراق تقنية كلمة السّر، وهنا شرح عن ذلك: يتألف أيَّ برنامج من برامج الحاسب من ملايين الأسطر والأوامر المكتوبة بلغة برمجة، ويعمل البرنامج عن طريق تنفيذ هذه الأوامر سطراً تلو الآخر. فعندما يصل البرنامج إلى السطر الذي يَطلب من المستخدم إدخال كلمة السّر، نكون قد وصلنا إلى مرحلة المقارنة . في هذه المرحلة أو السطر، يقرأ البرنامج الكلمة المُدخلة من قبل المستخدم ويقارنها بالكلمة الصحيحة، فإذا كانت الكلمة المُدخلة صحيحة، يُعطي البرنامج أحقيَّة للمستخدم، أما إذا كانت خاطئة فعادةً يُظهر البرنامج رسالة على الشاشة تُعلِم المستخدم أنه أدخل الكلمة الخطأ وبناء على ذلك لا يُسمح له باستخدام البرنامج. والطريف أنَّ ما يُعرَضُ في الرسالة التحذيريّة التي تظهر عند إدخال كلمة السّر الخاطئة، هو كل ما يحتاجه قراصنة الحاسب لكسر الحماية، فكيف ذلك؟ يدءخِلُ قراصنة الحاسب كلمة سر خاطئة فتظهر الرسالة التحذيريّة وعليها نصٌ تحذيري مكتوب، تُنسَخُ كلمات ذلك النص الظاهر على الشاشة، وباستخدام برنامج معين، يبحث قراصنة الحاسب على السطر (في البرنامج) المسؤول عن إظهار الرسالة بواسطة البحث عن الجملة المنسوخة التي ظهرت في الرسالة. وفي لحظة العثور على هذا السطر، يتعرّف قراصنة الحاسب على السطر المسؤول بالمقارنة (عادةً ما يكون السطر ما قبل السطر المسؤول لإظهار الرسالة) فيعكس مفعوله . وهكذا ولو أدخل المستخدم الكلمة الخاطئة يعتبرها البرنامج صحيحة، وإذا أدخل الكلمة الصحيحة فيعتبر البرنامج أنها خاطئة وتستغرق عملية الهندسة العكسية 5 دقائق إلى أسبوع لحل اللغز. لهذا السبب تنصح سكاينت المبرمجين باستخدام طريقة أخرى للحماية من الهندسة العكسية، وذلك عن طريق استخدام صصالتشفير'' حيث تستخدم كلمة السر والبرنامج المحمي لإكمال عملية رياضية تغيِّر من محتوى البرنامج أو الملف المحمي. وهكذا نكون قد تأكدنا أنه حتى لو قام القرصان بالهندسة العكسية، فإنه يحصل على ملف أو برنامج غير مفهوم . وهكذا نكون قد أجبرنا القرصان إلى العودة إلى أساليبه القديمة (القاموس والبرنامج المولد)، وباتباع المستخدم الطريقة الصحيحة لاختيار كلمة السر، فقد يستحيل كسرها .