⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.cpp

📁 破解Access97-2003数据库密码的BCB源代码
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)
{
   EditFile->ShowHint =true;
   EditFile->Hint=EditFile->Text;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::ButtonOpenClick(TObject *Sender)
{
    if(OpenDialog1->Execute())
       EditFile->Text =OpenDialog1->FileName;
    EditFile->ShowHint =true;
    EditFile->Hint=EditFile->Text;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::ButtonCrackClick(TObject *Sender)
{
     int pass2k[13]={0xa1,0xec,0x7a,0x9c,0xe1,0x28,0x34,0x8a,
                     0x73,0x7b,0xd2,0xdf,0x50};
     int pass97[13]={0x86,0xfb,0xec,0x37,0x5d,0x44,0x9c,0xfa,
                     0xc6,0x5e,0x28,0xe6,0x13};
     char passtemp[26],version,flag,t;
     int fh;
     String pass;
     fh=FileOpen(EditFile->Text,fmOpenRead);
     if(!fh)
     {
         ShowMessage("Sorry.File cannot be opened.");
         return;
     }
     FileSeek(fh,0x14,0);
     FileRead(fh,&version,1);
     FileSeek(fh,0x62,0);
     FileRead(fh,&flag,1);
     FileSeek(fh,0x42,0);
     FileRead(fh,passtemp,26);
     FileClose(fh);
     if(version==0)
     {
          if(int(passtemp[0]^pass97[0])==0)
          {
             ShowMessage("伙计,你忽悠我呢.\r\n根本就没有密码,让我跑啥呀.");
             return;
          }
          else
          {
             pass="";
             for(int i=0;i<13;i++)
                 pass+=char(passtemp[i]^pass97[i]);
          }
     }
     else if(version==1)
     {
          pass="";
          for(int i=0;i<13;i++)
          {
              if(i%2==0)
                 t=char(0x13^flag^passtemp[i*2]^pass2k[i]);
              else
                 t=char(passtemp[i*2]^pass2k[i]);
              pass+=t;
          }
          if(pass[1]<0x20||pass[1]>0x7e)
          {
             ShowMessage("伙计,你忽悠我呢.\r\n根本就没有密码,让我跑啥呀.");
             return;
          }
     }
     EditPass->Text=pass;
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -