[ 用户登陆 ] [ 免费注册 

公共分类
我的资料
网上资源
企业信息
工具软件
网址收藏
学习资料
股票信息
博客日记

其他分类

找回忘了的密码的原理
Admin . 2007/3/20 22:03:53
在Access数据库中,为了安全起见,可以为所建的数据库设置密码。但是,密码忘了怎么办?别急,这里介绍一种找回密码的方法。
  用Access所建的数据库,在库文件的地址00000042处开始的13个字节是Access库的密码位。如果一个未加密的库,这13个字节原始数据依次为:86 FB EC 37 5D 44 9C FA C6 5E 28 E6 13。事实上,当你设置了密码后,Access就将你的密码(请注意你所输入的密码是本文字符)的ACSII码与以上的13个字节数据进行异或操作,因此,从库文件的地址00000042开始的13个字节就变成了密钥了。例如,如果你设置的密码为abc,经过异或操作后,则从00000042处开始的13个字节的数据变成了E7 99 8F 37 5D 44 9C FA C6 5E 28 E6 13。一个数据经过一次异或操作后,再一次经过同样的异或操作就可还原了。因此,对已经设置了密码的Access库,只要将13个密钥数据与原始的13个数据进行一次异或操作就可得到密码了。
  以下是一个C语言的破解程序:
/*假设加密后的Access库为myacc.mdb,并存放在C盘的根目录下*/
#include "stdio.h"
main()
{
    FILE *fp;
    char mm0$[$13$]$={0x86,0xfb,0xec,0x37,0x5d,0x44,0x9c,0xfa,0xc6,0x5e,0x28,0xe6,0x13};
    /*这是13个原始数据*/
    char mm1$[$13$]$,mm2$[$13$]$;
    /*mm1用来存放加密后的13个密钥;mm2用来存放密码*/
    int i;
    fp=fopen("c:\\myacc.mdb","rb");
    if(fp==NULL){
        printf("\n不能打开该库!");
        exit(0);
    }
    rewind(fp);
    fseek(fp,0x42L,0);
    fread(mm1,13,1,fp); /*读取密钥*/
    for(i=0;i<13;i++){
        mm2$[$i$]$=mm0$[$i$]$^mm1$[$i$]$; /*原始数据与密钥异或(XOR)*/
        if (mm2$[$i$]$==mm0$[$i$]$) break;
    }
    fclose(fp);
    if(i==0)
        printf("未设密码!");
    else
    {
        printf("\n密码是:\n");
        for(i=0;i<13;i++)
            printf("%c,mm2$[$i$]$");
    }
}

  顺便提一句,Access库设置密码时,虽然允许输入最多14个密码字符,但只有前13个有效。


经验证:
地址00000042H
Access 2003 密码XOR表: 7D EC A6 9C 3D 28 E8 8A AF 7B 0E  DF 8C 13 34 B1 CF 79 69 7C (20位)

 网址: http://www.access-cn.com/Article/Class5/Class27/200312/129.html 


最近后的内容
云南十八怪
篮球尺寸
一键Ghost 070315 修正版
WinRAR v3.70 Beta 5 官方简体中文版
天伦律师事务所
微软公司高调宣布加入AJAX联盟
愚人节-愚人节的来历-愚人节风俗
微软正式宣布不再有 VFP 10.0
Access全教程
限制数据库的试用天数
最近前的内容
Access安全性之QA详解
常见6个靠谱减肥法大PK
不当编写SQL语句导致系统不安全
如何解除VBAProject 的口令保护
Access 2000数据库的密码忘了怎么办
建立Access数据库的安全门
处理加了密码的MDB数据库文件
中国安全信息网
MESSAGEBOX 函数
八大杀手 追袭白领健康
最受欢迎
FoxPro梅子数据库编程技术论坛
左氧氟沙星
佛山公共汽车(巴士)线路
佛山社保公共查询系统
51地图:下载桌面地图2007
DOS下的NTFS启动盘 NTFSDOSPro5
国际时间表与北京时间对照表
windows 2003 64位版本语言包微软官方下载(包括简体中文)
江西高速公路规划图
建设银行佛山市分行各营业点名称及地址
佛山市车辆违章查询和处理方法
中国电话区号
Bird
索爱最新管理软件PCSuite1.10.71
成龙电影全集
做馒头的方法
Vfp Grid ManyHeader 2.0
trading net
讯雷在线
如何给宝宝取名----男孩起名方法
 ©2005 - 2008 粤ICP备12037054号-1 用户登陆  |  互联说明  |  联系我们  |  网站地图