تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
طرق حماية البرنامج من الاستنساخ
#4
المثال العملي سيكون مبسطا جدا بحيث فقط ننظم العملية وبذلك سيكون Interface المثال على شكل صندوق ادخال InputBox ونحن نعلم ان شكله غير جيد خاصة اذا استخدمنا الفكرة مع مشروع له واجهة مستخدم جميلة أو حديثة وكذلك سنحفظ المفتاح في ملف نصي بسيط بينما عندما يتم تطبيق هذه الفكرة سيتم حفظ هذا المفتاح في قاعدة البيانات اذا النظام فيه قاعدة بيانات ويتم حفظه في Registry اذا كان النظام بدون قاعدة بيانات وممكن ايضا في Resources (هل تحبون عمل موضوع عن كل طريقة حفظ ومبرراتها؟؟؟؟)


كود :
Public Class Form1
Dim Mask As String = "98765432"
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not PassSecurity Then End
End Sub
Public Function PassSecurity() As Boolean
Dim BaseKey As String = HardCode()
Dim DataKey As String = LoadCode()
Dim Ret As Boolean = False
Dim ViewedKey As String = Masking_XOR(BaseKey)
If DataKey = ViewedKey Then
MsgBox("Pass")
Ret = True
Else
MsgBox("Fail May be:" & vbCrLf & "1. First Time" & vbCrLf & "2. Copyed Program")
Dim Ans As String = InputBox(ViewedKey, "Security")
If Ans = "" Then
MsgBox("No Answer")
Else
If BaseKey = Ans Then
MsgBox("Valid Code" & vbCrLf & "Pass")
Ret = True
' Saving New Code
Dim FileName As String = Application.StartupPath & "\CodeFile.txt"
Dim FileNum As Integer = FreeFile()
FileOpen(FileNum, FileName, OpenMode.Binary)
FilePut(FileNum, Masking_XOR(Ans))
FileClose()
Else
MsgBox("Invalid Code")
End If
End If
End If
Return Ret
End Function
Public Function HardCode() As String
Dim Ret As String
Dim DriveLetter As String = Application.StartupPath.Substring(0, 3)
Dim obj_FSO As Object
Dim obj_Drive As Object
obj_FSO = CreateObject("Scripting.FileSystemObject")
obj_Drive = obj_FSO.GetDrive(DriveLetter)
Dim SerNum As Integer = obj_Drive.SerialNumber
Ret = Hex(SerNum)
obj_FSO = Nothing
obj_Drive = Nothing
Ret = New String("0", 8 - Ret.Length) & Ret
Return Ret
End Function
Public Function LoadCode() As String
Dim FileName As String = Application.StartupPath & "\CodeFile.txt"
Dim FileNum As Integer = FreeFile()
If Dir(FileName) = "" Then
MsgBox("لايوجد ملف")
FileOpen(FileNum, FileName, OpenMode.Binary)
FilePut(FileNum, "00000000")
FileClose()
End If
Dim Code As New String("0", 8)
FileOpen(FileNum, FileName, OpenMode.Binary)
FileGet(FileNum, Code)
FileClose()
Return Code
End Function
Public Function Masking_Not(ByVal Code As String) As String
Dim Ret As String = ""
Dim Num As Integer = Val("&H" & Code)
Num = Not Num
Ret = Hex(Num)
Ret = New String("0", 8 - Ret.Length) & Ret
Return Ret
End Function
Public Function Masking_XOR(ByVal Code As String) As String
Dim Ret As String = ""
Dim Num_1 As Integer = Val("&H" & Code)
Dim Num_2 As Integer = Val("&H" & Mask)
Dim Num_3 As Integer = Num_1 Xor Num_2
Ret = Hex(Num_3)
Ret = New String("0", 8 - Ret.Length) & Ret
Return Ret
End Function
Public Function Masking_EQV(ByVal Code As String) As String
Dim Ret As String = ""
Dim Num_1 As Integer = Val("&H" & Code)
Dim Num_2 As Integer = Val("&H" & Mask)
Dim Num_3 As Integer = (Not Num_1) Xor Num_2
Ret = Hex(Num_3)
Ret = New String("0", 8 - Ret.Length) & Ret
Return Ret
End Function
End Class
طريقة تجربة البرنامج
شغل البرنامج وأجب على الرسائل بموافق وعند عرض ادخل المفتاح المطلوب وسوف يعطيك مفتاح (جرب ان تجيبه بأي شيء ستجده لا يشغل البرنامج) تاخذه الى الالة الحاسبة وتختار Hex في الالة ثم تلصق المفتاح اللي اخذته من البرنامج وتضغط على XOR ثم 98765432 ثم = سيظهر لك ناتج انسخه ولاحظ انه هو رقم القرص والصقه في البرنامج واجب بموافق تكون فتحت الحماية ... جرب شغل البرنامج لثاني مرة او لثالث مرة تجده مفتوحا
}}}
تم الشكر بواسطة:


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

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  حماية البرامج ابو ليلى 7 15,506 15-08-24, 06:39 PM
آخر رد: أبو جودة
Star حماية السورس كود الخاص بك من الكسر مجانا YousefOkasha 7 6,920 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,888 23-01-19, 08:35 PM
آخر رد: عبد العزيز البسكري
  قاعدة بيانات مضمنة مع البرنامج viv 4 4,432 27-09-18, 08:01 PM
آخر رد: viv
  [درس فيديو] شرح ربط البرنامج بقاعدة بيانات, إدراج حذف تعديل جلب البيانات ( بدون أن تكتب سطر واحد) عبدالله الدوسري 4 6,940 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
آخر رد: الطالب

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


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