السلام عليكم ورحمة الله وبركاته
الإخوة والأخوات أعضاء المنتدى الكرام
إن أكبر مشكلة تشغل بالي منذ بدأت في تعلم البرمجة هي كيفية حماية البرنامج من معرفة أكواده، فلا يعقل أن نبذل الجهد الذهني وربما البدني وننفق المال والوقت في سبيل إخراج برنامج؛ ثم يأتي سارق ليسرق كل هذا التعب والمجهود، وإما أن ينسبه لنفسه أو يُلْحِق الضرر بنا بصُنع كراك للبرنامج يفقده قيمته النقدية في الأسواق، ولا أخفي عليكم أني دخلت هذه الصفحة لأسألكم عن أفضل طريقة لحماية كود البرنامج من أن يطلع عليه آخرين، ولكني لم أرغب في كتابة وتكرار موضوع قد يكون طرح من قبل في المنتدى، فقمت بعمل بحث عن كلمة "حماية" في منتدى السي شارب فقط، ووجدت أكثر من موضوع يناقشون نفس الفكرة، وقرأتهم جميعاً وخرجت بالآتي:
لذا، قررت تحويل موضوعي من سؤال إلى اقتراح.
الاقتراح هو .. تكوين فريق من المبرمجين لدراسة هذا النوع من العلم والتبحر فيه في محاولة لإيجاد الحل، والحل في نظري هو إنتاج برنامج حماية كامل.
أعلم أن كثير منكم سيأخذ الموضوع على أنه حلم وردي جميل لا يخرج عن كون حلم غير قابل للتحقيق، ولكن دعونا نناقش الأمر وفق ما جاء في ذهني، ولربما أكون مخطئ فتُصَحِّحون لي خطأي، ويجب أن أعترف أن خبرتي البرمجية قليلة بالنسبة لكم عامة، وبالنسبة لهذا الموضوع خاصة، ولكن ما أملكه هو عقل يفكر في كيفية وطرق حل مشكلة تؤرق الكثيرون وأنا منهم، أما تفاصيل التنفيذ فنتركها لأهل الخبرة والاختصاص.
أولاً .. وجود علم مثل علم الكراك "إن صح التعبير"، ووجود مبرمجين لديهم القدرة على تصميم برامج لحماية البرامج، ووجود شركات عملاقة تملك المال اللازم للأبحاث الخاصة بتدمير أي منتج ينافسها، كل ذلك يعني أن أي محاولة لصنع برنامج حماية غير كامل هي محاولة فاشلة، وأن المسألة هي مسألة وقت فقط، وبالتالي لكسر هذه الحلقة والخروج منها يتم الآتي :
ثانياً .. سبق وأن أشرت إلى أن غالبية برامج الحماية تأخذ وتتبع نفس الطرق في التشفير، وهي تغيير الكود، ولكن على سبيل المثال لم أجد برامج تقوم بالتشفير عن طريق المعادلات الرياضية مثلاً، فعلم الرياضيات مَلِيء بالأدوات التي تمكننا من صُنع دوال تسير في اتجاه واحد، أي لا يمكن ويستحيل إرجاعها إلى أصلها، وأبسط مثال هو المصفوفات، فلماذا لا نتجه إلى هذا الطريق في التشفير خاصة وأن بعض برامج فك الحماية تتعامل مع البرامج المراد فكها على أنها أرقام؟؟!!
ثالثاً .. وجود المنافسة الكبيرة في سوق البرامج قد يجعل الأمر به الكثير من الصعوبات وذلك بسبب مناخ المنافسة، ولكن هناك أسواق أخرى لم نتجه إليها، وأقصد أننا كل تفكيرنا في برامج الحاسب الآلي من النوع IBM وتركنا مثلا البرامج الخاصة بـ Apple ونظم التشغيل الأخرى، وتركنا أيضاً سوق البرمجيات الخاصة بالتحكم الآلي، هذا من جانب، ومن جانب آخر يَنْصَبّ كل تفكيرنا على تصميم برامج كبيرة وعملاقة، ولكن ماذا عن البرامج التكميلية، هناك شركات متخصصة في صنع برامج صغيرة جداً وتبيعها لشركات أخرى لتدخلها في برامجها الكبيرة كبرنامج تكميلي components، فأين نحن من كل هذا، نحن مازلنا نفكر بالتفكير العربي الحديث الذي يقودنا إلى الخلف، تفكير ركوب الموجه، والسير مع التيار، ونفعل كما يفعل الآخرون، وليس بالتفكير العربي القديم الذي قاد العالم كله وعَلّمه، التفكير الذي كان يقول ابتكر واصنع كل جديد، قديماً كان قوى العرض والطلب هي التي تحدد شكل السوق، أما الآن فنحن نسير وفق قوى السوق وما يطلبه فقط، فمثلاً تجد الشباب يقولون أن السوق الآن (والمقصود بالسوق هو مصدر الحصول على المال) يريد الـ Web، فتجد كل الشباب يتعلمون الـ Web، وكأن كل المجالات الأخرى انتهت ولن يطلبها أحد.
أكثرت وأطلت عليكم، ولكن إن لم تكونوا أنتم من أتحدث معهم في هذا الأمر، فمع من سأتحدث؟؟؟!!!
أعتذر عن الإطالة، وأدعوكم للمناقشة الجادة في الأمر، المناقشة التي تؤتي ثمارها بما نتمناه ونسعى إليه.

