亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Access > 正文

破解Access(*.mdb)目前所有版本的密碼

2024-09-07 19:05:30
字體:
來源:轉載
供稿:網友
關于Access97的密碼破解,在很多的網站和雜志上都有過介紹。在這里我簡單重復一下。

在mdb文件第0x42字節處的13個字節分別與0x86,0xfb,0xec,0x37,0x5d,0x44,0x9c,0xfa,0xc6,0x5e,0x28,0xe6,0x13異或后即可得到數據庫的密碼。但在Access 2000和2002的版本里密鑰不再是固定的13個字節.而且加密的方式也有了變化。

經過ccrun用一下午的時間研究,終于將Access2000的加密方式搞清楚了。嘿嘿。在此將偶的心得發布。希望對大家有用,如果您發現我的理解有誤,請來信告之我們。信箱:info@ccrun.com 版權雖然有沒有都沒關系,不過如果您要轉載,請注明出處,并保證文檔的完整性。謝謝。

我用的分析工具是UltraEdit32 v10.00,編程工具是C++ Builder 6.0

經過用UltraEdit32分析,發現Access2000和Access2002的數據庫加密方式相同,所以以下只針對Access2000的mdb文件。還有就是我用的是16進制的數表示,所以前面加了0x,如果你用的是VB或其他,要注意數值哦。

首先用AccessXP創建了一個空密碼的數據庫文件db1.mdb,包含一個表,其中有一個字段,沒有填任何數據。保存退出然后復制一份為DB2.mdb,以獨占方式打開2.mdb,并加上密碼1324567890123 保存退出。

用UltraEdit32打開這兩個數據庫,并進行比較。我比較的方法也很簡單。在UltraEdit32中,快速的來回點擊被打開文件的選項卡(就是在兩個文件間來回切換,呵呵。笨辦法吧),發現從文件頭開始0x42字節處發生變化。

db1.mdb 
00000040h:BC 4E BE 68 EC 37 65 D7 9C FA FE CD 28 E6 2B 25 ; 
00000050h: 8A 60 6C 07 7B 36 CD E1 DF B1 4F 67 13 43 F7 3C ;

00000060h:B1 33 0C F2 79 5B AA 26 7C 2A 4F E9 7C 99 05 13 ; 
db2.mdb 
00000040h:BC 4E 8F 68 DE 37 56 D7 A8 FA CB CD 1E E6 1C 25 ; 
00000050h: B2 60 55 07 4B 36 FC E1 ED B1 7C 67 13 43 F7 3C ;

00000060h:B1 33 0C F2 79 5B AA 26 7C 2A 4F E9 7C 99 05 13 ;

為了看的清楚些,我把不同的字節加了顏色??闯鲩T道了吧,Access97以后的版本里,密碼字節不再是連續存放,而是隔一個字節存一個。并且經過加密。到于解密的方法嘛,還是用老辦法“異或”!0xBE ^ 0x8F = 0x31,這正好是Ascii碼"1"哦。下一個0xEC ^ 0xDE = 0x32 正好是Ascii碼"2",呵呵。一直到最后一個不同的0x4F ^ 0x7C =0x33,將取得的字符合成字符串,便是密碼明文“1234567890123",千萬不要以為這樣就收工了。因為這一次是正好碰對了。呵呵。我剛開始也以為就這么簡單,于是用CB做了個小程序,試著解了幾個mdb密碼都還行,可是試到動網論壇的mdb文件時發現取出來的密碼不對,暈了。于是用另外一個取mdb密碼的工具看了一下,發現人家的就可以正確的取出密碼,是Access2000的格式,于是感覺微軟加密的方式還是沒研究完。繼續工作,用UltraEdit32打開動網論壇的數據庫dvbbs.mdb,和我前面的加過密的數據庫做比較,發現不同的地方很多。只好一個字節一個字節的試。。。。nnn次以后發現第0x62處的這個字節起著關鍵作用,暫稱之為加密標志。

db1.mdb //空密碼 
00000040h:BC 4E BE 68 EC 37 65 D7 9C FA FE CD 28 E6 2B 25 ; 
00000050h: 8A 60 6C 07 7B 36 CD E1 DF B1 4F 67 13 43 F7 3C ;

00000060h:B1 33 0C F2 79 5B AA 26 7C 2A 4F E9 7C 99 05 13 ;

db2.mdb //密碼為:1234567890123 
00000040h:BC 4E 8F 68 DE 37 56 D7 A8 FA CB CD 1E E6 1C 25 ; 
00000050h: B2 60 55 07 4B 36 FC E1 ED B1 7C 67 13 43 F7 3C ;

00000060h:B1 33 0C F2 79 5B AA 26 7C 2A 4F E9 7C 99 05 13 ;

dvbbs.mdb //密碼為:yemeng.net

00000040h:BC 4E DB 6A 89 37 14 D5 F9 FA 8C CF 4F E6 19 27 ;

00000050h: E4 60 15 05 0F 36 D1 E3 DF B1 53 65 13 43 EB 3E ;

00000060h:B1 33 10 F0 79 5B B6 24 7C 2A 4A E0 7C 99 05 13 ;

怎么試呢,還是異或。取0x42處開始的字節0xDB與空密碼文件的0x42處字節異或,取0x62處的加密標志與空密碼文件0x62處字節異或,然后再把取得的兩個值相異或:

(0xDB^0xBE)^(0x10^0x0C)=0x79 嘿嘿。這個值是Ascii的"y",然后取下一個字節(記得隔一個字節取一個)

(0x89^0xEC)^(0x10^0x0C)=0x79 咦,本來這個字節應該是"e"的,怎么變成"y"了?試著不與后面的兩個異或值相異或,只計算0x89^0xEC=0x65 得到"e",哈。這下對了。下一個

(0x14^0x65)^(0x10^0C)=0x6D 得到"m",下一個

(0xF9^9C)=0x65 得到"e",注意這里只是這兩個數異或。后面的大家可以自己試。

這樣就總結出規律來了。

解密時,先取出加密文件從文件頭開始0x62處的字節,與空密碼數據庫文件第0x62處相異或,得到一個加密標志。

再從0x42處開始每隔一個字節取一個字節,取得13個加密后的密碼字節,分別與空密碼數據庫文件0x42處每隔一個字節取得的13個字節想異或,得到13個密碼半成品。為什么說是半成品呢,因為還要將13個字節的密碼每隔一個字節,就與加密標志相異或,最后得到的13個字節才是真正的密碼。當然,如果中間有0x0的字節,則說明密碼位數不夠13位。直接show出來就可以了。

另外我發現加密標志會隨著時間或機器不同而不同,所以也沒有萬能的,不過有一個參照的就可以了。以下代碼是我在寫這個程序的時候取得的數,和我寫這篇文章不是一個時間,所以數值不一樣,但最終解密的結果是一樣的。大家可以參考一下。

對了,還有個重要的就是先得判斷數據庫的版本,我用了個簡單的辦法,取0x14處的字節,如果為0就判斷為是Access97,如果為1就認為是Access2000或2002的。只是目前沒有研究出判斷2000和2002的辦法,如果哪位知道的話,請指點。

代碼:

//這里定義的是13個字節作為Access2000異或的源碼。與之相對應的加密標志是0x13,ccrun特此注明

//當然你可以用這一組: BE EC 65 9C FE 28 2B 8A 6C 7B CD DF 4F 與這一組相對應的加密標志是0x0c

//呵呵.程序有些亂,希望大家能看的懂。 
char PassSource2k[13]={0xa1,0xec,0x7a,0x9c,0xe1,0x28,0x34,0x8a,0x73,0x7b,0xd2,0xdf,0x50};

//Access97的異或源碼 
char PassSource97[13]={0x86,0xfb,0xec,0x37,0x5d,0x44,0x9c,0xfa,0xc6,0x5e,0x28,0xe6,0x13};

void __fastcall TMainForm::GetMdbPass() 

char PassStrTemp[26],Ver,EncrypFlag,t1; 
int FileHandle; 
String MdbPassword,MdbVersion,MdbFileName;

FileHandle=FileOpen(MdbFileName,fmOpenRead); 
if(FileHandle<0) 

ShowMessage("文件打開錯誤!"); 
return; 
}

//取得數據庫版本 
FileSeek(FileHandle,0x14,0); 
FileRead(FileHandle,&Ver,1);

//取得加密標志 
FileSeek(FileHandle,0x62,0); 
FileRead(FileHandle,&EncrypFlag,1);

//讀取加密后的密碼到緩沖區 
FileSeek(FileHandle,0x42,0); 
FileRead(FileHandle,&PassStrTemp,26); 
FileClose(FileHandle);

if(Ver<1) 

MdbVersion="Access 97"; 
if(int(PassStrTemp[0]^PassSource97[0])==0) 
MdbPassword="密碼為空!"; 
else 

MdbPassword=""; 
for(int j=0;j<13;j++) 
MdbPassword=MdbPassword+char(PassStrTemp[j]^PassSource97[j]); 


else 

MdbVersion="Access 2000 or 2002"; 
MdbPassword=""; 
for(int j=0;j<13;j++) 

if(j%2==0)

t1=char(0x13^EncrypFlag^PassStrTemp[j*2]^PassSource2k[j]);

//每隔一個字節就與加密標志相異或。這里的加密標志為0x13

else

t1=char(PassStrTemp[j*2]^PassSource2k[j]); 
MdbPassword=MdbPassword+t1; 


if(MdbPassword[1]<0x20||MdbPassword[1]>0x7e) 
MdbPassword="密碼為空!"; 
EditMdbFileName->Text=MdbFileName; 
EditMdbPassword->Text=MdbPassword; 
EditMdbVersion->Text=MdbVersion; 
}

ccrun原創,來自C++ Builder 研究 http://www.ccrun.com

Email:info@ccrun.com QQ:165332

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91成人精品网站| 亚洲欧美日韩另类| 国产亚洲视频在线观看| 1769国内精品视频在线播放| 精品亚洲va在线va天堂资源站| 国产精品视频1区| 国产精品视频导航| 成人在线免费观看视视频| 欧美午夜影院在线视频| 国产在线拍偷自揄拍精品| 欧美激情一区二区久久久| 欧美在线视频导航| 91国内精品久久| 亚洲成人在线网| 亚洲国产精品yw在线观看| 国产日韩欧美夫妻视频在线观看| 欧美色图在线视频| 国产69久久精品成人| 中文字幕精品—区二区| 日本精品免费一区二区三区| 欧美猛交免费看| 国产日韩欧美黄色| 国产精品久久久久国产a级| 亚洲www视频| 久久久极品av| 欧美成人合集magnet| 欧美猛交免费看| 亚洲精品美女久久久| 国产亚洲精品高潮| 欧美电影免费观看网站| 欧美日本国产在线| 一本久久综合亚洲鲁鲁| 91精品国产91久久久久久久久| 日韩麻豆第一页| 久久久天堂国产精品女人| 亚洲高清在线观看| 欧美国产日韩xxxxx| 国内揄拍国内精品少妇国语| 欧美性xxxxx| 亚洲的天堂在线中文字幕| 国产在线999| 96国产粉嫩美女| 久久久精品一区二区| 97人洗澡人人免费公开视频碰碰碰| 中文字幕精品—区二区| 91国语精品自产拍在线观看性色| 欧美成人精品一区二区| 亚洲国产精彩中文乱码av在线播放| 欧美一区在线直播| 欧美疯狂做受xxxx高潮| 欧美大秀在线观看| 久久久91精品| 日韩精品欧美国产精品忘忧草| 成人网在线免费观看| 在线国产精品播放| 国产伦精品免费视频| 亚洲精品国偷自产在线99热| 久久色在线播放| 亚洲人成网站999久久久综合| 中文字幕成人精品久久不卡| 狠狠爱在线视频一区| 国产亚洲一区二区在线| 亚洲韩国日本中文字幕| 久久国产色av| 日韩网站免费观看高清| 日韩精品免费看| 久久久久国产精品一区| 一本一本久久a久久精品综合小说| 日韩激情视频在线| 日韩成人av在线| 欧美日韩亚洲天堂| 欧美高清视频一区二区| 国产精品你懂得| 欧美激情精品久久久久久黑人| 另类专区欧美制服同性| 久久久久成人精品| 欧美激情国产日韩精品一区18| 国产精品久久久久国产a级| 神马国产精品影院av| 国产精品久久久久久久久久小说| 欧美久久精品午夜青青大伊人| 欧美精品一区二区免费| 国产精品视频白浆免费视频| 91精品国产综合久久久久久久久| 亚洲欧美一区二区三区在线| 日韩精品日韩在线观看| 欧美电影在线免费观看网站| 91精品国产高清自在线| 欧美怡红院视频一区二区三区| 狠狠色狠狠色综合日日小说| 岛国av一区二区| 亚洲精品自拍视频| 日韩高清欧美高清| 一区二区三区视频免费| 91高清免费在线观看| 国产日韩中文字幕在线| 日韩欧美亚洲国产一区| 全球成人中文在线| 亚洲精品视频网上网址在线观看| 日韩av一区二区在线观看| 一区国产精品视频| 国产精品普通话| 另类专区欧美制服同性| 这里精品视频免费| 亚洲国产精品视频在线观看| 欧美激情综合色| 久久精品成人欧美大片| 欧美性高潮床叫视频| 欧美一区三区三区高中清蜜桃| 久久久久久中文| 亚洲美腿欧美激情另类| 国产一区二中文字幕在线看| 欧美精品激情blacked18| 亚洲欧美日韩久久久久久| 亚洲精品第一国产综合精品| 久久久91精品| 亚洲欧美综合v| 国产亚洲精品激情久久| 国产成人自拍视频在线观看| 亚洲精品中文字幕av| 国产精品爱久久久久久久| 欧美激情性做爰免费视频| 日韩精品日韩在线观看| 亚洲美女福利视频网站| 中文字幕亚洲无线码在线一区| 亚洲女同性videos| 国产国语videosex另类| 久久精品视频亚洲| 国产美女久久精品香蕉69| 日日骚久久av| 日本精品久久久| 亚洲久久久久久久久久| 日产精品久久久一区二区福利| 亚洲视屏在线播放| 久久手机精品视频| 欧美性猛交xxxx久久久| 最新中文字幕亚洲| 91免费看片在线| 久久久久久久久久av| 亚洲国产精品国自产拍av秋霞| 欧美性极品xxxx娇小| 日韩电影免费观看在线观看| 色综合久久88色综合天天看泰| 欧美富婆性猛交| 欧美在线观看网址综合| 亚洲精品自拍第一页| 国产日韩综合一区二区性色av| 日韩色av导航| 亚洲男人av电影| 亚洲午夜精品久久久久久久久久久久| 日本亚洲欧洲色| 成人国产精品av| 日本精品中文字幕| 亚洲日韩中文字幕| 亚洲一区二区三区毛片| 亚州av一区二区| 亚洲欧美国产精品| 亚洲男人7777| 日韩美女在线观看| 欧美在线视频观看免费网站| 久久久精品2019中文字幕神马| 中文字幕国产精品久久| 欧美视频在线免费| 亚洲二区在线播放视频|