文件的字节读取有关问题

文件的字节读取问题请问各位朋友,如何通过VB6读取ACCESS库文件的地址为00000042后的若干个字节出来?想做一

文件的字节读取问题
请问各位朋友,如何通过VB6读取ACCESS库文件的地址为00000042后的若干个字节出来?想做一个用VB破解ACCESS密码的功能,在CSDN上看到有用C写的,想知道用VB怎么实现。
分不够可以再加。谢谢!


[解决办法]
Option Explicit

Sub GetMs97(Filename As String)
Dim data(0 To 19) As Byte, Pwd As String
Open Filename For Binary As #1
Get #1, 67, data
Close #1

Dim MaxSize, I As Integer, TempPwd
Dim EncDec As String, nKey
EncDec = "86 FB EC 37 5D 44 9C FA C6 5E 28 E6 13 B6 8A 60 54 94 7B 36 "
nKey = Split(EncDec, " ")
Dim spos As Integer

For I = 0 To 19
TempPwd = TempPwd & Chr(data(I) Xor ( "&H " & nKey(spos)))
spos = spos + 1
Next I

Dim inLen As Integer
inLen = InStr(1, TempPwd, Chr(0))
lstPass.AddItem "Nama File: " & Filename
lstPass.AddItem "Ukuran : " & FileLen(Filename) & " bytes "
lstPass.AddItem "Panjang password: " & IIf(inLen = 0, 20, inLen - 1)
lstPass.AddItem "--------------------- "
lstPass.AddItem TempPwd
End Sub
' EOF For access 97 password

'access 2000/xp
Sub GetMs2000XP(Filename As String)

Dim data(39) As Byte, cek As Byte
Open Filename For Binary As #1
Get #1, 67, data
Get #1, 151, cek
Close #1
If cek = 0 Then GetMs97 Filename: Exit Sub
Dim EncDec As String
Dim I As Integer
Dim H As Integer, nKey
Dim nHex As String
Dim Pwd As String
EncDec = "00 EC DB 9C 40 28 95 8A D2 7B 73 DF F1 13 49 B1 B2 79 14 7C "
nKey = Split(EncDec, " ")

'method XOR
Dim inLen As Integer
For H = 0 To UBound(nKey)
If H Mod 2 <> 0 Then
If (data(H * 2) Xor ( "&H " & nKey(H))) = 0 Then
inLen = H
Exit For
End If
End If
Next H

lstPass.AddItem "Nama File: " & Filename
lstPass.AddItem "Ukuran : " & FileLen(Filename) & " bytes "
lstPass.AddItem "Panjang password: " & IIf(inLen = 0, 20, inLen)
lstPass.AddItem "--------------------- "

For I = 0 To 255
For H = 0 To UBound(nKey)
If H Mod 2 = 0 Then
'membandingkan nilai
nHex = Hex((( "&H " & nKey(H)) Xor I))
Else
nHex = nKey(H)
End If
Pwd = Pwd & Chr((data(H * 2) Xor ( "&H " & nHex)))
Next H
If InStr(1, Pwd, String(20 - inLen, Chr(0))) Then
If InStr(1, Pwd, String(20, Chr(0))) Then
lstPass.List(2) = "nggak ada passwordnya "
Else
lstPass.AddItem Pwd
End If
ElseIf InStr(1, Pwd, Chr(0)) = 0 Then
lstPass.AddItem Pwd
End If
Pwd = " "
Next I
End Sub

Private Sub cmdExec_Click()
With CD
.CancelError = True
On Error GoTo X
.Filter = "Ms. Access 97/2000/XP|*.mdb "
.ShowOpen
lstPass.Clear
GetMs2000XP .Filename
Exit Sub
X:
End With


End Sub


Private Sub Form_Load()
lstPass.AddItem "Jebol Password Ms.Access 97/2000/XP "
lstPass.AddItem "Copyright 2004 by CyberBoy - BEGO "
lstPass.AddItem "Update terakhir, April 2004 "
lstPass.AddItem " "
lstPass.AddItem "* Open Source * "
lstPass.AddItem " "
lstPass.AddItem "Email: microsoft@hotmail.com "
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Me.WindowState = vbMinimized
End
End Sub

Private Sub Label2_Click()
On Error Resume Next
Shell "Email: microsoft@hotmail.com ", 1
End Sub

[解决办法]
据说,access密码是根据库的创建时间来设置的加密的。可以利用这点来破。。