ACCESS數(shù)據(jù)庫找回忘了的密碼的原理
在Access數(shù)據(jù)庫中,為了安全起見,可以為所建的數(shù)據(jù)庫設置密碼。但是,密碼忘了怎么辦?別急,這里介紹一種找回密碼的方法。
用Access所建的數(shù)據(jù)庫,在庫文件的地址00000042處開始的13個字節(jié)是Access庫的密碼位。如果一個未加密的庫,這13個字節(jié)原始數(shù)據(jù)依次為:86 FB 37 5D 44 9C FA C6 28 E6 13。事實上,當你設置了密碼后,Access就將你的密碼(請注意你所輸入的密碼是本文字符)的ACSII碼與以上的13個字節(jié)數(shù)據(jù)進行異或操作,因此,從庫文件的地址00000042開始的13個字節(jié)就變成了密鑰了。例如,如果你設置的密碼為abc,經(jīng)過異或操作后,則從00000042處開始的13個字節(jié)的數(shù)據(jù)變成了E7 99 8F 37 5D 44 9C FA C6 28 E6 13。一個數(shù)據(jù)經(jīng)過一次異或操作后,再一次經(jīng)過同樣的異或操作就可還原了。因此,對已經(jīng)設置了密碼的Access庫,只要將13個密鑰數(shù)據(jù)與原始的13個數(shù)據(jù)進行一次異或操作就可得到密碼了。
以下是一個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個原始數(shù)據(jù)*/
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];*/原始數(shù)據(jù)與密鑰異或*/
else
break;}
k=1;fclose(fp);
if(k=0)
printf(″未設密碼!″);
else{printf(″ 密碼是: ″);
for(i=0;ibr> printf(″%c,mm2[i]″);}}
順便提一句,Access庫設置密碼時,雖然允許輸入最多14個密碼字符,但只有前13個有效。
主站蜘蛛池模板:
亚洲国产综合精品一区在线播放|
麻豆一区二区99久久久久|
无码精品人妻一区二区三区免费看|
亚洲中文字幕久久久一区|
精品aⅴ一区二区三区|
韩国女主播一区二区|
精品一区二区三区波多野结衣|
国产精品主播一区二区|
正在播放国产一区|
蜜桃AV抽搐高潮一区二区|
久久无码人妻一区二区三区午夜
|
国产在线精品观看一区|
自拍日韩亚洲一区在线|
国产短视频精品一区二区三区|
国产内射999视频一区|
国产一区二区三区高清在线观看|
亚洲av成人一区二区三区在线观看|
亚洲一本一道一区二区三区|
97人妻无码一区二区精品免费|
日韩人妻精品一区二区三区视频
|
亚洲一区二区三区无码国产|
一区二区三区福利视频免费观看|
日本一区二区不卡视频|
另类一区二区三区|
日韩精品视频一区二区三区|
一区二区三区国产精品|
久久久久人妻一区精品性色av|
亚洲天堂一区二区三区|
国产精品一区二区毛卡片|
日本一区免费电影|
波多野结衣一区二区三区88|
精品一区二区三区视频在线观看
|
亚洲av成人一区二区三区
|
另类ts人妖一区二区三区|
狠狠做深爱婷婷久久综合一区|
国产伦精品一区二区三区四区
|
欧美一区内射最近更新|
精品一区二区久久久久久久网精|
国产一区二区福利久久|
国产在线观看一区精品|
人妻久久久一区二区三区|