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

سنناقش هنا حماية البرامج وهذا الموضوع هو توسعة للموضوع
http://vb4arb.com/vb/showthread.php?970

واول اجراء هو الحماية برقم القرص

كود :
[SIZE=2][color=#0000ff]PublicFunction[/color] HardCode() [color=#0000ff]As[/color][/SIZE][SIZE=2][COLOR=#0000ff]String
[/COLOR][color=#0000ff]Dim[/color] Ret [color=#0000ff]As[/color][/SIZE][SIZE=2][COLOR=#0000ff]String
[/COLOR][color=#0000ff]Dim[/color] DriveLetter [color=#0000ff]As[/color][color=#0000ff]String[/color] = Application.StartupPath.Substring(0, 3)
[color=#0000ff]Dim[/color] obj_FSO [color=#0000ff]As[/color][color=#0000ff]Object[/color], obj_Drive [color=#0000ff]As[/color][/SIZE][SIZE=2][COLOR=#0000ff]Object
[/COLOR]obj_FSO = CreateObject([color=#800000]"Scripting.FileSystemObject"[/color])
obj_Drive = obj_FSO.GetDrive(DriveLetter)
Ret = obj_Drive.SerialNumber
obj_FSO = [/SIZE][SIZE=2][COLOR=#0000ff]Nothing
[/COLOR]obj_Drive = [/SIZE][SIZE=2][COLOR=#0000ff]Nothing
[/COLOR]Ret = [color=#0000ff]New[/color][color=#0000ff]String[/color]([color=#800000]"0"[/color], 8 - Ret.Length) & Ret
[color=#0000ff]Return[/color] Ret
[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 اما يكون صحيح او نعيد عرض الرسالة وامكانية انهاء البرنامج
عيوب الفكرة اعلاه انه لم عملنا Format للقرص او نصبنا Windows عليه من جديد سيتغير رقم القرص وعليه سيضطر المستخدم للاتصال بك لتعطيه مفتاح جديد للبرنامج


كود :
[SIZE=2][color=#0000ff]Public[/color][/SIZE][SIZE=2][color=#0000ff]Shared[/color][/SIZE][SIZE=2][color=#0000ff]Function[/color][/SIZE][SIZE=2] MacAddress() [/SIZE][SIZE=2][color=#0000ff]As[/color][/SIZE][SIZE=2][COLOR=#0000ff]String
[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Try
[/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] = [/SIZE][SIZE=2][COLOR=#800000]""
[/COLOR][/SIZE][SIZE=2][color=#0000ff]Dim[/color][/SIZE][SIZE=2] strMACAddress [/SIZE][SIZE=2][color=#0000ff]As[/color][/SIZE][SIZE=2][color=#0000ff]String[/color][/SIZE][SIZE=2] = [/SIZE][SIZE=2][COLOR=#800000]""
[/COLOR][/SIZE][SIZE=2][color=#0000ff]Dim[/color][/SIZE][SIZE=2] strQuery [/SIZE][SIZE=2][color=#0000ff]As[/color][/SIZE][SIZE=2][color=#0000ff]String[/color][/SIZE][SIZE=2] = [/SIZE][SIZE=2][COLOR=#800000]"SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True"
[/COLOR][/SIZE][SIZE=2][color=#0000ff]Dim[/color][/SIZE][SIZE=2] query [/SIZE][SIZE=2][color=#0000ff]As[/color][/SIZE][SIZE=2] ManagementObjectSearcher = [/SIZE][SIZE=2][color=#0000ff]New[/color][/SIZE][SIZE=2] ManagementObjectSearcher(strQuery)
[/SIZE][SIZE=2][color=#0000ff]Dim[/color][/SIZE][SIZE=2] queryCollection [/SIZE][SIZE=2][color=#0000ff]As[/color][/SIZE][SIZE=2] ManagementObjectCollection = query.Get()
[/SIZE][SIZE=2][color=#0000ff]For[/color][/SIZE][SIZE=2][color=#0000ff]Each[/color][/SIZE][SIZE=2] mo [/SIZE][SIZE=2][color=#0000ff]As[/color][/SIZE][SIZE=2] ManagementObject [/SIZE][SIZE=2][color=#0000ff]In[/color][/SIZE][SIZE=2] queryCollection
strMACAddress = mo([/SIZE][SIZE=2][color=#800000]"MacAddress"[/color][/SIZE][SIZE=2]).ToString().Replace([/SIZE][SIZE=2][color=#800000]":"[/color][/SIZE][SIZE=2], [/SIZE][SIZE=2][color=#800000]""[/color][/SIZE][SIZE=2]) : [/SIZE][SIZE=2][color=#0000ff]Exit[/color][/SIZE][SIZE=2][COLOR=#0000ff]For
[/COLOR][/SIZE][SIZE=2][COLOR=#0000ff]Next
[/COLOR][/SIZE][SIZE=2]Ret = strMACAddress
[/SIZE][SIZE=2][color=#0000ff]Return[/color][/SIZE][SIZE=2] Ret
[/SIZE][SIZE=2][COLOR=#008000]' From Command DOS C:\> GetMAC
[/COLOR][/SIZE][SIZE=2][color=#0000ff]Catch[/color][/SIZE][SIZE=2] ex [/SIZE][SIZE=2][color=#0000ff]As[/color][/SIZE][SIZE=2] Exception
[/SIZE][SIZE=2][color=#0000ff]Return[/color][/SIZE][SIZE=2][COLOR=#800000]""
[/COLOR][/SIZE][SIZE=2][color=#0000ff]End[/color][/SIZE][SIZE=2][COLOR=#0000ff]Try
[/COLOR][/SIZE][SIZE=2][color=#0000ff]End[/color][/SIZE][SIZE=2][COLOR=#0000ff]Function
[/COLOR][/SIZE]
هذه الدالة ترجع لك MacAddress وهو رقم موجود لكل بطاقة شبكة (كارت شبكة) وفي الوقت الحالي موجود في كل كومبيوتر تقريبا وهذا الرقم لايتغير نهائيا ويعتبر اقوى من رقم القرص وبذلك يمكن استخدامه للحماية
}}}
تم الشكر بواسطة:


الردود في هذا الموضوع
طرق حماية البرنامج من الاستنساخ - بواسطة Raggi Tech - 05-10-12, 03:43 AM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  حماية البرامج ابو ليلى 7 15,510 15-08-24, 06:39 PM
آخر رد: أبو جودة
Star حماية السورس كود الخاص بك من الكسر مجانا YousefOkasha 7 6,921 03-07-24, 09:20 AM
آخر رد: أبو جودة
  معالجة التنبيهات في البرامج (استقبال تنبيهات داخل البرنامج) Dev Express ابو ليلى 9 9,893 10-02-22, 09:55 PM
آخر رد: عبدالحميد حسني
  تنفيذ سكربت القاعدة مع انطلاق البرنامج + تحديث التعديلات على القاعدة ابو ليلى 2 5,579 02-07-21, 09:05 PM
آخر رد: naserflaha71
  إضافة نغمات إفتتاحيّة أثناء تسطيب البرنامج عبد العزيز البسكري 11 7,889 23-01-19, 08:35 PM
آخر رد: عبد العزيز البسكري
  قاعدة بيانات مضمنة مع البرنامج viv 4 4,433 27-09-18, 08:01 PM
آخر رد: viv
  [درس فيديو] شرح ربط البرنامج بقاعدة بيانات, إدراج حذف تعديل جلب البيانات ( بدون أن تكتب سطر واحد) عبدالله الدوسري 4 6,942 08-02-18, 12:55 AM
آخر رد: Ameer Eagle
  [درس فيديو] تشغيل اوامر Run من البرنامج & مثال غلق الويندوز بعد وقت محدد باستخدام VB.net أحمد النجار 1 4,105 23-12-15, 04:26 AM
آخر رد: الماجيك مسعد
  [كود] عمل DragDrop من البرنامج الى Windows explorer HASAN6.0 5 4,162 02-12-15, 04:04 PM
آخر رد: hamada558
Brick [مثال] السحب والافلات على ايقونه البرنامج اكثر من مره والافلات على النافذه الطالب 0 2,504 15-08-15, 09:58 PM
آخر رد: الطالب

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


يقوم بقرائة الموضوع: