اعزائي الكرام في هذا المنتدى المبارك
السلام عليكم ورحمة الله وبركاته
بناء على رغبة الكثير من الاعضاء في معرفة طريقة حماية قاعدة البيانات برقم الهارد دسك فسنبدأ معا خطوه خطوه حتى يتمكن الجميع من فهم آلية طريقة الحماية ولن ابخل على اي شخص بأي معلومة مهما كانت في هذا الموضوع وإن شاء الله ان اصل بكم الى الاحتراف في هذا الموضوع وهذا بجهودكم وتفاعلكم معنا فعلى بركة الله نبدأ
سوف اقوم بتقسيم الموضوع الى ثلاثة اقسام
القسم الاول : كيف تتعرف على رقم الهارد دسك الخاص بك او الذي سوف تضع عليه قاعدة البيانات وتتم الحماية بواسطة الهارد دسك نفسه ومن ثم سوف نتعرف على الفرق بين الارقام العشرية والارقام السداسية العشرية ولن يطول بنا المقام فيها ولكن للمعلومية فقط وسيوضع مثالين لكل منهم لنعرف الفرق بين الارقام واخيرا سأضع الاكواد الخاصه بها .
القسم الثاني : سوف نزيد جرعة المعلومات وسنضيف تعليمات جديده الى الاكود السابقه وكلها عباره عن نماذج مفتوحه للجميع يمكن الاطلاع عليها وسنقوم بالنقاش والشرح لكل تعليمه اضافية للكود السابق
القسم الثالث : حماية جميع الوحدات النمطية برقم سري والغاء تفعيل مفتاح الشفت بواسطة الكود ثم عملية تشفير قاعدة البيانات كلها وزيادة في التعقيد سنجعلها بسيغة MDE فعلى بركة الله نبدأ
القسم الاول :
يمكنك التعرف على رقم الهارد دسك من خلال التالي
1. اذهب الى ابدأ
2. اختر تشغيل
3. اكتب في الحقل العبارة التالية CMD.EXE
4. سيظهر لك موجه الدوس ذو الشاشة السوداء في نهاية العبارة التي تراها اكتب \ CD
يعني اكتب C ثم D ثم السلاش المائل لليسار وهي عبارة معناها تغيير المجلد Change Dirctory
5. اضغط انتر من لوحة المفاتيح
6. سترى محث المشيرة قد اصبح \: C
7. اكتب الان الكلمة التالية VOL وتعني قيمة او رقم الهاردسك وانظر لرقم الهارد دسك الخاص بك
انظر الصورة
هذا الرقم السداسي العشري خاص بجهازي وطبعا يختلف من جهاز الى اخر
9. احفظ رقم الهارد دسك الخاص بك في ورقه فسوف تحتاجه كثيرا هذا الرقم هو رقم الهيكسا ديسمل اي السداسي العشري والذي سوف نقوم بتحويله في قاعدة البيانات فقط بالكود الى رقم عشري
هنا سوف ارفق ثلاثة امثله للمطابقه بين الرقمين ومن اجل التأكد ان الوضع صحيح افتح هذا الرابط بعد ان تحصل على رقم الهارد دسك سواء بالـ Hexadecimal او بالـ decimal
تحويل من عشري الى سداسي عشري الى باينري
الاكواد الخاصة بمعرفة السيريال نمبر
كنت اتمنى في المشاركه السابقة للاخ عبدالله وفتى الوادي وبقية الاعضاء انهم بحثوا في المنتدى ففيه الجواب الشافي لهذا الموضوع والروابط هي
كود الاستاذ مهند عبادي
http://www.arabteam2000-forum.com/index.ph...ndpost&p=214701
كود الاستاذ رضا عقيل وتطوير ابن مسقط
http://www.arabteam2000-forum.com/index.ph...ndpost&p=122787
كود المبرمج 2003
' لمعرفة السيريال نمبر الخاص بالهاردسك
Dim obj_FSO As Object, obj_Drive As Object
Set obj_FSO = CreateObject("Scripting.FileSystemObject")
Set obj_Drive = obj_FSO.GetDrive("c:\")
'MsgBox obj_Drive.SerialNumber
SerialNumber = obj_Drive.SerialNumber
Set obj_FSO = Nothing
Set obj_Drive = Nothing
End Sub
كود زهره لجميع محركات الاقراص فلوبي هارد دسك سيدي روم
'كود زهره رقم 1
'انشئ وحده نمطية جديده وضع فيها هذا الكود
'Insert this code to the module :
Declare Function GetVolumeInformation Lib "kernel32.dll" Alias _
"GetVolumeInformationA" (ByVal lpRootPathName As String, ByVal _
lpVolumeNameBuffer As String, ByVal nVolumeNameSize As Integer, _
lpVolumeSerialNumber As Long, lpMaximumComponentLength As Long, _
lpFileSystemFlags As Long, ByVal lpFileSystemNameBuffer As String, ByVal _
nFileSystemNameSize As Long) As Long
'ضع هذا الكود في الوحدة النمطية للنموذج
'Insert the following code to your form:
Function GetSerialNumber(strDrive As String) As Long
Dim SerialNum As Long
Dim res As Long
Dim Temp1 As String
Dim Temp2 As String
Temp1 = String$(255, Chr$(0))
Temp2 = String$(255, Chr$(0))
res = GetVolumeInformation(strDrive, Temp1, _
Len(Temp1), SerialNum, 0, 0, Temp2, Len(Temp2))
GetSerialNumber = SerialNum
End Function
'انشئ زر أمر في النموذج واعطه اسم
'(Command1)
'وضع هذا الكود في حدث عند النقر
Private Sub Command1_Click()
'Replace 'c:\' with the drive you want to find his serial number
Call MsgBox(GetSerialNumber("c:\"))
End Sub
الكود رقم 2
'كود زهره رقم 2
'قم بإنشاء وحده نمطية جديده وضع فيها هذا الكود
Private Declare Function GetVolumeInformation Lib _
"kernel32.dll" Alias "GetVolumeInformationA" (ByVal _
lpRootPathName As String, ByVal lpVolumeNameBuffer As _
String, ByVal nVolumeNameSize As Integer, _
lpVolumeSerialNumber As Long, lpMaximumComponentLength _
As Long, lpFileSystemFlags As Long, ByVal _
lpFileSystemNameBuffer As String, ByVal _
nFileSystemNameSize As Long) As Long
'ضع هذا الكود في النموذج
Function GetSerialNumber(strDrive As String) As Long
Dim SerialNum As Long
Dim Res As Long
Dim Temp1 As String
Dim Temp2 As String
Temp1 = String$(255, Chr$(0))
Temp2 = String$(255, Chr$(0))
Res = GetVolumeInformation(strDrive, Temp1, _
Len(Temp1), SerialNum, 0, 0, Temp2, Len(Temp2))
GetSerialNumber = SerialNum
End Function
'ضع هذا الكود في حدث عند التحميل للنموذج
Private Sub Form_Load()
MsgBox GetSerialNumber("C:\")
End Sub
انتهاء القسم الاول
اختكم
زهره
ملف مرفق(ملفات)
hardsikN.rar (44.97كيلو )