تقييم الموضوع :
  • 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 اما يكون صحيح او نعيد عرض الرسالة وامكانية انهاء البرنامج
}}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [مشروع] تعلم كيف تصنع برنامج لنشر منشورات لحساب الفيس بوك الخاص بك Basil Abdallah 7 678 11-03-17, 03:54 PM
آخر رد: Riad dz
  حماية البرامج ابو ليلى 5 2,146 20-02-17, 01:34 AM
آخر رد: EnormousSoft
  [نقاش] هل تعلم هذا عن Select Case ali.alfoly 3 413 30-12-16, 07:00 PM
آخر رد: Basil Abdallah
  [مقال] دمج كل ملفات برنامجك الى ملف تنفيذى واحد ali.alfoly 25 9,555 02-12-16, 04:04 PM
آخر رد: ali.alfoly
  حصرياً ( إطبع على الوورد من خلال برنامجك ) ( شرح بالصور ) m.sami.ak 20 2,788 20-08-16, 11:53 PM
آخر رد: الوادي
  الاستفادة من بارمترات الاخراج من SQL Server داخل برنامجك ابو ليلى 1 509 20-08-16, 02:16 AM
آخر رد: الوادي
Star [VB.NET] شرح عمل امتداد خاص لبرامجك وجعل برنامجك يقرأ هذة الملفات mohammed_gamal381 22 9,059 01-06-16, 02:55 PM
آخر رد: ابراهيم كركوكي
  طريقة مميزة لعمل إعدادات Setting لحفظ اعدادات برنامجك بدون أكواد kslawy 6 2,140 26-05-16, 12:07 PM
آخر رد: CLARO
  حصرياً على اليوتوب,,, إطبع على الوورد من خلال برنامجك ( شرح بالفيديو ) مبرمج أوتار 5 2,198 15-05-16, 05:06 PM
آخر رد: CLARO
  كيف تجعل برنامجك عالميا و يدعم أكثر من لغة silverlight 5 1,107 15-05-16, 05:03 PM
آخر رد: CLARO

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


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