تقييم الموضوع :
  • 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 ك ب / التحميلات : 979)
.zip   TestFlashSerials.zip (الحجم : 1.53 م ب / التحميلات : 1,416)
الرد }}}
#2
طب لو مفيش نت عند العميل
الرد }}}
تم الشكر بواسطة: asemshahen5 , ابراهيم ايبو
#3
عدل المثال ليحفظ سيريال الفلاشة بالسيتنغ و يعمل المقارنة عليه .
الرد }}}
تم الشكر بواسطة: حريف برمجة , ابراهيم ايبو
#4
جزاك الله كل الخير أخى عاصم والف مبروك الترقية
الرد }}}
تم الشكر بواسطة: asemshahen5
#5
الله يبارك فيك و بأهل بيتك .
الرد }}}
تم الشكر بواسطة: ابو روضة
#6
حضرتك تحملنا
وهذا ضريبة علمك الغزير

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

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

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

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

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


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


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

[attachment=22630]
معلهش الملف لم يرفع رفعته

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

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

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

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

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

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  جعل البرنامج لا يعمل على الاجهزة التي لاتدعم اللغة العربية العتيق 0 171 27-01-24, 08:08 PM
آخر رد: العتيق
  [مثال] تشغيل البرنامج لفترة محددة مع التفعيل Kamil 0 236 07-01-24, 01:43 AM
آخر رد: Kamil
Rainbow [مشروع] تفعيل او ايقاف الفلاش USP Control_On_Off محمد مسافر 0 483 10-11-22, 12:01 AM
آخر رد: محمد مسافر
  [مشروع] اول جدار ناري عربي حماية للشبكة كامل dasktop 4 1,719 10-10-22, 10:54 AM
آخر رد: المعترس
  الاتصال بقاعدة بيانات SQL بدون تنصيب البرنامج كامل ملهمـ 0 1,328 23-09-22, 12:28 AM
آخر رد: ملهمـ
  مثال إضافة وأزالة البرنامج من قائمة بدء التشغيل سيد درويش 0 803 26-08-22, 12:14 PM
آخر رد: سيد درويش
  [مشروع] واخيرا تم ايجاد حل عند تكبير البرنامج على حسب كل الشاشات shado1796 10 8,501 16-08-22, 05:43 PM
آخر رد: ahmadalsalami
  جدار حماية للكمبيوتر عربي كامل dasktop 0 1,159 22-05-22, 04:35 PM
آخر رد: dasktop
  البرنامج لا يعمل عند قطع التيار ولا بد من تغيير مكانه atefkhalf2004 0 903 27-03-22, 10:56 AM
آخر رد: atefkhalf2004
  [VB.NET] مثال طريقة جعل البرنامج يعمل مع بداية تشغيل النظام معاند الحظ 2 2,111 03-02-22, 05:20 AM
آخر رد: أبووسم

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


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