您当前所在的位置:首页>>设计教程>>办公软件>>正文 文章正文
ACCESS2000数据库文件密码的提取(源程序c++builder5)
作者: 佚名 点击数:

#include <vcl.h>
#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);
   }
}
//---------------------------------------------------------------------------

相 关 搜 索
今 日 头 条
 
最 新 热 门
最 新 推 荐
 
文章来源: 网络  更新时间:2005-3-13 10:11:35  责任编辑:stsee
  上一篇文章:利用WPS Office也能制作标准条形码
下一篇文章:解决Access中分报表的问题
相关文章
中文Access2000速成教程--1.1 使
中文Access2000速成教程--1.2 使
获取ACCESS2000数据库中所有表的
中文Access2000速成教程--1.3 在
中文Access2000速成教程--1.4 使
中文Access2000速成教程--1.5 使
中文Access2000速成教程--1.6 定
中文Access2000速成教程--1.7 创
中文Access2000速成教程--1.8 定
解决Access中分报表的问题