ACCESS數據庫找回忘了的密碼的原理
在Access數據庫中,為了安全起見,可以為所建的數據庫設置密碼。但是,密碼忘了怎么辦?別急,這里介紹一種找回密碼的方法。
用Access所建的數據庫,在庫文件的地址00000042處開始的13個字節是Access庫的密碼位。如果一個未加密的庫,這13個字節原始數據依次為:86 FB 37 5D 44 9C FA C6 28 E6 13。事實上,當你設置了密碼后,Access就將你的密碼(請注意你所輸入的密碼是本文字符)的ACSII碼與以上的13個字節數據進行異或操作,因此,從庫文件的地址00000042開始的13個字節就變成了密鑰了。例如,如果你設置的密碼為abc,經過異或操作后,則從00000042處開始的13個字節的數據變成了E7 99 8F 37 5D 44 9C FA C6 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 mml[13],mm2[13];
/*mm1用來存放加密后的13個密鑰;mm2用來存放密碼*/
int i,k;
fp=fopen(″c:\myacc.mdb″,″rb″);
if(fp=NULL){
printf(″ 不能打開該庫!″);
exit(0);}
rewind(fp);fseek(fp,0x42L,0);
fread(mm1,13,1,fp);/*讀取密鑰*/
for(i=0;i<13;i++){
mm2[i]=mm0[i]^mm[i];*/原始數據與密鑰異或*/
else
break;}
k=1;fclose(fp);
if(k=0)
printf(″未設密碼!″);
else{printf(″ 密碼是: ″);
for(i=0;ibr> printf(″%c,mm2[i]″);}}
順便提一句,Access庫設置密碼時,雖然允許輸入最多14個密碼字符,但只有前13個有效。
主站蜘蛛池模板:
毛片特黄|
欧美高清视频在线
|
美女视频黄.免费网址
|
中午字幕在线观看
|
久久精品国产精品亚洲人人
|
欧美在线观看成人高清视频
|
日韩欧美特级毛片
|
亚洲黄色软件
|
三级精品在线观看
|
欧美在线视频二区
|
欧美最猛性xxxxx亚洲精品
|
久久成人黄色
|
成人精品一区二区久久
|
亚欧毛片|
国产欧美另类久久久品
|
亚洲国产成人久久综合野外
|
三级黄网站|
国产精品高清在线观看地址
|
亚洲精品高清国产麻豆专区
|
全黄性高视频
|
成人福利网站含羞草
|
欧美区一区
|
加勒比综合网
|
成人免费观看永久24小时
|
久久久国产免费影院
|
在线 | 一区二区三区四区
|
成人免费大片黄在线观看com
|
91porny九色国产首页在线
|
日本一区午夜爱爱
|
6080伦理久久精品亚洲
|
久久久久综合给合狠狠狠
|
亚洲字幕|
九九精品在线视频
|
永久免费毛片在线播放
|
综合91|
碰碰碰精品视频在线观看
|
新版天堂中文资源官网
|
黄色在线播放
|
亚洲欧美日韩中文字幕在线
|
国产精品线在线精品国语
|
久久精品女人毛片国产
|