هذا السؤال يسئله الكثيرين في البداية دعوني اخبركم ان لكل شفرة طريقة لعكسها واكثر الشفرات تكون اكثر من سهلة ولكن اللغز في كيفية بنائها يعني لايوجد طريقة موحدة للتشفير كما لايوجد شيء اسمه حماية مطلقة راح يسألني يعني على بياناتي السلام ؟ طبعا انت لما توزع برنامجك لا تتخيل ان الجميع يستطيع فك الحماية بل القلة القليلة في حال كانت حمايتك جيدة وكلما زادت قوة قلة نسبة من يستطيع فكها دعوني اخبركم على طريقة قديمة لي في تشفير قواعد البيانات واعتقد انها ما زالت جيدة حيث يستطيع كل شخص تغير المفتاح ولكن اعود واخبركم انه لاتوجد حماية مطلقة يعني الا ما يجي واحد ويفك حتى طريقتي
الان الطريقة كالتالي
البعض يعتمد على كلمات السر المتوفرة مع قواعد بيانات Access طبعا هي جيدة ولكن هناك الكثير من البرامج التي تفك هذه الكلمات ولكن لا تتوفر للجميع يعني خلينا نعتبر هذا مستوى من الحماية
البعض لايعرف انه اذا غير امتداد اسم ملف قاعدة البيانات فانها تعمل فقط تحتاج الى تعريف الاسم في الكود و هذا يعتبر مستوى اخر من الحماية ويستخدمه الكثيرون وذلك بتغير امتداد قاعدة البيانات من file.mdb الى file.dat
الان الطريقة التي استخدمها تضم الطريقتين السابقتين بالاضافة الى مستوى حماية ثالث من نوع تخريبي للملف بحيث يتم تخريب ملف قاعدة البيانات بالاساس وياتم اصلاحه ثم تشغيله عند كل عملية تشغيل للبرنامج ومن ثم تتم عملية عكسية الا وهي عملية تخريب للملف عند عدم الاستخدام
الان علشان اشرح لكم الطريقة بشكل اكبر توجد قاعدة بيانات مرفقة مع هذه الرسالة تحتوي على جدول واحد وبها بعض البيانات وهي محمية بكلمة سر والامتداد تم تغيره بالاضافة الى ان الملف تم تخريبه
قم بتحميل الملف عل الوصلة التالية وفك ضغطه
http://www.arabteam2000.com/filemanager/fi...es/badwi/db.zip
وقم بفك مستوى الحماية الاول وهو تغير امتداد قاعدة البيانات الى (.mdb) وحاول تشغيلها ولن تفلح ولن يأتي لك مستوى الحماية الخاصة بكلمة السر لان الملف اصلا معطوب ولن يستطيع اكسس التعرف عليه ولن تصل الى مستوى الحماية الخاص بكلمة السر
قم بتحميل الملف التالي
http://www.arabteam2000.com/filemanager/fi...wi/DataEncr.zip
وقم بفك ضغطه سوف تجد به مشروع فيجوال بيسك وظيفته استخدام الدالة (StrReverse) لعكس عدد 200 حرف وبهذا سوف يتغير راس الملف بالكامل ولن يتعرف عليه اكسس ابدا ولن يعرف بانه ملف اكسس
الكود سهل ويمكنك تغير اي رقم من الاحرف ويفضل ان تكون اكثر من 70 ولا تزيد طبعا عن حجم الملف
شغل البرنامج وقم بضغط الزر وسوف يقوم بتخريب الملف وبالعملية العكسية سوف يقوم باصلاحها بنفس الكود لان الكود يعكس نفسه
الان لناتي الى الكود وشرحه
'مجرد تعريف للمتغيرات Dim ContentFile As String Dim FileNumber As Long Dim EnrypChar As String ' فتح مربع حوار لاختيار الملف With CommonDialog1 .Filter = "All Files(*.*)|*.*|" .Flags = cdlOFNHideReadOnly Or cdlOFNFileMustExist Or cdlOFNPathMustExist .DialogTitle = "Select File" .FileName = "" .ShowOpen If .FileName = "" Then Exit Sub Caption = .FileName End With FileNumber = FreeFile 'التهيئة لفتح الملف ContentFile = Space$(FileLen(Trim$(Caption))) 'فتح الملف Open Trim$(Caption) For Binary As FileNumber Get #FileNumber, 1, ContentFile Close #FileNumber 'هنا يتم فتح الملف 'مفتاح التشفير هنا 200 حرف EnrypChar = StrReverse(Mid(ContentFile, 1, 200)) 'يتم تحديث بيانات الملف بالبيانات الجديدة ContentFile = EnrypChar & Mid(ContentFile, 201, Len(ContentFile)) 'حفظ بيانات الملف بعد التغير Open Trim$(Caption) For Binary As FileNumber Put #FileNumber, 1, ContentFile Close #FileNumber







