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

ثانيا نقوم بعمل أبلود لملف XML على الاستضافة او على http://www.Dropbox.com .


ثالثا نقوم بعمل ميديول لعرض السيريال الخاص بالفلاشة :

PHP كود :
#Region "Get Flash SN"
 
   Function GetSerialNumber1(ByVal Num As Integer) As String
        Try
            FlashName
.Clear()
 
           For Each drv In My.Computer.FileSystem.Drives
                If drv
.DriveType IO.DriveType.Removable Then
                    FlashName
.Add(drv.Name)
 
               End If
 
           Next
            Dim wmi_ld
wmi_dpwmi_dd As ManagementObject
            Dim temp
parts(), ans As String
            ans 
""
 
           'get the Logical Disk for that drive letter'
 
           wmi_ld = New ManagementObject("Win32_LogicalDisk.DeviceID='" FlashName(Num).ToString.TrimEnd("\"c) & "'") '
 
           'get the associated DiskPartition '
 
           For Each wmi_dp In wmi_ld.GetRelated("Win32_DiskPartition")
 
               'get the associated DiskDrive'
 
               For Each wmi_dd In wmi_dp.GetRelated("Win32_DiskDrive")
 
                   'a USB disk.  Oh well... so we have go thru this extra step'
 
                   Dim wmi As New ManagementClass("Win32_DiskDrive")
 
                   'have to loop thru them all, when we know which one we want.'
 
                   For Each obj As ManagementObject In wmi.GetInstances
                        
'Do the DeviceID fields match?'
 
                       If obj("DeviceID").ToString wmi_dd("DeviceID").ToString Then
                            
'The serial number is embedded in the PnPDeviceID'
 
                           temp obj("PnPDeviceID").ToString
                            If Not temp
.StartsWith("USBSTOR"Then
                                Throw 
New ApplicationException(FlashName(Num).ToString " doesn't appear to be USB Device")
 
                           End If
 
                           parts temp.Split("\&".ToCharArray)
 
                           'The serial number should be the next to the last element'
 
                           ans parts(parts.Length 2)
 
                       End If
 
                   Next
                Next
            Next
            Return ans
        Catch ex 
As Exception
            MsgBox
("Error : " ex.MessageMsgBoxStyle.Critical"Error")
 
           Return Nothing
        End 
Try
 
   End Function
#End Region 

نقوم بوضع كود تحميل الفورم في الميديول :

PHP كود :
#Region "Activate Program Startup"
 
   Dim FSNum As String
    Dim Arr 
As New ArrayList
    Dim xmlFile 
As String="https://dl.dropbox.com/s/pja3m2z8l9jjjn9/CompanyBuyer.xml?dl=0"
 
   Dim ds As New DataSet
    Friend 
Function main() As Form
        Dim Frm 
As New ActivateFrm
        Dim Fmain 
As New MainForm
        Arr
.Clear()
 
       For Each flstr As String In GetFlashDrive()
 
           Arr.Add(flstr)
 
       Next
        
        ds
.ReadXml(xmlFile)
 
       Dim DataView1 As New DataView()
 
       DataView1 ds.Tables("ProgramInfo").DefaultView
        For i 
0 To Arr.Count 1
            DataView1
.RowFilter "FlashMemorySerial Like'%" GetSerialNumber1(i).ToString "%'"
 
           If My.Settings.FNumXT GetSerialNumber1(iThen
                Return Fmain
                Exit 
Function
 
           End If
 
           If DataView1(0)("FlashMemorySerial").ToString() = GetSerialNumber1(i).ToString Then
                Return Frm
                Exit 
Function
 
           End If
 
       Next
        Return CloseFrm
    End 
Function
 
   Dim FlashName As New ArrayList
    Function GetFlashDrive
() As ArrayList
        FlashName
.Clear()
 
       For Each drv In My.Computer.FileSystem.Drives
            If drv
.DriveType IO.DriveType.Removable Then
                FlashName
.Add(drv.Name)
 
           End If
 
       Next
        Return FlashName
    End 
Function
#End Region 

ثم نقوم بتعديل الكود الموجود في ملف Application.Designer.vb من :

PHP كود :
       <Global.System.Diagnostics.DebuggerStepThroughAttribute()>  _
        Protected Overrides Sub OnCreateMainForm
()
 
           Me.MainForm = Global.TestFlashSerials.Form1
        End Sub 

الى :

PHP كود :
       <Global.System.Diagnostics.DebuggerStepThroughAttribute()>  _
        Protected Overrides Sub OnCreateMainForm
()
 
           Me.MainForm = Global.TestFlashSerials.Module1.main
        End Sub 

و نحفظ الملف .

نقوم بعمل فورم باسم ActivateFrm و فورم اخر باسم CloseFrm و فورم اخر باسم MainForm .

في الفورم ActivateFrm نضع زر باسم BtnActivateProgram

نكتب فيه :

PHP كود :
   Private Sub BtnActivateProgram_Click(sender As ObjectAs EventArgsHandles BtnActivateProgram.Click
        ds
.Clear()
 
       ds.ReadXml(xmlFile)
 
       Dim DataView1 As New DataView()
 
       DataView1 ds.Tables("ProgramInfo").DefaultView
        For i 
0 To Arr.Count 1
            DataView1
.RowFilter "FlashMemorySerial Like'%" GetSerialNumber1(i).ToString "%'"
 
           If GetSerialNumber1(i).ToString DataView1(0)("FlashMemorySerial").ToString() Then
                My
.Settings.FNumXT FSNum
                My
.Settings.Save()
 
               MsgBox("Log To Program")
 
               Dim frm As New MainForm
                frm
.Show()
 
               Close()
 
               Exit Sub
            End 
If
 
       Next
    End Sub 

و في حدث اللود نضع الكود التالي :

PHP كود :
   Dim FSNum As String
    Dim xmlFile 
As String
    Dim ds 
As New DataSet
    Dim Arr
FlashName As New ArrayList
    Private Sub ActivateFrm_Load
(sender As ObjectAs EventArgsHandles MyBase.Load
        Arr
.Clear()
 
       FlashName.Clear()
 
       For Each drv In My.Computer.FileSystem.Drives
            If drv
.DriveType IO.DriveType.Removable Then
                FlashName
.Add(drv.Name)
 
           End If
 
       Next
        Dim i 
As Integer 0
        For i 
0 To FlashName.Count 1
            Arr
.Add(FlashName(i))
 
       Next
        xmlFile 
"https://dl.dropbox.com/s/pja3m2z8l9jjjn9/CompanyBuyer.xml?dl=0"
 
       ds.ReadXml(xmlFile)
 
   End Sub 

طبعا xmlFile هو موقع الملف في الدروب بوكس .

في الفورم CloseFrm نضع فيه ليبل نكتب فيه "يرجى وضع الفلاش الخاصة بالبرنامج او الاتصال بالمبرمج على الهاتف : 00000000000"
و نضع زر اغلاق لاغلاق الفورم .

في الفورم MainForm نضع به ما نشاء لانه سيكون هو النافذة الرئيسية للبرنامج .

يوجد بالمرفقات ملفان ملف لانشاء ملف الاكس ام ال فايل في مسار البرنامج يرجى وضع فلاشة قبل تجربته و الضغط على زر Create Xml File
ثم عمل ابلود لملف الاكس ام ال الى الدروب بوكس و اخذ عنوان المشاركة من الدروب بوكس ووضعه في CheckBox1_CheckedChanged في نافذة مثال XMLCreate
ووضعه في المثال الثني الخاص بتجربة التأكد من الفلاش سيريال TestFlashSerials

صور النوافذ بالترتيب :

   

   

   


الملفات المرفقة
.zip   XMLCreate.zip (الحجم : 102.79 ك ب / التحميلات : 160)
.zip   TestFlashSerials.zip (الحجم : 1.53 م ب / التحميلات : 249)
الرد
#2
طب لو مفيش نت عند العميل
الرد
تم الشكر بواسطة: asemshahen5 , ابراهيم ايبو
#3
عدل المثال ليحفظ سيريال الفلاشة بالسيتنغ و يعمل المقارنة عليه .
الرد
تم الشكر بواسطة: حريف برمجة , ابراهيم ايبو
#4
جزاك الله كل الخير أخى عاصم والف مبروك الترقية
الرد
تم الشكر بواسطة: asemshahen5
#5
الله يبارك فيك و بأهل بيتك .
الرد
تم الشكر بواسطة: ابو روضة
#6
حضرتك تحملنا
وهذا ضريبة علمك الغزير

اولا عدل لنا المثال ليفظ في setting
ثانيا

هل يستطيع اي احد تعديل ما علي الفلاشة
هذا الموضوع هام جدا
برجاء الرد
شكرا
الرد
تم الشكر بواسطة: asemshahen5
#7
سأجيبك عن ثانيا :
الذي يأخذ من الفلاش هو سيريال نمبر الخاص بالفلاش فقط لاغير و يعمل به مقارنة في البرنامج اذا كان صحيح يعمل البرنامج و إذا كان خاطئ يقفل اما بالنسبة للتخزين 

بالفلاش تستطيع تخزين ماتريد دون التأثير على السيريال الخاص بها حتى لو عملت فورمات للفلاش فهذا لايؤثر على السيريال الخاص بها .

بالنسبة للسؤال الاول : أنا فضل تشفير السيريال و حفظه بقاعدة البيانات بجدول مستقل بما أن قاعدة البيانات محمية بكلمة مرور سواء كانت أكسيس أو سيكول هذا مثال بسيط على ذالك .

لقد قمت بتطوير المثال بحيث اذا عطبت الفلاش تستطيع تبديلها بفلاش جديد و تسجيلها على البرنامج بسهولة فقط اضغط على الارقام بالتسلسل الارقام الحمراء بنافذة الاكتفيت طبعا عند الزبون امسح الرقم من الخانة تيكست فقط احفظ الترتيب .
كلمة السر :123456789


.zip   TestActivatePorgram1.zip (الحجم : 2.88 م ب / التحميلات : 83)


الملفات المرفقة
.zip   ActivateProgramByFlashSN.zip (الحجم : 736.4 ك ب / التحميلات : 37)
.zip   TestActivatePorgram.zip (الحجم : 1.69 م ب / التحميلات : 33)
الرد
تم الشكر بواسطة:
#8
شكرا وجا ي للتجربة
الرد
تم الشكر بواسطة: asemshahen5
#9
حضرتك   انا عندي فيجوال 2008
عملت مشروع جديد
نقلت فورم وكلاس  الفاش
لكن ظهر هذا الخطأ 
حاولت لوحدي  احله لكن لم استطع
بلاجاء الحل

   
معلهش الملف لم يرفع رفعته

اضفت المرجع management
وجاري التجربة
شكرا

حضرتك كده الملفان اشتغلا

كيفية الاستخدام

بفرض البرنامج موجود علي القرص d في مجلد asdf مثلا

كيفية الاستحدام؟؟؟؟
وشكرا
الرد
تم الشكر بواسطة: asemshahen5
#10
اضف المكتبة system.management ثم استدعها عن طريق تعريفها import

يوجد عندك برنامجين واحد خاص بالمبرمج يخزن معلومات البيع للبرنامج و معلومات الزبون .
الثاني هو البرنامج الذي يجب اضافته الى برنامجك TestActivatePorgram1.zip .
الرد
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مثال علي عدم فتح البرنامج مره اخري Emam emam 4 99 17-10-19, 10:49 PM
آخر رد: elgokr
  مثال تغيير ثيم البرنامج وقت التشغيل honest 4 2,710 08-08-19, 06:01 AM
آخر رد: محمد كريّم
  مثال لانشاء برنامج تجريبي او جعل البرنامج الخاص بك نسخة تجريبية ahmadpal 4 426 07-08-19, 07:41 PM
آخر رد: ahmadpal
Wink سورس كود مع الشرح لطريقة عمل طرد او بلوك لمستخدم على البرنامج ahmadpal 3 581 09-05-19, 02:57 PM
آخر رد: ahmadpal
  [VB.NET] برنامج كيفية حماية البرنامج من استخدامه اكثر من مرة shwehdi4pc 10 3,626 25-02-19, 06:08 AM
آخر رد: new_programer
Information [مشروع] موجة الأوامر CMD , Command Prompt , تنفيذ الأمر وأخذ النص الناتج إلى البرنامج عبدالله الدوسري 6 1,468 14-02-19, 05:35 AM
آخر رد: yosefphotography6
Photo [مشروع] عرض اعلانات على البرنامج DK-x 2 785 10-10-18, 12:24 AM
آخر رد: DK-x
  التحكم في الماوس عن طريق لوحة المفاتيح(keyboard) mohammed moh 10 5,463 15-09-18, 04:33 PM
آخر رد: DK-x
  ربط البرنامج بالسكانر و المسح الضوئي صبري زينوبي 15 4,574 13-09-18, 02:21 AM
آخر رد: على رمضان
  [VB.NET] سورس كود لعملية تفعيل البرنامج مع احتساب عدد مرات الاستخدام elgokr 8 2,142 13-08-18, 09:04 PM
آخر رد: elgokr

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


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