تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
تعلم حماية برنامجك بحيث لا يعمل الا على قرص صلب واحد
#1
كاتب الموضوع : FlyToAbd

هذه الدالة ترجع قيمة الرقم التسلسلي للقرص الموجود به البرنامج


كود :
[SIZE=2][color=#0000ff]Public[/color][/SIZE][SIZE=2][color=#0000ff]Function[/color][/SIZE][SIZE=2] HardCode() [/SIZE][SIZE=2][color=#0000ff]As[/color][/SIZE][SIZE=2][COLOR=#0000ff]String
[/COLOR][/SIZE][SIZE=2][color=#0000ff]Dim[/color][/SIZE][SIZE=2] Ret [/SIZE][SIZE=2][color=#0000ff]As[/color][/SIZE][SIZE=2][COLOR=#0000ff]String
[/COLOR][/SIZE][SIZE=2][color=#0000ff]Dim[/color][/SIZE][SIZE=2] DriveLetter [/SIZE][SIZE=2][color=#0000ff]As[/color][/SIZE][SIZE=2][color=#0000ff]String[/color][/SIZE][SIZE=2] = Application.StartupPath.Substring(0, 3)
[/SIZE][SIZE=2][color=#0000ff]Dim[/color][/SIZE][SIZE=2] obj_FSO [/SIZE][SIZE=2][color=#0000ff]As[/color][/SIZE][SIZE=2][color=#0000ff]Object[/color][/SIZE][SIZE=2], obj_Drive [/SIZE][SIZE=2][color=#0000ff]As[/color][/SIZE][SIZE=2][COLOR=#0000ff]Object
[/COLOR][/SIZE][SIZE=2]obj_FSO = CreateObject([/SIZE][SIZE=2][color=#800000]"Scripting.FileSystemObject"[/color][/SIZE][SIZE=2])
obj_Drive = obj_FSO.GetDrive(DriveLetter)
Ret = obj_Drive.SerialNumber
obj_FSO = [/SIZE][SIZE=2][COLOR=#0000ff]Nothing
[/COLOR][/SIZE][SIZE=2]obj_Drive = [/SIZE][SIZE=2][COLOR=#0000ff]Nothing
[/COLOR][/SIZE][SIZE=2]Ret = [/SIZE][SIZE=2][color=#0000ff]New[/color][/SIZE][SIZE=2][color=#0000ff]String[/color][/SIZE][SIZE=2]([/SIZE][SIZE=2][color=#800000]"0"[/color][/SIZE][SIZE=2], 8 - Ret.Length) & Ret
[/SIZE][SIZE=2][color=#0000ff]Return[/color][/SIZE][SIZE=2] Ret
[/SIZE][SIZE=2][color=#0000ff]End[/color][/SIZE][SIZE=2][COLOR=#0000ff]Function
[/COLOR][/SIZE]
الفكرة بسيطة جدا واختراقها ابسط منها لكن هى اول مرحلة لك لحماية نظام معين وتعتبر عائق بسيط امام السارق للبرنامج
KD هو رقم القرص الصلب نجده من الدالة
SN هو الرقم الذي يمثل معكوس KD ويمكن حسابه من Not KD هذا هو سر الفكرة مع اعادة جعل عدد مراتبه مساوي لثمانية

نحفظ SN في قاعدة البيانات وعند تشغيل البرنامج نجلب SN من القاعدة ثم نقرأ KD من خلال الدالة اعلاه ونختبر Not SN=KD فاذا كانت النتيجة True فان البرنامج غير مسروق والا فهو اما مسروق او تم تنصيبه لاول مرة فنظهر رسالة للمستخدم تعطيه قيمة KD وتطلب منه تسليمه الى البائع للبرنامج ويطلب منه كتابة الرقم الذي يعطيه البائع والذي هو Not KD فعندما يدخل SN نحفظه في قاعدة البيانات ونفحص Not SN=KD اما يكون صحيح او نعيد عرض الرسالة وامكانية انهاء البرنامج
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  معلومة :: تعلم كيف تحفظ صورة في My.Settings بدون الإحتياج إلى مسارها! أسامة أحمد 4 4,475 18-07-21, 02:53 AM
آخر رد: kebboud
  طريقة استخدام مكتبة internet download manager في برنامجك kslawy 3 4,243 30-07-19, 07:06 AM
آخر رد: سعود
  التشفيير في إتجاه واحد silverlight 5 3,488 29-05-19, 10:33 PM
آخر رد: egbest2
  كيف تجعل برنامجك عالميا و يدعم أكثر من لغة silverlight 6 4,395 29-05-19, 10:32 PM
آخر رد: egbest2
Star حماية السورس كود الخاص بك من الكسر مجانا YousefOkasha 6 4,015 21-04-19, 12:41 PM
آخر رد: YousefOkasha
  [VB.NET] انتبه من كتابة الشرط if في سطر واحد ali.alfoly 0 1,321 02-01-19, 06:32 AM
آخر رد: ali.alfoly
Brick جعل برنامجك يعمل بوضعية المدير أو المسؤول - Administrator YousefOkasha 2 2,134 24-10-18, 02:58 PM
آخر رد: حريف برمجة
  [مشروع] تعلم كيف تصنع برنامج لنشر منشورات لحساب الفيس بوك الخاص بك Basil Abdallah 8 5,028 01-07-18, 01:21 AM
آخر رد: YousefOkasha
  حصرياً ( إطبع على الوورد من خلال برنامجك ) ( شرح بالصور ) m.sami.ak 21 9,554 23-02-18, 11:04 AM
آخر رد: احمد نعمة عبد السلام
  [درس فيديو] شرح ربط البرنامج بقاعدة بيانات, إدراج حذف تعديل جلب البيانات ( بدون أن تكتب سطر واحد) عبدالله الدوسري 4 4,602 08-02-18, 12:55 AM
آخر رد: Ameer Eagle

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم