18-05-16, 02:27 PM
ان نقاش موضوع الحماية هو نقاش غير منتهي بين المبرمجين , و في الحقيقة لا يوجد طريقة فعالة جدا تمكنك من حماية برامجك عن عيون المتطفلين , لكن اختيار الادوات المناسبة و التقنية الملائمة تمكنك من حماية برنامجك بطريقة قوية الى حد ما .
تتعدد الطرق و الوسائل الخاصة بحماية البرامج و تسعى شركات الحماية (الخاصة بانتاج برمجيات للحماية) دائما الى ابتكار طرق جديدة للحماية
اغلب الطرق ان لم نقل جلها تعتمد على تشفير الملفات الحاوية للشيفرة البرمجية و انتاج ملفات جديدة مشفرة و مموهة و فق خوارزميات خاصة مثل RSA او ECC
اذ ان الطرق التي يستخدمها الهكر هي غالبا تعتمد على فك ترميز وحدات الشيفرة الخاصة ببرنامجك , فاذا كانت وحداتك غير محمية بمعنى انها غير مشفرة عندها ستفتح امامه كل الاجرائيات و الدوال و المتغيرات امامه بالمختصر سيكون قادر على الاطلاع على كل الشيفرة البرمجية الخاصة بك
فاذا كان لديك طريقة مهما كانت بسيطة او معقدة لحماية برنامجك و هذه الطريقة تعتمد على توليد مفاتيح خاصة بكل نسخة من البرنامج ,وكانت الطريقة تعتمد على الشيفرة البرمجية (بطبيعة الحال هذا ما يجري دائما) فان اي هاكر سيقوم بفك ترميز البرنامج سيكون من السهل عليه معرفة الطريقة التي يتم بها توليد المفتاح و بالتالي سيقوم بسرقة الدالة المسؤولة عن ذلك و انتاج برنامج صغير يقوم بتوليد المفاتيح مجانا
اما عن النسخ التجريبية فالطريقة هي بعمل تعطيل للدالة المسؤلة فحص التاريخ او اجراء عملية قفز و بالتالي عدم قرائتها و من ثم اعادة بناء للبرنامج وفق الشروط الجديدة (هذا ما نراه غالبا في طرق Crack) .
اذاً مهما كانت الطريقة التي ستتبعها لحماية برامجك فانت بحاجة الى حماية ملفاتك البرمجية او دمجها و تشفيرها , و هذا هو المتبع لدى البرامج الكبيرة و المحمية بشكل جيد : لا يوجد شيئ محمي دائما!!!!
يوجد عدد من الشركات المختصة بتقنيات الحماية و التي توفر لك ادوات سهلة و قوية لحماية برنامجك لكن المشكلة في ان هذه التقنيات ليست مجانية و حتى ان الاداة التي تاتي مع Visual Studio و المحملة بشكل افتراضي مع كل نسخة (Dotfuscator) تاتي مع امكانيات محدودة و يتوجب عليك شراء النسخة لاتاحة كافة الامكانيات .
كانت بعض النسخ القديمة من هذه الاداة مجانية بالكامل لكن تطور (FrameWork) الخاص باللغة ادى الى عدم توافق مع النسخ القديمة .
يوجد شركات اخرى تقوم بانتاج ادوات الحماية مثل Eazfuscator.NET و كذلك Obfuscar و ايضا
SoftActivate Licensing SDK .
توفر هذه الشركات ادوات متطورة للحماية و فيها الكثير من المزايا الاخيرة تتوفر بسعر رخيص مقارنة بالشركات الاخرى و هي تعتمد تقنية ECC في تشفير المنتج و كذلك تقوم بانتاج مفاتيح موقعة رقميا بتقنية Eliptic Curve Cryptography و الجيد في هذه الاداة انها بالاضافة الى وظائف التشفير تحتوي على مكتبة كبيرة فيها الكثير من الوظائف مثل امكانية الحصول على ارقام قطع الجهاز و تشفيرها و ربطها مع مفتاح المنتج و حتى على مستوى السيرفرات تقوم بتامين الحماية للبرامج التي تطلب تسجيل مفاتيحها عبر الانترنت.
اذ تجعل الاتصال بالسيرفر الخاص بتوليد المفاتيح اتصال آمن و مشفر .
لن نناقش كثيرا موضوع الشركات و طرقها , لانه و كما اسلفنا نحن بحاجة شيئ و لو بسيط و مجاني يساعدنا في حماية برامجنا و تشفيرها و جعل عملية فك الترميز صعبة على الهكر الذي يحاول السرقة (بالنهاية ليس هناك برنامج محمي دائما) و هذا هو رأي شركات الحماية في هذا الموضوع .
موضوعنا سيكون عن طريقة حماية بسيطة و من ثم تشفير برنامجنا بالاداة المرفقة مع Visual Studio و محاولة فك ترميز البرنامج قبل و بعد التشفير و رؤية التغيرات الحاصلة
يتبع.....
تتعدد الطرق و الوسائل الخاصة بحماية البرامج و تسعى شركات الحماية (الخاصة بانتاج برمجيات للحماية) دائما الى ابتكار طرق جديدة للحماية
اغلب الطرق ان لم نقل جلها تعتمد على تشفير الملفات الحاوية للشيفرة البرمجية و انتاج ملفات جديدة مشفرة و مموهة و فق خوارزميات خاصة مثل RSA او ECC
اذ ان الطرق التي يستخدمها الهكر هي غالبا تعتمد على فك ترميز وحدات الشيفرة الخاصة ببرنامجك , فاذا كانت وحداتك غير محمية بمعنى انها غير مشفرة عندها ستفتح امامه كل الاجرائيات و الدوال و المتغيرات امامه بالمختصر سيكون قادر على الاطلاع على كل الشيفرة البرمجية الخاصة بك
فاذا كان لديك طريقة مهما كانت بسيطة او معقدة لحماية برنامجك و هذه الطريقة تعتمد على توليد مفاتيح خاصة بكل نسخة من البرنامج ,وكانت الطريقة تعتمد على الشيفرة البرمجية (بطبيعة الحال هذا ما يجري دائما) فان اي هاكر سيقوم بفك ترميز البرنامج سيكون من السهل عليه معرفة الطريقة التي يتم بها توليد المفتاح و بالتالي سيقوم بسرقة الدالة المسؤولة عن ذلك و انتاج برنامج صغير يقوم بتوليد المفاتيح مجانا
اما عن النسخ التجريبية فالطريقة هي بعمل تعطيل للدالة المسؤلة فحص التاريخ او اجراء عملية قفز و بالتالي عدم قرائتها و من ثم اعادة بناء للبرنامج وفق الشروط الجديدة (هذا ما نراه غالبا في طرق Crack) .
اذاً مهما كانت الطريقة التي ستتبعها لحماية برامجك فانت بحاجة الى حماية ملفاتك البرمجية او دمجها و تشفيرها , و هذا هو المتبع لدى البرامج الكبيرة و المحمية بشكل جيد : لا يوجد شيئ محمي دائما!!!!
يوجد عدد من الشركات المختصة بتقنيات الحماية و التي توفر لك ادوات سهلة و قوية لحماية برنامجك لكن المشكلة في ان هذه التقنيات ليست مجانية و حتى ان الاداة التي تاتي مع Visual Studio و المحملة بشكل افتراضي مع كل نسخة (Dotfuscator) تاتي مع امكانيات محدودة و يتوجب عليك شراء النسخة لاتاحة كافة الامكانيات .
كانت بعض النسخ القديمة من هذه الاداة مجانية بالكامل لكن تطور (FrameWork) الخاص باللغة ادى الى عدم توافق مع النسخ القديمة .
يوجد شركات اخرى تقوم بانتاج ادوات الحماية مثل Eazfuscator.NET و كذلك Obfuscar و ايضا
SoftActivate Licensing SDK .
توفر هذه الشركات ادوات متطورة للحماية و فيها الكثير من المزايا الاخيرة تتوفر بسعر رخيص مقارنة بالشركات الاخرى و هي تعتمد تقنية ECC في تشفير المنتج و كذلك تقوم بانتاج مفاتيح موقعة رقميا بتقنية Eliptic Curve Cryptography و الجيد في هذه الاداة انها بالاضافة الى وظائف التشفير تحتوي على مكتبة كبيرة فيها الكثير من الوظائف مثل امكانية الحصول على ارقام قطع الجهاز و تشفيرها و ربطها مع مفتاح المنتج و حتى على مستوى السيرفرات تقوم بتامين الحماية للبرامج التي تطلب تسجيل مفاتيحها عبر الانترنت.
اذ تجعل الاتصال بالسيرفر الخاص بتوليد المفاتيح اتصال آمن و مشفر .
لن نناقش كثيرا موضوع الشركات و طرقها , لانه و كما اسلفنا نحن بحاجة شيئ و لو بسيط و مجاني يساعدنا في حماية برامجنا و تشفيرها و جعل عملية فك الترميز صعبة على الهكر الذي يحاول السرقة (بالنهاية ليس هناك برنامج محمي دائما) و هذا هو رأي شركات الحماية في هذا الموضوع .
موضوعنا سيكون عن طريقة حماية بسيطة و من ثم تشفير برنامجنا بالاداة المرفقة مع Visual Studio و محاولة فك ترميز البرنامج قبل و بعد التشفير و رؤية التغيرات الحاصلة
يتبع.....