獲取ACCESS2000密碼 C

2021-04-01 06:35:07 字數 2274 閱讀 8163

access 的一些早期版本使用異或方法進行簡單加密,當忘記密碼時可以用同樣的辦法進行恢復.

以access2000版本為例,從42h位元組開始的後40位元組為unicode儲存的密碼資訊,與位元組組

0x0b,0x6d ,0xec ,0x37 ,0xd0 ,0xd2 ,0x9c ,0xfa ,0x4b ,0xc8 ,0x28 ,0xe6 ,0x9e ,0x20 ,0x8a ,

0x60 ,0xd9 ,0x02 ,0x7b ,0x36 ,0x78 ,0xe4 ,0xdf ,0xb1 ,0xfa ,0x62 ,0x13 ,0x43 ,0x42 ,0x39 ,

0xb1 ,0x33 ,0xb9 ,0xf7 ,0x79 ,0x5b ,0x1f ,0x23 ,0x7c ,0x2c

異或後即可還原.上述金鑰位元組組可通過新建access檔案後檢視得知.

access是以輕量化為目的設計的資料庫,在重要應用中應該採用更專業的資料庫產品,如microsoft sql server.

以下以c#為例,說明獲取access2000密碼的方法. 注意:解密結果應用unicode解碼輸出,以保證正常顯示.

using system;

using system.drawing;

using system.collections;

using system.***ponentmodel;

using system.windows.forms;

using system.data;

public class form1 : system.windows.forms.form

///

/// 清理所有正在使用的資源。

///

protected override void dispose( bool disposing )

}base.dispose( disposing );

}#region windows form designer generated code

///

/// 設計器支援所需的方法 - 不要使用**編輯器修改

/// 此方法的內容。

///

private void initialize***ponent()

);this.formborderstyle = system.windows.forms.formborderstyle.fixedtoolwindow;

this.name = "form1";

this.text = "解";

this.resumelayout(false);

}#endregion

///

/// 應用程式的主入口點。

///

private void button2_click(object sender, system.eventargs e)

}private void button1_click(object sender, system.eventargs e)

catch(system.exception ee)}//

public static string getpassword2000(string filepath)

;string result="";

system.exception ex;

tryelse if(system.io.file.exists(filepath.trim()))

system.io.binaryreader br=new system.io.binaryreader(new system.io.filestream(filepath.trim(),system.io.filemode.open));

byte db=new byte[40];

int ix=0;

while((ix++)<0x42)

db=br.readbytes(40);

br.close();

for(int i=0;i<40;i++)

system.io.memorystream m=new system.io.memorystream(db,0,40,false,true);

system.io.streamreader s=new system.io.streamreader(m,system.text.encoding.unicode);    

result =s.readtoend();

s.close();

m.close();

}catch(system.exception ee)

return result;}}

}

中文Access2000速成教程

注意 中文access 2000不能在已開啟的表之間建立或修改關係,所以要關閉所有開啟的表,這與中文visual foxpro6有些不一樣。步驟一 按下鍵盤上的f11功能鍵,將當前操作視窗切換到 資料庫 視窗。步驟二 單擊 資料庫 工具欄中的 關係 按鈕,參見程式設計客棧圖39。此後,如果當前資料庫...

中文Access2000速成教程

第三講 在 設計 檢視中設計表 為了能像在中文visual foxpro 6使用 表設計器 那樣在中文access2000中設計表,需要通過 設計 檢視來進行操作,其步驟如下所述。步驟一 在 員工工時與工資 資料庫視窗中單擊 新建 按鈕,如圖12所示。然後在圖13所示的 新建表 對話方塊的列表中選定...

中文Access2000速成教程

第一講使用 嚮導 設計資料庫 使用中文access 2000可以從單一的資料庫檔案中組織使用者資訊。在此檔案中,可將資料分開放在名為 表 也就是前面所說的 資料表 的容器中,然後可使用聯機窗體讓網路使用者檢視 新增並更新表中的資料 查詢 查詢並檢索資料 使用 報表 按特定的佈局分析或列印的資料。此外...

Access 2000使用心得 2 開發應用

a 一個全面的 a c c e s s 應用至少會涉及到以下三種基本 access 物件型別 i.表用於儲存你或其他人向資料庫中新增的資料。ii.窗體用於顯示和輸入資料,控制其他窗體的開啟和關閉以及列印報表。iii.報表列印表中的細節資訊 總結資訊或者將兩者都進行列印。b 選單 工具 關係 可設定表...

用ADO連線修改ACCESS2000的資料庫密碼

sub adoaddpw dim cn as adodb.connection dim newpassword as string dim notvalid as integer dim sqlexecstr as string set cn currentproject.connection on...