• 0
abdalla89

حماية اكسس بالفلاشة

سؤال

السلام عليكم و رحمة الله و بركاته

وكل عام و أنتم و منتدانا الرائع بألف ألف خير و بركة

قمت بتعديل بسيط على كود الحماية برقم الهارد دسك الذي طرحته الانسة زهرة مسبقا

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

و المشكلة الان و فيها السؤال اذا تم فرمتة الفلاشة او أي هارد يتغير هذا الرقم و بالتالي لا يكمن فتح البرنامج لأن الرقم الموجود في البرنامج مسبقا بقية كما هو و قد تغير رقم الفلاشة بعد الفرمته

فهل من طريقة فعالة لمنع فرمتة الفلاشة

و شكرا لكم مرة اخرى

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

36 إجابة على هذا السؤال .

  • 0

اتمنى ان تكون هنالك طريقة لربط الفلاش وعمل البرنامج بذلك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

يمكنك استخدام هذا الكود للحصول على رقم الهاردسك .. ولن يتأثر حتى بعد الفورمات.. سوف يعطيك رقم ID وليس Volum Number كما هو الحال في دالة API المسماة GetVolumeSerialNumber

تفضل الكود



Dim strComputer As String
Dim serNum As String

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colitems = objWMIService.ExecQuery("SELECT * FROM Win32_DiskDrive", , 48)

For Each objitem In colitems
If objitem.interfacetype = "USB" Then serNum = objitem.pnpdeviceid
Next

serNum = Mid(serNum, InStrRev(serNum, "\") + 1)
If serNum = "" Then
MsgBox "لا يوجد فلاش موصول بجهاز الكمبيوتر "
Exit Sub
End If
serNum = Left(serNum, InStr(serNum, "&") - 1)

MsgBox "رقم الفلاشه هو " & serNum

تحياتي

2

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

موضوع مهم والله ومفيد جدا

يا ريت يا استاذ "omani" ترفق ملف كمثال رجااااءً مع الشكر

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

يمكنك استخدام هذا الكود للحصول على رقم الهاردسك .. ولن يتأثر حتى بعد الفورمات.. سوف يعطيك رقم ID وليس Volum Number كما هو الحال في دالة API المسماة GetVolumeSerialNumber

تفضل الكود



Dim strComputer As String
Dim serNum As String

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colitems = objWMIService.ExecQuery("SELECT * FROM Win32_DiskDrive", , 48)

For Each objitem In colitems
If objitem.interfacetype = "USB" Then serNum = objitem.pnpdeviceid
Next

serNum = Mid(serNum, InStrRev(serNum, "\") + 1)
If serNum = "" Then
MsgBox "لا يوجد فلاش موصول بجهاز الكمبيوتر "
Exit Sub
End If
serNum = Left(serNum, InStr(serNum, "&") - 1)

MsgBox "رقم الفلاشه هو " & serNum

تحياتي

شكرا جزيلا على هذا الرد الرائع لقد أحييت لي الأمل من جديد بهذه الطريقة مع أن لم أجربها بعد ولكني أريد أن يسجل رقم الفلاشة في جدول محدد لكي استطيع القيام بعلمية المقارنة مع رقم أخر ليتم فتح البرنامج أو رفض بسبب عدم وجودها

شكرا مرة اخرى

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بصراحه طرية حلو و قية و لكن كيف ياستطاعتي معرفة رقم الفلاش الخاص بي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الرجاء من الاخوان وضع نموذج كمثال و شرحة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا لاأخينا omani فعلا مثال مفيد في موضوع الحماية بالفلاش ويمكن تطويره والإسنفادة منه

أخي Musallam alazmi أرفقت لك تطبيق المثال

تحياتي

testFlash.zip

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم و رحمة الله و بركاته

مشكور كتير ياسيد omani على هذا الكود الرائع

الذي استطعت من خلاله حماية البرامج التي اقوم بتصميمها

و لكن عندي سؤال اخر يطرح نفسه بقوة

وهو ممكن ان يكون هناك أكثر من فلاشة موصولة في الكمبيوتر

فما يفعل الكود الذي قدمته في هذه الحالة و اي فلاشة منهم يعتمد

علما أنك ستقدم أي برنامج قمت بتصميمه مع فلاشة على أنها دارة حماية فاذا ترك فلاشة (دارة الحماية متصلة ) و قام بوصل فلاشة اخرى لهدف اخر فأي فلاشة سوف يعتمد البرنامج للمقارنة مع الرقم الموجود ضمن الكود

وشكر مرة أخرى

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

على ما أعتقد بأن رقم الفلاشة هو ما سيفرق بين فلاشة وأخرى ...

والله أعلم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا لاأخينا omani فعلا مثال مفيد في موضوع الحماية بالفلاش ويمكن تطويره والإسنفادة منه

أخي Musallam alazmi أرفقت لك تطبيق المثال

تحياتي

صح هذي المطلوب و مشكور و على المجهود الطيب

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

مشكورين والله معلومه بمليون ريال

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ولماذا "فلاشه" استخدم "دونجل" أفضل.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

تفضل هذا مثال لمعرفة عدد الفلاشات الموصولة بالجهاز وايضا لتخزين سيريلات هذه الفلاشات

تحياتي

flash Disk Serial.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

تفضل هذا مثال لمعرفة عدد الفلاشات الموصولة بالجهاز وايضا لتخزين سيريلات هذه الفلاشات

تحياتي

مشكور اخي omani

و بصراحه برنامج قوي و حلو لحماية البيانات بالفلاش فقط .

و لكن عندي طلب هل توجد طريقة بقرائة رقم الهاردسك الكمبيوتر ؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

مشكور اخي omani

و بصراحه برنامج قوي و حلو لحماية البيانات بالفلاش فقط .

و لكن عندي طلب هل توجد طريقة بقرائة رقم الهاردسك الكمبيوتر ؟

___

ماؤأيك لو تتطلع على هذ المعلومات ...

و لدي الكثير و هي بالطريق و لكن هذا رد سريع حاليا ...

أنقر هنا

و مارأيك بهذا أيضا .... و لكن بحذر ...

strComputer = "."

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")

Set colItems = objWMIService.ExecQuery( _

"SELECT * FROM Win32_DiskDrive",,48)

For Each objItem in colItems

Wscript.Echo "-----------------------------------"

Wscript.Echo "Win32_DiskDrive instance"

Wscript.Echo "-----------------------------------"

Wscript.Echo "Caption: " & objItem.Caption

Wscript.Echo "InterfaceType: " & objItem.InterfaceType

Wscript.Echo "SerialNumber: " & objItem.SerialNumber

Next

تم تعديل بواسطه mirage4pc
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

هذه الاداة المستخدمة لديكم رائعة جدااا ...

Hardware Reporting Script:- VBScript and PowerShell versions

Posted on Saturday 21 July 2007 by richardsiddaway

A recent post on the Windows IT Pro forum involved a hardware reporting script. The version given was in VBScript.

strComputer = "."

Set objWMIService = GetObject("winmgmts:\" & strComputer & "rootCIMV2")

Set colItems = objWMIService.ExecQuery( _

"SELECT * FROM Win32_BIOS",,48)

For Each objItem in colItems

Wscript.Echo "Caption: " & objItem.Caption

Next

Set objWMIService = GetObject("winmgmts:\" & strComputer & "rootCIMV2")

Set colItems = objWMIService.ExecQuery( _

"SELECT * FROM Win32_ComputerSystem",,48)

For Each objItem in colItems

Wscript.Echo "Manufacturer: " & objItem.Manufacturer

Wscript.Echo "Model: " & objItem.Model

Wscript.Echo "Name: " & objItem.Name

Wscript.Echo "NumberOfProcessors: " & objItem.NumberOfProcessors

Wscript.Echo "SystemType: " & objItem.SystemType

Wscript.Echo "UserName: " & objItem.UserName

Next

Set objWMIService = GetObject("winmgmts:\" & strComputer & "rootCIMV2")

Set colItems = objWMIService.ExecQuery( _

"SELECT * FROM Win32_DiskDrive",,48)

For Each objItem in colItems

Wscript.Echo "Model: " & objItem.Model

Wscript.Echo "Name: " & objItem.Name

Wscript.Echo "Partitions: " & objItem.Partitions

Wscript.Echo "Size: " & objItem.Size

Next

Set objWMIService = GetObject("winmgmts:\" & strComputer & "rootCIMV2")

Set colItems = objWMIService.ExecQuery( _

"SELECT * FROM Win32_DisplayControllerConfiguration",,48)

For Each objItem in colItems

Wscript.Echo "Installed Graphics Card"

Wscript.Echo "Name: " & objItem.Name

Next

Set objWMIService = GetObject("winmgmts:\" & strComputer & "rootCIMV2")

Set colItems = objWMIService.ExecQuery( _

"SELECT * FROM Win32_CDROMDrive",,48)

For Each objItem in colItems

Wscript.Echo "Caption: " & objItem.Caption

Next

Looking at this I thought that the PowerShell version should be a good bit simpler – and it is

Get-WmiObject -Class Win32_Bios | Select Caption | Format-List

Get-WmiObject -Class Win32_ComputerSystem | Select Manufacturer, Model, Name, NumberOfProcessors, SystemType, UserName | Format-List

Get-WmiObject -Class Win32_DiskDrive | Select Model, Name, Partitions, Size | Format-List

Get-WmiObject -Class Win32_DisplayControllerConfiguration | Select "Installed Graphics Card", Name | Format-List

Get-WmiObject -Class Win32_CDROMDrive | Select Caption | Format-List

This really does show much can be accomplished with a few lines of PowerShell

الموضوع يتطلب تدخل بعض الاعضاء المميزين ..

و نحن بإنتظارهم

ما رأيكم

تم تعديل بواسطه mirage4pc
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

هذه صفحة ويب --- بس بتخيل الواحد ارجو أن تفيد بالموضوع ايضا ...

و الله من اجل ان تعم الفائدة ليس إلا....

هذه بعض الادوات المستخدمة مع هذه الاداة .. من الهارد و البورد و النظام حتى عدد السلندرات للهارد تصور عاد ...

BScript

$strComputer = "."

$colItems = get-wmiobject -class "Win32_DiskDrive" -namespace "root\CIMV2" `

-computername $strComputer

foreach ($objItem in $colItems) {

write-host "Availability: " $objItem.Availability

write-host "Bytes Per Sector: " $objItem.BytesPerSector

write-host "Capabilities: " $objItem.Capabilities

write-host "Capability Descriptions: " $objItem.CapabilityDescriptions

write-host "Caption: " $objItem.Caption

write-host "Compression Method: " $objItem.CompressionMethod

write-host "Configuration Manager Error Code: " $objItem.ConfigManagerErrorCode

write-host "Configuration Manager User Configuration: " $objItem.ConfigManagerUserConfig

write-host "Creation Class Name: " $objItem.CreationClassName

write-host "Default Block Size: " $objItem.DefaultBlockSize

write-host "Description: " $objItem.Description

write-host "Device ID: " $objItem.DeviceID

write-host "Error Cleared: " $objItem.ErrorCleared

write-host "Error Description: " $objItem.ErrorDescription

write-host "Error Methodology: " $objItem.ErrorMethodology

write-host "Index: " $objItem.Index

write-host "Installation Date: " $objItem.InstallDate

write-host "Interface Type: " $objItem.InterfaceType

write-host "Last Error Code: " $objItem.LastErrorCode

write-host "Manufacturer: " $objItem.Manufacturer

write-host "Maximum Block Size: " $objItem.MaxBlockSize

write-host "Maximum Media Size: " $objItem.MaxMediaSize

write-host "Media Loaded: " $objItem.MediaLoaded

write-host "Media Type: " $objItem.MediaType

write-host "Minimum Block Size: " $objItem.MinBlockSize

write-host "Model: " $objItem.Model

write-host "Name: " $objItem.Name

write-host "Needs Cleaning: " $objItem.NeedsCleaning

write-host "Number Of Media Supported: " $objItem.NumberOfMediaSupported

write-host "Partitions: " $objItem.Partitions

write-host "PNP Device ID: " $objItem.PNPDeviceID

write-host "Power Management Capabilities: " $objItem.PowerManagementCapabilities

write-host "Power Management Supported: " $objItem.PowerManagementSupported

write-host "SCSI Bus: " $objItem.SCSIBus

write-host "SCSI Logical Unit: " $objItem.SCSILogicalUnit

write-host "SCSI Port: " $objItem.SCSIPort

write-host "SCSI Target ID: " $objItem.SCSITargetId

write-host "Sectors Per Track: " $objItem.SectorsPerTrack

write-host "Signature: " $objItem.Signature

write-host "Size: " $objItem.Size

write-host "Status: " $objItem.Status

write-host "Status Information: " $objItem.StatusInfo

write-host "System Creation Class Name: " $objItem.SystemCreationClassName

write-host "System Name: " $objItem.SystemName

write-host "Total Cylinders: " $objItem.TotalCylinders

write-host "Total Heads: " $objItem.TotalHeads

write-host "Total Sectors: " $objItem.TotalSectors

write-host "Total Tracks: " $objItem.TotalTracks

write-host "Tracks Per Cylinder: " $objItem.TracksPerCylinder

write-host

}

تم تعديل بواسطه mirage4pc
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

سؤال :

هل الفلاشة والهاردسك الخارجي يو أس بي نفس بعض ؟

بمعنى ان المثال الذي وضعه أخي عماني يقرأ الهاردسك الخارجي على أنه فلاشة ؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

تفضل هذا مثال لمعرفة عدد الفلاشات الموصولة بالجهاز وايضا لتخزين سيريلات هذه الفلاشات

تحياتي

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته ,

أتمنى تكرمكم بالتوضح أكثر , هل المقصود أن يتم نسخ البرنامج بالفلاش دسك؟ ويجب وضع ذلك الفلاش الذي تم نسخ البرنامج منه في الكمبيوتر حتى يعمل البرنامج؟

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

يمكنك استخدام هذا الكود للحصول على رقم الهاردسك .. ولن يتأثر حتى بعد الفورمات.. سوف يعطيك رقم ID وليس Volum Number كما هو الحال في دالة API المسماة GetVolumeSerialNumber

تفضل الكود



Dim strComputer As String
Dim serNum As String

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colitems = objWMIService.ExecQuery("SELECT * FROM Win32_DiskDrive", , 48)

For Each objitem In colitems
If objitem.interfacetype = "USB" Then serNum = objitem.pnpdeviceid
Next

serNum = Mid(serNum, InStrRev(serNum, "\") + 1)
If serNum = "" Then
MsgBox "لا يوجد فلاش موصول بجهاز الكمبيوتر "
Exit Sub
End If
serNum = Left(serNum, InStr(serNum, "&") - 1)

MsgBox "رقم الفلاشه هو " & serNum

تحياتي

هل يمكن استغلال هذا الكود في الحفاظ على رقم القرص الصلب حتى بعد الفورمات ؟

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم و رحمة الله و بركاته

الموضوع شكله قديم شوية بس دي أول مرة اشوفه بصراحة

و راودني سؤال و حبيت أطرحة للاستفادة الجماعية

هل الكود الموضح أدناه لا يصلح عند عمل فورمات للهارد ديسك :

Set fs = CreateObject("Scripting.FileSystemObject")
Set h = fs.GetDrive(fs.GetDriveName(fs.GetAbsolutePathName("C:")))

Forms!frmReg!HardiskSerialNo.Value = h.SerialNumber
If (Forms!frmReg!HardiskSerialNo.Value - 3067660#) * 2012 = Forms!frmReg!txtSerialNo.Value Then
DoCmd.Close
DoCmd.OpenForm "Intro"

Else
MsgBox " أدخل رقم التسجيل ", vbOKOnly + vbInformation, "تنبيــــــه"
End If

و اذا لم يكن يصلح فهل من الممكن تعديله ؟؟؟

في انتظار التوضيح

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

تفضل هذا مثال لمعرفة عدد الفلاشات الموصولة بالجهاز وايضا لتخزين سيريلات هذه الفلاشات

تحياتي

مثال رائع اخي جزاك الله الف خير وتسلم ايدك ننتظر منك المزيد خصوصا في موضوع الحماية

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

مشكورين الأخوة جميعا

وجاري التجربة والحصول على النتائج

أشكركم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ماذا عن القرص الصلب هل يمكن أن نجعله بكود ما كذلك ثابث لا يتغير حتى بعد الفورمات أم ان الأمر ينحصر حاليا على الفلاشة فقط ؟

كما هو معلوم لا الفلاشة ولا القرص الصلب كلاهما وحدتا تخزين أتمنى أن يكون هناك حل بخصوص القرص الصلب كما هو الحال حاليا للفلاشة

تحياتي ..

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .