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

اخواني كل شخص اكيد يريد حماية برنامج.. وطبعا لا توجد حماية كامله لكن نحن نحاول لتصعيب الامر فقط
،، فعندي طريقة لم استطع تحليلها الى كود وهي ان يعمل البرنامج برقم المعالج للجهاز
كما نعرف انا لكل معالج في الجهاز رقم id خاص ،، فكيف نجعل البرنامج يقوم بهذه الاوامر ،،،

[color="#ff0000"]عند فتح الفورم يبحث عن رقم المعالج اذا تطابق مثل ما كتبنا رقمه يقوم بفتحه واذا لم يطابق لا يفتح ..
لكن المشكلة هنا كيف اجعله يستخرج رقم المعالج ؟[/color]
الرد }}}
تم الشكر بواسطة:
#2
تفضل اخى

كود :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
        On Error Resume Next
        Dim computer As String = "."
        Dim wmi As Object = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & computer & "\root\cimv2")
        Dim processors As Object = wmi.ExecQuery("Select * from " & "Win32_Processor")

        Dim cpu_ids As String = ""
        For Each cpu As Object In processors
            cpu_ids = cpu.ProcessorId
            MsgBox("رقم المعالج : " & cpu_ids & "", MsgBoxStyle.Information)
        Next

        If cpu_ids = "BFEBFBFF00020655" Then
            Form2.Show()
            Me.Hide()
        Else
            MsgBox("هذه النسخة ليست مرخصة لك", MsgBoxStyle.Critical)
            End
        End If
    End Sub
الرد }}}
تم الشكر بواسطة:
#3
بارك الله فيك اخي الكريم على اجابتك الوافية والسريعة
الرد }}}
تم الشكر بواسطة:
#4
just.coder كتب :تفضل اخى

كود :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
        On Error Resume Next
        Dim computer As String = "."
        Dim wmi As Object = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & computer & "\root\cimv2")
        Dim processors As Object = wmi.ExecQuery("Select * from " & "Win32_Processor")

        Dim cpu_ids As String = ""
        For Each cpu As Object In processors
            cpu_ids = cpu.ProcessorId
            MsgBox("رقم المعالج : " & cpu_ids & "", MsgBoxStyle.Information)
        Next

        If cpu_ids = "BFEBFBFF00020655" Then
            Form2.Show()
            Me.Hide()
        Else
            MsgBox("هذه النسخة ليست مرخصة لك", MsgBoxStyle.Critical)
            End
        End If
    End Sub



اخوي طبقت الكود ولم يعمل معي ممكن توضح كيف استفد من الكود بارك الله فيك

لو تضع مثال او تشرح لنا كيف نعمل الكود بمثال ؟
الرد }}}
تم الشكر بواسطة:
#5
توجد طريقة اخرى تعرض رقم الهارد ديسك .. تعلمتها من خلال هذا المنتدى .. سأرسل لحضرتك الكود .. لاحقا
الرد }}}
تم الشكر بواسطة:
#6
سامي نت كتب :اخوي طبقت الكود ولم يعمل معي ممكن توضح كيف استفد من الكود بارك الله فيك

لو تضع مثال او تشرح لنا كيف نعمل الكود بمثال ؟

ماهي المشكلة التي ظهرت عندك ؟؟ ،، انا اشتغلت معي ،،
الرد }}}
تم الشكر بواسطة:
#7
المهم لما يستخرج رقم المعالج فين يحفظه؟
لاتقول بنفس الجهاز او الريجستري.
وانما الافضل من وجهة نظري بخادم على الانترنت ولا تستخدم on error resume next بل استخدم try حتى لو واجه اي خطا يتم تسليم رسالة معينة بدل من ان يتخطى ويقوم بتشغيل البرنامج
الرد }}}
تم الشكر بواسطة:
#8
راجع هذا الموضوع
http://vb4arb.com/vb/showthread.php?2745...D%DA%ED%E1
الرد }}}
تم الشكر بواسطة:
#9
shado1796 كتب :ماهي المشكلة التي ظهرت عندك ؟؟ ،، انا اشتغلت معي ،،

ما ظهر اي مشكله عندي مثل لو بشغل فورم ولا يحتوي على اي كود
يعني اشغل المشروع بعد وضع الكود جوا الفورم رقم 1
ووضعت فورم رقم 2 وبعد تشغيل المشروع
لايوجد اي خطأ بس مو عارف كيف استفيد من الكود
الرد }}}
تم الشكر بواسطة:



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


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