وضعت هذا الموضوع لطلب أكثر الأعضاء ومنهم انا للأدوات والدوال
الخاصة بفيجوال بيسك ويا ليت تشاركونا في كل من عنده أداة جديدة أو دوال جديدة
وسوف أبدأ أن بذلك
طريق كسر كلمات السر للبرامج عن طريق فيجوال بيسك
1-ننشيء دالة بوسيط واحد وهو اسم الملف ونوعه نصيstring بواسطة القيمة
Function AccessPassword(ByVal Filename As String) As String
2-نعرف خمس متغيرات وهي كالتالي
Dim MaxSize, NextChar, MyChar, secretpos, TempPwd
أ.متغير الحجم الأقصى لكلمة السرMaxSize
ب.متغير الحرف التاليNextChar
ج.متغير كلمة السرmyChar
د.متغير عدد أحرف كلمة السرsecretpos
هـ.متغير كلمة السر المكشوفة(المكسورة)أي المتغير الذي يجلب كلمة السرTempPwd
2-نعرف متغير مصفوفة مكون من أربعة عنصر أي ما بين القوسين 13 عنصر وهو متغير نوع كلمة السر
(Dim secret(13
3-نحدد عناصر المصفوفة كالتالي
(secret(1) = (&HFB
(secret(2) = (&HEC
(secret(3) = (&H37
(secret(4) = (&H5D
(secret(5) = (&H44
(secret(6) = (&H9C
(secret(7) = (&HFA
(secret(8) = (&HC6
(secret(9) = (&H5E
(secret(10) = (&H28
(secret(11) = (&HE6
(secret(12) = (&H13
4-نسند القيمة صفر(0)إلى متغير عدد أحرف كلمة السر
secretpos=0
5-نفتح الملف باستخدام الجملة open ونوع غرض الفتح يحدد حسب امتداد الملف الغرض input للملفات النصية مثل أكسس وورد وإكسل والغرضbinary للملفات الثنائية(التنفيذيةexe) ورقم الملف نجعله غير محدد أي freefile#
6- نستخدم الحلقة for ومتغير الحلقة هو متغير الحرف التاليnextchar يبدأ من 67إلى 80 لقراءة كلمة السر المشفرة
For NextChar = 67 To 80
7-نستخدم الطريقةseek لتحديد بداية البحث ونجعل متغير البحث هو متغير الحرف التالي
Seek #FreeFile, NextChar
8-نسند أحرف كلمة السر إلى متغير كلمة السر بواسطة الدالةinput بالرقم 1
(MyChar = Input(1, #FreeFile
9-نقوم بكسر كلمة السر المحددة باستعمال دالتي فك التشفيرChrوasc ونسند متغير مجموع كلمة السر إلى متغير المصفوفة لتحديد نوع كلمة السر ونسندها إلى متغير كلمة السر الغير مشفرة
TempPwd = TempPwd & Chr(Asc(MyChar) Xor secret(secretpos)) 'Decrypt using Xor
10-نسند متغير نوع كلمة السر +1 إلى متغير نوع كلمة السر لتبديل النوع كل مرة
11-نستخدم الكلمة التابعة للحقلة for وهي next
Next NextChar
12-نغلق الملف رقم 1
close #1
13 وأخير-نسند كلمة السر المكشوفة إلى الدالة وبعد ذلك نضع الدالة في أجراء زر الأمر ونسندها هي ومسار الملف إلى أداة مربع النص أو أي أداة لإظهار الكلمة
ملاحظة :يمكن أن نستعمل اداة مربع الحوار العامةCommondialog لتحديد مسار الملف وهذا هو الأفضل حتى لاتخطيء في المسار
وكذلك خاصية فهرس الامتدادfilterindex لتحديد نوع الملف (أي امتداده)
ولمعرفة تفاصيل أكثر عن الدوال المستعمة راجع كتاب فيجوال بيسك للكل الموجود في موقع المبرمج
http://www.al-mubarmij.com/nuke/index.php
مع أنني وضعتها في موضوع آخر لطلبا لبعض الأخوة بذلك
وهذا كود طباعة تقرير أكسس بفيجوال بيسك
-----------------------------------------------------------------
Sub PrintAccessReport(dbname As String, rptname As String, preview As Boolean)
Dim objAccess As Object
On Error GoTo PrintAccessReport_ErrHandler
Set objAccess = CreateObject("Access.Application")
With objAccess
.OpenCurrentDatabase filepath:=dbname
If preview Then 'Preview report on screen.
.Visible = True
.DoCmd.OpenReport reportname:=rptname, view:=Access.acPreview
Else 'Print report to printer.
.DoCmd.OpenReport reportname:=rptname, view:=Access.acNormal
DoEvents 'Allow report to be sent to printer.
else
Msgbox "Logic Error"
End If
End With
Set objAccess = Nothing
Exit Sub
PrintAccessReport_ErrHandler:
MsgBox Error$(), , "Print Access Report"
End Sub
أرجوا المشاركة
;)