繁体中文
设为首页
加入收藏
当前位置:.Net技术首页 >> 报表/图形/Office >> ACCESS2000数据库文件密码的提取(源程序c++builder5)(推荐大家转换成C#版本)

ACCESS2000数据库文件密码的提取(源程序c++builder5)(推荐大家转换成C#版本)

2004-10-01 08:26:10  作者:  来源:互联网  浏览次数:27  文字大小:【】【】【
简介:#include <vcl.h> #pragma hdrstop #include "dolACCESS.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma reso...

#include

#pragma hdrstop

#include "dolACCESS.h"

//---------------------------------------------------------------------------

#pragma package(smart_init)

#pragma resource "*.dfm"

Tform1 *form1;

//---------------------------------------------------------------------------

__fastcall Tform1::Tform1(TComponent* Owner)

: Tform(Owner)

{

}

//---------------------------------------------------------------------------

void __fastcall Tform1::SpeedButton1Click(TObject *Sender)

{

if( OpenDialog1->Execute())

edtFileName->Text=OpenDialog1->FileName;

else

Application->MessageBoxA("没有选定有效的文件名!","消息",IDOK);

}

//---------------------------------------------------------------------------

void __fastcall Tform1::Button1Click(TObject *Sender)

{

int iFileHandle;

int iByteRead;

int i,j;

char *pszBuffer;

char Code[0x27]={0x10,0xEC,0xCB,0x9C,0x50,0x28,0x85,0x8A,0xC2,0x7B,

0x63,0xDF,0xE1,0x13,0x59,0xB1,0xA2,0x79,0x04,0x7C};

if(edtFileName->Text.Length()!=0)

{

try

{

iFileHandle=FileOpen(edtFileName->Text,fmOpenRead);

FileSeek(iFileHandle,0x42,0);

pszBuffer=new char[0x27];

iByteRead=FileRead(iFileHandle,pszBuffer,0x27);

FileClose(iFileHandle);

i=iByteRead/2;

for(j=0;j<=i;j++)

{

Code[j]=Code[j]^pszBuffer[2*j];

}

delete [] pszBuffer;

edtPassword->Text=Code;

if(edtPassword->Text.Length()==0)

edtPassword->Text="此数据库未设置密码!";

}

catch(const Exception& e)

{

Application->MessageBoxA("读取文件错误!!!","错误!",IDOK);

}

}

else

{

Application->MessageBoxA("没有输入有效的文件名","注意!",IDOK);

}

}

责任编辑:admin
相关文章