破解Access数据库密码
时间:2005-04-05 10:35 来源:未知 作者:未知 阅读:次
我们在使用Access数据库时,有时忘记了密码,怎么办?网上的解密器不少,但我们要去找这样的解密器也很费时,如果你对程序的编写有一点基础,那么,让我们动手做一个专用解密器吧。
原理:首先,我们要了解Access数据库的加密方法。Access数据库的有效密码为13位,在不加密时,数据库的第67至79位为一固定的字符串,每位的ASCII码值分别为86,FB?EC?37,5D,44,9C,FA,C6,5E,28,E6,13。加密时,分别用密码的每一位与67至79位的字符的ASCII码值进行异或运算,得到的一个新字符串,将它写回67至79位。
知道了加密方法,解密就比较容易了。将67至79位的字符的ASCII码值分别与“86,FB,EC,37,5D,44,9C,FA,C6,5E,28,E6,13”进行异或运算,即可得到密码。
下面我们用VB编个小程序,来实现Access数据库的解密。请在窗体上放置一个通用对话框控件Commondialog1,其Firlter属性设为“Access数据库文件?.mdb”;文本框控件Text1,命令控件Command1,其Caption属性设为“取得密码”。代码如下:
Option Explicit
Private Sub Command1_Click??
Dim password As String
Dim temp As Byte
Dim source?12? As Byte
Dim i As Integer
source?0? = &H86
source?1? = &HFB
source?2? = &HEC
source?3? = &H37
source?4? = &H5D
source?5? = &H44
source?6? = &H9C
source?7? = &HFA
source?8? = &HC6
source?9? = &H5E
source?10? = &H28
source?11? = &HE6
source?12? = &H13
CommonDialog1.ShowOpen
If CommonDialog1.FileName = ″″ Then Exit Sub
Open CommonDialog1.FileName For Binary As #1
For i = 0 To 12
Get #1? 67 + i? temp
If temp = source?i? Then Exit For
password = password & Chr??temp Xor source?i???
Next
Close #1
If Len?password? = 0 Then
Text1.Text = ″该数据库没有加密!″
Else
Text1.Text = ″该数据库的密码为:″ + password
End If
End Sub
原理:首先,我们要了解Access数据库的加密方法。Access数据库的有效密码为13位,在不加密时,数据库的第67至79位为一固定的字符串,每位的ASCII码值分别为86,FB?EC?37,5D,44,9C,FA,C6,5E,28,E6,13。加密时,分别用密码的每一位与67至79位的字符的ASCII码值进行异或运算,得到的一个新字符串,将它写回67至79位。
知道了加密方法,解密就比较容易了。将67至79位的字符的ASCII码值分别与“86,FB,EC,37,5D,44,9C,FA,C6,5E,28,E6,13”进行异或运算,即可得到密码。
下面我们用VB编个小程序,来实现Access数据库的解密。请在窗体上放置一个通用对话框控件Commondialog1,其Firlter属性设为“Access数据库文件?.mdb”;文本框控件Text1,命令控件Command1,其Caption属性设为“取得密码”。代码如下:
Option Explicit
Private Sub Command1_Click??
Dim password As String
Dim temp As Byte
Dim source?12? As Byte
Dim i As Integer
source?0? = &H86
source?1? = &HFB
source?2? = &HEC
source?3? = &H37
source?4? = &H5D
source?5? = &H44
source?6? = &H9C
source?7? = &HFA
source?8? = &HC6
source?9? = &H5E
source?10? = &H28
source?11? = &HE6
source?12? = &H13
CommonDialog1.ShowOpen
If CommonDialog1.FileName = ″″ Then Exit Sub
Open CommonDialog1.FileName For Binary As #1
For i = 0 To 12
Get #1? 67 + i? temp
If temp = source?i? Then Exit For
password = password & Chr??temp Xor source?i???
Next
Close #1
If Len?password? = 0 Then
Text1.Text = ″该数据库没有加密!″
Else
Text1.Text = ″该数据库的密码为:″ + password
End If
End Sub
(责任编辑:admin)
顶一下
(0)
0%
踩一下
(0)
0%
相关内容
- ·两个未公开的ACCESS方法的使用技巧
- ·如何拆分复制的Access 97数据库
- ·两个未公开的ACCESS方法的使用技巧
- ·用Access 2000有效地组织班级管理
- ·数据在Access与Office组件间自由流动
- ·Access"智库"培训--高效设计 敏捷开
- ·Access查询的基本知识(二)(Office免费
- ·Access设置宏的安全等级
- ·Access查询的基本知识(Office免费公开
- ·四种用代码打开外部Access(MDB)的方法
- ·access操作或事件已被禁用模式阻止的解
- ·简述vba字符串,函数,表达式等基础术
- ·Access VBA 开发公开课讲座
- ·Access设置信任位置
- ·Access应用程序应注意的几个问题
- ·简析能判断Access版本的窗体
最新内容
推荐内容