26-06-16, 12:26 PM
السلام عليكم و رحمة الله و بركاته ،،
اخوتي الاعزاء لقيت موضوع جميل على احدى صفحات الفيسبوك و احببت مشاركته بالمنتدى مع حفظ الحقوق لكاتبه
الموضوع :
العديد من البرامج التجارية تقدم نسخ تجريبة Trials محددة بعدد معين من الايام مثل 7 او 30 يوم حتى يمكن للمستخدم من تجربة البرنامج قبل شرائة ..... وعند انتهاء المدة التجريبية trial period يتوقف البرنامج عن العمل و يطلب من المستخدم شراء نسخة من البرنامج او التوقف عن استخدام البرنامج.
فكرة النسخ التجربية هي فكرة ناجحة في زيادة مبيعات البرنامج ولكنها في الحقيقة تمثل العديد من التحديات البرمجية في مجال حماية البرنامج من القرصنة و اهمها ان المستخدم يمكنة بسهولة تعديل اعدادات الوقت و التاريخ في النظام لكي يمد الفترة التجريبية للبرنامج ........ فكيف يمكن للبرنامج اكتشاف اي تلاعب في اعدادات التاريخ.
ببساطة الفكرة تعتمد على ان البرنامج سوف يبحث عن مجموعة من الادلة التي تثبت ان الوقت تم التلاعب فية للخلف من قبل المستخدم لكي يجعل النسخة التجريبية تعمل لفترة اطول.
هناك طريقتين لكشف هذا التلاعب في اعدادات الوقت والتاريخ:
1. الطريقة الاولي هي من خلال الكشف عن الملفات الموجودة في مجلدات النظام الشائعة مثل مجلدات temp و desktop و start menu ....حيث ان كل ملف لة تاريخ كتابة Write Date و تاريخ انشاء Create Date و تاريخ اخر وصول Last Access Date
سوف يتم فحص هذة التواريخ و ان وجد ان احد هذة التواريخ اكبر من التاريخ الحالي للنظام فهذا يعني ان التاريخ تم التلاعب فية للخلف.
2. الطريقة الثانية هي من خلال فحص سجلات احداث النظام events log و ان وجد ان حدث ما يحمل تاريخ اكبر من التاريخ الحالي للنظام فهذا يعني ان التاريخ تم التلاعب فية ايضا للخلف.
كتبت برنامج بسيط ب VB.NET يشرح فية باكواد بسيطة الطريقتين السابقيتن:
لتجربة البرنامج قم بتشغيلة و قم بتعديل التاريخ للوراء (اقل تعديل سيتم التنبة لة هو يوم واحد) و اختر الطريقة ثم اضغط Check Time Change
البرنامج قادر ايضا على الاستجابة تلقائيا لاي تعديل في التاريخ من خلال الحدث
SystemEvents.TimeChanged
رابط تحميل السورس كود:
DetectTimeChange.zip (الحجم : 84.57 ك ب / التحميلات : 1,580)
الفكرة مستواحاة من هذا المقال:
http://www.codeproject.com/Articles/4732...pplication
الكاتب : احمد اسامه
اخوتي الاعزاء لقيت موضوع جميل على احدى صفحات الفيسبوك و احببت مشاركته بالمنتدى مع حفظ الحقوق لكاتبه
الموضوع :
العديد من البرامج التجارية تقدم نسخ تجريبة Trials محددة بعدد معين من الايام مثل 7 او 30 يوم حتى يمكن للمستخدم من تجربة البرنامج قبل شرائة ..... وعند انتهاء المدة التجريبية trial period يتوقف البرنامج عن العمل و يطلب من المستخدم شراء نسخة من البرنامج او التوقف عن استخدام البرنامج.
فكرة النسخ التجربية هي فكرة ناجحة في زيادة مبيعات البرنامج ولكنها في الحقيقة تمثل العديد من التحديات البرمجية في مجال حماية البرنامج من القرصنة و اهمها ان المستخدم يمكنة بسهولة تعديل اعدادات الوقت و التاريخ في النظام لكي يمد الفترة التجريبية للبرنامج ........ فكيف يمكن للبرنامج اكتشاف اي تلاعب في اعدادات التاريخ.
ببساطة الفكرة تعتمد على ان البرنامج سوف يبحث عن مجموعة من الادلة التي تثبت ان الوقت تم التلاعب فية للخلف من قبل المستخدم لكي يجعل النسخة التجريبية تعمل لفترة اطول.
هناك طريقتين لكشف هذا التلاعب في اعدادات الوقت والتاريخ:
1. الطريقة الاولي هي من خلال الكشف عن الملفات الموجودة في مجلدات النظام الشائعة مثل مجلدات temp و desktop و start menu ....حيث ان كل ملف لة تاريخ كتابة Write Date و تاريخ انشاء Create Date و تاريخ اخر وصول Last Access Date
سوف يتم فحص هذة التواريخ و ان وجد ان احد هذة التواريخ اكبر من التاريخ الحالي للنظام فهذا يعني ان التاريخ تم التلاعب فية للخلف.
2. الطريقة الثانية هي من خلال فحص سجلات احداث النظام events log و ان وجد ان حدث ما يحمل تاريخ اكبر من التاريخ الحالي للنظام فهذا يعني ان التاريخ تم التلاعب فية ايضا للخلف.
كتبت برنامج بسيط ب VB.NET يشرح فية باكواد بسيطة الطريقتين السابقيتن:
لتجربة البرنامج قم بتشغيلة و قم بتعديل التاريخ للوراء (اقل تعديل سيتم التنبة لة هو يوم واحد) و اختر الطريقة ثم اضغط Check Time Change
البرنامج قادر ايضا على الاستجابة تلقائيا لاي تعديل في التاريخ من خلال الحدث
SystemEvents.TimeChanged
رابط تحميل السورس كود:
DetectTimeChange.zip (الحجم : 84.57 ك ب / التحميلات : 1,580)
الفكرة مستواحاة من هذا المقال:
http://www.codeproject.com/Articles/4732...pplication
الكاتب : احمد اسامه
اسم معرفي : محمد يحيى