تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
طلب طرق قفل برنامج من السرقة مهم جدا
#28
قم بربط البرنامج بالسيريال نمبر للمعالج ...

أولاً : قم بإنشاء مشروع جديد يقوم بأخد السيريال نمبر للمعالج

أضف الـ Module التالي :
كود :
Imports System.Management

Module ModReg
    Public Function GetComputerCode() As String
        On Error Resume Next
        Dim Searcher As ManagementObjectSearcher
        Dim Encrypt As String = ""
        Dim Idp As String = ""
        Dim Code As String = ""
        Searcher = New ManagementObjectSearcher("Select ProcessorId From Win32_Processor")
        For Each Device As ManagementObject In Searcher.Get
            For Each Prop As PropertyData In Device.Properties
                Idp = (Prop.Value.ToString)
            Next
        Next
        Encrypt = EncryptingData(Idp, 17)
        For I As Integer = 0 To Idp.Length - 1
            Code += Idp(I) & Encrypt(I)
        Next
        Return Code
    End Function

    Public Function GetRegCode(ByVal Code As String) As String
        On Error Resume Next
        Dim Idp As String = ""
        Dim Encrypt As String = ""
        Dim UnCode As String = ""
        For I As Integer = 0 To Code.Length - 1 Step 2
            Idp += Code(I)
            Encrypt += Code(I + 1)
        Next
        For I As Integer = 0 To Idp.Length - 1
            UnCode += Obfuscate(Idp)(I) & Obfuscate(Encrypt)(I)
        Next
        Return ReplaceOem(UnCode)
    End Function

    Private Function EncryptingData(ByVal DataString As String, ByVal Key As Integer) As String
        On Error Resume Next
        Dim Ch As Char() = DataString.ToCharArray
        Dim sb As New System.Text.StringBuilder
        For i As Integer = 0 To Ch.Length - 1
            sb.Append(Convert.ToChar(Convert.ToInt64(Ch(i)) + Key))
        Next
        Return sb.ToString
    End Function

    Private Function Obfuscate(ByVal origText As String) As String
        On Error Resume Next
        Dim textBytes As Byte() = System.Text.Encoding.Unicode.GetBytes(origText)
        For counter As Integer = 0 To textBytes.Length - 1
            If (textBytes(counter) > 31) And (textBytes(counter) < 127) Then
                textBytes(counter) += CByte(counter Mod 31 + 1)
                If (textBytes(counter) > 126) Then textBytes(counter) -= CByte(95)
            End If
        Next counter
        Return System.Text.Encoding.Unicode.GetChars(textBytes)
    End Function

    Private Function ReplaceOem(ByVal Str As String) As String
        Str = Replace(Str, "`", "0")
        Str = Replace(Str, "]", "1")
        Str = Replace(Str, "[", "2")
        Str = Replace(Str, "'", "3")
        Str = Replace(Str, "\", "4")
        Str = Replace(Str, ";", "5")
        Str = Replace(Str, "/", "6")
        Str = Replace(Str, ".", "7")
        Str = Replace(Str, ",", "8")
        Str = Replace(Str, "}", "9")
        Str = Replace(Str, "{", "10")
        Str = Replace(Str, "<", "11")
        Str = Replace(Str, ">", "12")
        Str = Replace(Str, "?", "13")
        Str = Replace(Str, "~", "14")
        Str = Replace(Str, "=", "15")
        Str = Replace(Str, "+", "16")
        Str = Replace(Str, "-", "17")
        Str = Replace(Str, "_", "18")
        Str = Replace(Str, """", "19")
        Str = Replace(Str, "*", "20")
        Str = Replace(Str, "&", "21")
        Str = Replace(Str, "^", "22")
        Str = Replace(Str, "%", "23")
        Str = Replace(Str, "$", "24")
        Str = Replace(Str, "#", "25")
        Str = Replace(Str, "@", "26")
        Str = Replace(Str, "!", "27")
        Return Str
    End Function
End Module

وفي الـ Form1 قم بإضافة TextBox فقط وفي حدث Form_Load ضع الأمر التالي :
كود :
Dim Code As String = ModReg.GetRegCode(ModReg.GetComputerCode & "_MyApp")
TextBox1.Text = Code

بعد الإنتهاء شغل البرنامج في جهاز المشتري وانسخ الـ Code الناتج

------------------------------------------------------

في برنامجك أضف الـ Module السابق
ثم قم بوضع الأمر التالي في حدث Form_Load لأول نافذة :
كود :
Dim Code As String = ModReg.GetRegCode(ModReg.GetComputerCode & "_MyApp")
If Code <> [color=#ff0000]"كود المشتري"[/color] Then
MsgBox("البرنامج غير مصرح له بالعمل إلا على جهاز واحد")
        Application.ExitThread()
        Application.Exit()
End If


بعد الانتهاء وعمل Build قم بتشفير برنامجك بأحد برامج التشفير (مثل .Net Reactor) لكي لا يتم سرقت الأوامر


بالتوفيق :o
الرد }}}
تم الشكر بواسطة:


الردود في هذا الموضوع
طلب طرق قفل برنامج من السرقة مهم جدا - بواسطة Osama_Ghareeb - 27-10-12, 06:09 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Information [VB.NET] مطلوب سورس برنامج من سيربح المليون بدر إشتية 7 6,726 30-11-25, 07:22 AM
آخر رد: Mr_limo
  برنامج نظام محل مواد غذائية crazykinko 0 157 17-10-25, 12:27 AM
آخر رد: crazykinko
  جهاز ارسال رسائل SMS من خلال برنامج فيجوال بيسك جيولوجي مبتدئ 4 1,025 05-09-25, 12:37 PM
آخر رد: جيولوجي مبتدئ
  استفسار عن حامية برنامج ahmedramy 2 589 27-04-25, 06:02 PM
آخر رد: princelovelorn
Lightbulb [مشروع] مطلوب برنامج نظام صيدليه بالفيجوال بيسك 2010 May-5 13 10,794 07-02-25, 07:55 PM
آخر رد: الورد2
  برنامج الفيجول استوديو 2010 لا يتجاوب مع التحديثات التي اجريها عليه في برمجة البرامج PeterGhattas082460 1 427 14-12-24, 01:16 AM
آخر رد: Taha Okla
  خطأ في برنامج بلغة البايثون ahlamalgomate2020 0 288 08-11-24, 11:31 PM
آخر رد: ahlamalgomate2020
  مساعدة فى حفظ مشروع برنامج الى ضيغة apk م / وليد تيتو 1 373 03-11-24, 05:27 PM
آخر رد: Taha Okla
  أريد كود عند الضغط على الصورة في PictureBox تفتح في برنامج الصور في الويندوز F.H.M 6 636 25-10-24, 01:57 PM
آخر رد: F.H.M
Photo رابط تحميل برنامج منبه الصلاة | Prayer Alarm mmaalmesry 0 741 24-10-24, 05:49 PM
آخر رد: mmaalmesry

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


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