999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Access2000密碼的破解與防范

2014-07-24 15:55:22張泳
新媒體研究 2014年8期

張泳

摘 要 該文探討了Access2000密碼的加密方式,給出了破解Access2000密碼的一般方法,提出了防止被破解的對策,并對Access2000的安全性作了簡要的評述。

關(guān)鍵詞 Access;加密;解密;數(shù)據(jù)庫安全

中圖分類號:TP3 文獻(xiàn)標(biāo)識碼:A 文章編號:1671-7597(2014)08-0072-02

當(dāng)前,Access 2000成為桌面型的主流數(shù)據(jù)庫系統(tǒng)。很多中小型應(yīng)用程序的數(shù)據(jù)庫都采用Access2000,筆者甚至發(fā)現(xiàn)很多共享軟件的數(shù)據(jù)庫都采用Access2000,這當(dāng)然與Access2000的簡單易用等一系列優(yōu)點分不開。但我想提醒他們,別過分信任Access2000的安全性,Access2000的密碼并不安全。

網(wǎng)上有很多破解Access2000密碼的軟件,我們先來看看他們是如何破解Access2000密碼的,然后再探討如何避免別人破解自己的Access2000數(shù)據(jù)庫的密碼。

1 Access數(shù)據(jù)庫密碼的破解

要破解Access的密碼,必須清楚Access密碼的存放位置和加密方式。為此,我們按下面步驟做一個實驗:新建立一個數(shù)據(jù)庫db1.mdb,復(fù)制db1.mdb為db2.mdb,然后以獨占方式打開db2.mdb,設(shè)置db2.mdb數(shù)據(jù)庫的密碼為“01234567890123456789”(Access2000允許的密碼最長為20位),這樣db2.mdb就包含了db1.mdb所沒有的密碼信息,我們用二進(jìn)制編輯器UltraEdit打開兩個數(shù)據(jù)庫文件,比較不同的地方:

db1.mdb:

……

40H-4FH: BC 4E D0 6F EC 37 0B D0 9C FA 90 CA 28 E6 45 22

50H-5FH: 8A 60 02 00 7B 36 A3 E6 DF B1 21 60 13 43 99 3B

60H-6FH: B1 33 62 F5 79 5B C4 21 7C 2A 6A FA 7C 99 05 13

……

db2.mdb

……

40H-50H: BC 4E E0 6F DD 37 39 D0 AF FA A4 CA 1D E6 73 22

50H-60H: BD 60 3A 00 42 36 93 E6 EE B1 13 60 20 43 AD 3B

60H-70H: 84 33 54 F5 4E 5B FC 21 45 2A 6A FA 7C 99 05 13

……

可以看到,兩個數(shù)據(jù)庫文件從地址42H開始到69H,每隔一個字節(jié)出現(xiàn)不同,十分有規(guī)律,而且剛好是20個不同,我們可以猜想這20個地址存儲了密碼信息。因為Windows中很多加密算法都采用與或運算方式,下面我們試試采用與或運算破解Access2000的密碼。我們分別拿出兩個文件對應(yīng)地址的數(shù)據(jù),如db1.mdb文件中42H對應(yīng)的數(shù)據(jù)為D0,而db2.mdb文件42H對應(yīng)的數(shù)據(jù)為E0,將D0和E0執(zhí)行與或運算得到十六進(jìn)制數(shù)30(十進(jìn)制為48),剛好為密碼的第一個字符“0”的ASCII碼。進(jìn)一步實驗可知:只要將兩個文件中的42H到69H地址中對應(yīng)的數(shù)據(jù)進(jìn)行與或運算,就可以得到密碼“01234567890123456789”了。

以上破解過程,可以使用如下delphi代碼完成。

procedure TMainFrm.MethodActExecute(Sender: TObject);

var

C1,C2 : byte; i : integer;

Str : string; //str用來存儲破解所得的密碼

F1,F(xiàn)2 : file of byte; // F1為待破解的文件,F(xiàn)2為參照文件

// F1與F2文件的創(chuàng)建日期相同

begin

assignfile(F1,edtF1path.text); // edtF1path.text為F1的路徑

reset(F1);

assignfile(F2,edtF2path.text); // edtF1path.text為F2的路徑

reset(F2);

seek(F1,$42); seek(F2,$42); // 從地址42H開始

for i := 1 to 40 DO

begin read(F1,C1); read(F2,C2);

if C1<>C2 then str := str + chr(C1 xor C2);

//如果C1=C2,則不需要進(jìn)行與或運算

end;

closefile(F1); closefile(F2);

edtpwd.Text := str;

end;

我們再試試雙字節(jié)密碼的情況,將db1.mdb復(fù)制為db3.mdb,為db3.mdb設(shè)置20個漢字的中文密碼,比較db1.mdb和db3.mdb,發(fā)現(xiàn)從地址42H—69H共40個字節(jié)不同,這就說明如果是雙字節(jié)密碼,密碼信息保存在42H到69H地址中,每兩個地址對應(yīng)一個密碼字符。

進(jìn)一步比較空密碼數(shù)據(jù)庫42H—69H地址中存儲的數(shù)據(jù),發(fā)現(xiàn)只要數(shù)據(jù)庫創(chuàng)建日期相同,該地址存儲的數(shù)據(jù)就相同;創(chuàng)建日期不同,該地址的數(shù)據(jù)就會有些不同。至于數(shù)據(jù)庫創(chuàng)建日期與42H—69H地址中存儲的數(shù)值的關(guān)系,筆者暫不公布。另外,我們比較上面db1.mdb、db2.mdb、db3.mdb其他地址的數(shù)據(jù),也有些差異。這說明,Access2000會利用用戶設(shè)定的密碼,對文件的其他數(shù)據(jù)進(jìn)行加密。據(jù)此推測,如果把db2.mdb的42H到69H地址的數(shù)據(jù)換成空密碼文件db1.mdb對應(yīng)地址的數(shù)據(jù),并不能起到撤銷db2.mdb密碼的作用,這點大家可以自己實驗證明。endprint

通過上面的實驗我們總結(jié)出如下規(guī)律:Access2000中在地址42H到69H中保存密碼信息,如果密碼是單字節(jié)字符,則密碼信息主要保存在42H、44H、……、68H偶數(shù)地址中,加密方式是用戶所設(shè)密碼和相應(yīng)空密碼文件中42H、44H、……、68H地址所存儲的數(shù)據(jù)進(jìn)行與或運算;空密碼文件42H——69H中存儲的數(shù)據(jù)與數(shù)據(jù)庫文件的創(chuàng)建日期有關(guān)。對于雙字節(jié)密碼情況有所不同,也復(fù)雜一些。

這表明,只要知道數(shù)據(jù)庫文件的創(chuàng)建日期,就能破解該數(shù)據(jù)庫文件的密碼。網(wǎng)上的破解Access密碼的工具大致是這樣的原理。

2 保護(hù)Access數(shù)據(jù)庫

知道了Access密碼破解的方法,我們看看如何防止別人破解自己Access數(shù)據(jù)庫密碼。

2.1 密碼設(shè)置為中文或其他雙字節(jié)字符

Access2000對雙字節(jié)密碼的處理比單字節(jié)密碼字符復(fù)雜,網(wǎng)上的破解Access2000密碼工具幾乎都只針對單字節(jié)密碼的情況,我試用了幾個這樣的工具,均不能破解中文字符的密碼。所以我們可以將Access的密碼設(shè)置為中文。如果我們使用Microsoft Office的 Access2000設(shè)置密碼時,密碼輸入框一般是不允許輸入中文的,我們可以先在其他軟件如記事本中輸入中文字符,然后復(fù)制粘貼到Access2000的密碼輸入框,這樣就可以設(shè)置好中文密碼了。

2.2 隱藏數(shù)據(jù)庫的創(chuàng)建日期

如前所述,數(shù)據(jù)庫的創(chuàng)建日期在整個破解過程中起著非常重要的作用,我們可以將數(shù)據(jù)庫的創(chuàng)建日期信息隱藏起來。

數(shù)據(jù)庫的創(chuàng)建日期由需要打開數(shù)據(jù)庫才能看到,一般情況下,這個日期和我們在操作系統(tǒng)中查看文件屬性所看到的日期相同,我們可以進(jìn)行特殊處理,讓兩個日期不一樣,從而對破解起到很好的干擾作用。做法如下:

先將計算機(jī)的日期改為一個不容易被猜測的日期,如:2086-3-28,然后創(chuàng)建數(shù)據(jù)庫Data1.mdb,設(shè)置好密碼,保存;然后將日期改回當(dāng)前日期,將Data1.mdb復(fù)制為Data2.mdb,刪除Data1.mdb,Data2.mdb 就是我們所要使用的數(shù)據(jù)庫文件。這樣Data2內(nèi)部記錄的創(chuàng)建日期與Data1.mdb一樣,是2083-3-28,但如果在操作系統(tǒng)中查看文件屬性所看到的創(chuàng)建日期就是復(fù)制文件的日期,兩個日期不一樣,這樣就大大增加了破解的難度了。如果再配合第一種方法,效果會更好。

總的來說,Access2000作為桌面型數(shù)據(jù)庫,密碼信息存放在單一文件中,且密碼與硬件無關(guān),加密算法也比較簡單,所提供的安全保護(hù)很低,因此我們避免用Access2000存儲機(jī)密數(shù)據(jù)。如一定要使用Access保存機(jī)密數(shù)據(jù),可以采用如下方法:自己設(shè)計加密解密方法,數(shù)據(jù)先經(jīng)過加密再存到數(shù)據(jù)庫中;數(shù)據(jù)讀出來后先解密再使用。這樣別人即使能打開數(shù)據(jù)庫看到里面的數(shù)據(jù),也都是經(jīng)過加密的無意義的數(shù)據(jù)信息。

參考文獻(xiàn)

[1]丁小平.談Access 97數(shù)據(jù)庫密碼的破解[J].珠海國家仿真與控制工程技術(shù)研究中心.http://www.powerba.com/index.htm.

[2]馬文騫.防止Access 2000密碼被破譯的方法[J].http://software.szwindow.net.cn/.

[3]http://www.delphibbs.com.endprint

主站蜘蛛池模板: 欧美午夜视频在线| 国产高清无码麻豆精品| 国产a v无码专区亚洲av| 欧美日韩国产一级| 国产真实乱子伦精品视手机观看| 国产二级毛片| 国产精品视频观看裸模| 激情六月丁香婷婷| 久久午夜影院| 国产精品密蕾丝视频| 欧美在线视频a| 欧美69视频在线| 精品91在线| 亚洲成人黄色网址| 伊人久综合| 666精品国产精品亚洲| 亚洲午夜综合网| 国产精品无码制服丝袜| 亚洲性一区| 成人一级免费视频| 亚洲AV无码久久天堂| 一级一毛片a级毛片| 色爽网免费视频| 国产哺乳奶水91在线播放| 午夜视频免费一区二区在线看| 99久久国产综合精品女同| 亚洲中文字幕手机在线第一页| 免费欧美一级| 永久免费av网站可以直接看的 | 园内精品自拍视频在线播放| 亚洲精品欧美重口| 丝袜亚洲综合| 欧美日本在线| 无套av在线| 欧美精品v| 国产成人精品视频一区二区电影| 亚洲中文精品人人永久免费| 亚洲成人高清在线观看| 亚洲无码37.| 2020国产免费久久精品99| 亚洲美女久久| 日本不卡免费高清视频| 久草热视频在线| 99精品在线视频观看| 日本91视频| 日本欧美在线观看| 香蕉视频在线观看www| 久久国产黑丝袜视频| 色网在线视频| 国产免费a级片| 无码福利视频| 尤物精品国产福利网站| 久久久久久久97| 91亚洲视频下载| 永久免费无码成人网站| 日韩a级片视频| 久久夜色精品国产嚕嚕亚洲av| 91小视频在线| 亚洲最新网址| 国产午夜无码专区喷水| 久久99国产综合精品1| 欧美一区二区丝袜高跟鞋| 日本人妻一区二区三区不卡影院| 国禁国产you女视频网站| 91久久偷偷做嫩草影院免费看| 日韩美女福利视频| 国产噜噜噜视频在线观看 | 在线观看91香蕉国产免费| 国产高清在线精品一区二区三区 | 91精品综合| 免费一级α片在线观看| 国产亚洲精品自在久久不卡 | 欧美精品成人| 久久人妻系列无码一区| 成人无码一区二区三区视频在线观看| 日本欧美成人免费| 少妇极品熟妇人妻专区视频| 成人在线观看一区| 久久成人国产精品免费软件| aa级毛片毛片免费观看久| 国产精品精品视频| 91成人免费观看|