اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

حماية مشروعك على قطع الجهاز (رقم الهارد ، رقم المذربورد ، رقم البروسيسور)


SEMO.Pa3x

الردود الموصى بها

اقدم لكم الشرح المفصل لكيفية حماية برنامجك من الكسر وصد الكراكرز من عملية تكريكة

مبدا عمل الحماية تقوم بالتحقق من ، القطع الاتية ..

[ MOTHER BORED ID ] - [ CPU ID ] - [ MAC ADDRESS ] - [ HWID ]

لم افهم ؟ اعطيك مثال بسيط ، الان انا قمت ببرمجة برنامج واريد اعطاء لشخص

اسمه [ احمد ] لكن ! اخاف ان اعطيه البرنامج فيقوم بنشره ، بهذه الطريقة سالجئ

لحماية برنامجي على قطع الجهاز الخاصة بـ [ احمد ] المتمثلة بالهاردوير والمذربورد وغيرها


 

[ الادوات المطلوبة / لعمل الحماية ]

[ 1 ] برنامج Net. اي اصدار انا طبقت على الاصدار 2012

[ 2 ] حساب بموقع PasteBin.com

[ 3 ] مكتبة System.Management

[ 4 ] فنكشنات التحقق من قطع الجهاز ، مكتوبة بلغة [ Net. ]

 

اولا نقوم بتسجيل عضوية بموقع [ PasteBin ] رابط التسجيل [ هنا ]
 
اتمام التسجيل ، ظهور رسالة تخبرك بالتوجه نحو بريدك لتفعيل العضوية 

بعد عملية التفعيل ظهور رسالة تخبرك بنجاح التفعيل

 

320301.png

 

 

الان نقوم بتسجيل الدخول

ثم ، نقوم بفتح الفيجوال ستوديو واختيار مشروع جديد ، ثم نقوم باضافة

[ TextBox1 ] + [ Button1 ] من قائمة الادوات ليصبح المشروع كالاتي ..

 

320304.png

 

الان نقوم باضافة مكتبة الـ [ System.Management]
من خيارات المشروع ، كلك يمين

 

320305.png

 
ثم نتوجه الى النافذة [ Refernces ]

320306.png

 

ثم نقوم بكتابة اسم المكتبة في مربع البحث [ System.Mangament ] ثم نضغط موافق

 

320307.png

 

الان نقوم بالنقر المزدوج على الـ [ Form1 ] ونقوم بمسح كل الاكواد ونلصق هذه الاكواد

 

Imports System.Management
Imports System
Imports System.Text
Imports System.Security.Cryptography
Imports System.Net
Public Class Form1
    Dim HW As New SEC_Informations
    Dim HDD As String
    Dim CPU As String
    Dim MB As String
    Dim MAC As String
    Dim hwid As String = Strings.UCase(HW.getMD5Hash(CPU & HDD & MB & MAC))
    Public Class SEC_Informations
 
        '.....................................
        '>> ReCoder : SEMO.Pa3x
        '>> Skype   : Security.Najaf
  
        '.....................................
 
        Friend Function GetProcessorId() As String
            Dim strProcessorId As String = String.Empty
            Dim query As New SelectQuery("Win32_processor")
            Dim search As New ManagementObjectSearcher(query)
            Dim info As ManagementObject
            For Each info In search.Get()
                strProcessorId = info("processorId").ToString()
            Next
            Return strProcessorId
        End Function
        Friend Function GetMACAddress() As String
            Dim mc As ManagementClass = New ManagementClass("Win32_NetworkAdapterConfiguration")
            Dim moc As ManagementObjectCollection = mc.GetInstances()
            Dim MACAddress As String = String.Empty
            For Each mo As ManagementObject In moc
                If (MACAddress.Equals(String.Empty)) Then
                    If CBool(mo("IPEnabled")) Then MACAddress = mo("MacAddress").ToString()
                    mo.Dispose()
                End If
                MACAddress = MACAddress.Replace(":", String.Empty)
            Next
            Return MACAddress
        End Function
        Friend Function GetVolumeSerial(Optional ByVal strDriveLetter As String = "C") As String
            Dim disk As ManagementObject = New ManagementObject(String.Format("win32_logicaldisk.deviceid=""{0}:""", strDriveLetter))
            disk.Get()
            Return disk("VolumeSerialNumber").ToString()
        End Function
        Friend Function GetMotherBoardID() As String
            Dim strMotherBoardID As String = String.Empty
            Dim query As New SelectQuery("Win32_BaseBoard")
            Dim search As New ManagementObjectSearcher(query)
            Dim info As ManagementObject
            For Each info In search.Get()
                strMotherBoardID = info("SerialNumber").ToString()
            Next
            Return strMotherBoardID
        End Function
        Friend Function getMD5Hash(ByVal strToHash As String) As String
            Dim md5Obj As New System.Security.Cryptography.MD5CryptoServiceProvider
            Dim bytesToHash() As Byte = System.Text.Encoding.ASCII.GetBytes(strToHash)
            bytesToHash = md5Obj.ComputeHash(bytesToHash)
            Dim strResult As String = ""
            For Each b As Byte In bytesToHash
                strResult += b.ToString("x2")
            Next
            Return strResult
        End Function
    End Class
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        CPU = HW.GetProcessorId()
        HDD = HW.GetVolumeSerial("C")
        MB = HW.GetMotherBoardID()
        MAC = HW.GetMACAddress()
        TextBox1.Text = (hwid)
    End Sub
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim w As New WebClient
        Dim cpuids As String() = Split(w.DownloadString("Your Link"), "|")
        Dim cur As String = hwid
        For Each c As String In cpuids
            If cur = c Then
                GoTo authed
            End If
        Next
        MessageBox.Show("1 - Make sure of the title of [ Hardware ] Is not prohibited" & ChrW(13) & ChrW(10) & ChrW(13) & ChrW(10) & "2 - Make sure your Internet connection" & ChrW(13) & ChrW(10) & ChrW(13) & ChrW(10) & "3 - If you find other problems contact on [ Skype : Security.Najaf ]", "Warning message", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Environment.Exit(0)
authed:
        MessageBox.Show("Has been successfully activated version" & ChrW(13) & ChrW(10) & ChrW(13) & ChrW(10) & "Thank you for using this program", "Welcome Message", MessageBoxButtons.OK, MessageBoxIcon.Information)
    End Sub
End Class


الان نقوم بتشغيل المشروع ، نلاحظ سيظهر لنا رقم طويل نقوم بنسخة

 

320309.png

 

ثم نقوم بالذهاب لموقع [ PasteBin ] ونقوم بكتابة مشاركة جديدة

 

320310.png

 

نقوم بكتابة الرقم الذي قمنا بنسخه  ، مع تعديل خيارات المشاركة

 

320311.png

 
 

320312.png

 
ثم نقوم بالضغط على كلك يمين على كلمة [ RAW ] ونختار

320313.png

 

نقوم بالرجوع لمشروعنا ونستبدل كلمة [ Your Link ] بالرابط الجديد

 

320314.png

 
 

320315.png

 

الان قم باعطاء برنامجك للعميل ، وقل له ان يشغله ، بعد ان يقوم العميل بتشغيل البرنامج

سيظهر له الرقم الطويل يقوم باعطاءك اياه لتقوم انت بوضعه بالموقع

وسيعمل برنامجك بدون اي مشاكل

 

320316.png

 

اما عند الاشخاص الغير مصرح لهم باستعمال البرنامج

 

320317.png

 
 


الان السؤال كيف ساقوم باضافة اكثر من رقم عميل بالموقع ؟

الجواب بين كل عميل واخر افصل بينهم بالـ [ | ] مثال بسيط على العملية ..

 

320318.png

 
 

نصائح لحماية معقدة اكثر ، قم بضغط البرنامج بحماية [ SafeEngine ] او [ Consufer ]

او غيرها من باقي الحمايات العنيدة .

تم تعديل بواسطه SEMO.Pa3x
  • Like 1
  • Thanks 1
رابط هذا التعليق
شارك

7 ساعات مضت, Boo.Reema said:

الموضوع رائع لكن من خلال فهمى البسيط يجب أن يكون العميل متصل بالانترنت حتى يتم تفعيل البرنامج

 

هل رأيى صحيح أم أن فهمى للموضوع خاطئ ؟

 

بالضبط يجب ان يكون العميل متصل بالانترنت.

او ممكن تسوي تغيير بالكود وتخلي التحقق Local

 

حسنين

  • Thanks 1
رابط هذا التعليق
شارك

في ١١‏/٤‏/٢٠١٩ at 06:32, SEMO.Pa3x said:

 

بالضبط يجب ان يكون العميل متصل بالانترنت.

او ممكن تسوي تغيير بالكود وتخلي التحقق Local

 

حسنين

لو أمكن ممكن الكود مع الشرح فى حالة عدم الاتصال بالنت

وكيفية توليد أرقام التسجيل للبرنامج

رابط هذا التعليق
شارك

  • 1 year later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • اضف...

Important Information