怎样用DELPHI对有密码的ACCESS库(.mdb)解密? 我有这样的源程序,要的话请确认[email protected] 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 IUPRG(新裤子) :谢谢你,我的邮箱[email protected],可以给我发一个过来吗? 不过,Access的密码不但有一种方式。一种是本身有密码,一种是需要有系统文件,然后再要密码。如果是第一种,用工具就行了,但是第二种的话,需要先连接系统数据库,然后再要密码。 ACCESS97 解密的我会,报上抄来的,ACCESS97的密码形同虚设! String GetPsw(char *f) // 取文件名为f的MDB的密码并返回{ char mm0[13]={0x86,0xfb,0xec,0x37, 0x5d,0x44,0x9c,0xfa, 0xc6,0x5e,0x28,0xe6, 0x13}; char mm1[13],mm2[14]; TFileStream *fs; try { fs=new TFileStream(f,fmOpenRead); } catch(...) { return(String("")); } fs->Position=0x42L; fs->Read(mm1,13); delete fs; for (int i=0;i<13;i++) mm2[i]=mm0[i]^mm1[i]; // 异或 mm2[13]='\0'; return(String(mm2));}void __fastcall TForm1::DirectoryListBox1Change(TObject *Sender){ ListBox1->Clear(); String Path=FileListBox1->Directory; if (*(Path.AnsiLastChar())!='\\') Path+="\\"; for (int i=0;i<FileListBox1->Items->Count;i++) { String f=Path+FileListBox1->Items->Strings[i]; String psw=GetPsw(f.c_str()); if (psw=="") psw="未设密码 !"; ListBox1->Items->Add(psw);} } BCB([email protected]),你好,可不可以指点一二?2000的呢?有没有办法? String GetPsw(String f){ char mm0[13]={0x86,0xfb,0xec,0x37, 0x5d,0x44,0x9c,0xfa, 0xc6,0x5e,0x28,0xe6, 0x13}; char mm1[13],mm2[14]; TFileStream *fs; try { fs=new TFileStream(f,fmOpenRead); } catch(...) { return(String("")); } fs->Position=0x42L; fs->Read(mm1,13); delete fs; for (int i=0;i<13;i++) mm2[i]=mm0[i]^mm1[i]; // ^ 为异或 mm2[13]='\0'; return(String(mm2));}有这个子程序就够了,改成DELPHI很简单 首先你要知道库的密码,如何不知道,你可以在网上下载解密的软件,多得很。用ODBC连接库,用database设置库,在params里可以设置密码,把loginPrompt设为false.就可以了!如何还有不清楚的。我的OICQ:928305 oysy(太阳之子),你好!谢谢你的回答,我知道怎样操作库,我想知道忘记了密码该怎么办,我看过一些200的解密文章,可是我只能解出偶数位的密码,奇数位的始终得不到 想知道忘记了密码该怎么办!?我这里有个解access 2000密码的软件,奇数位也得行。要吗? oysy(太阳之子):那太好了,,可以给我吗?顺便问一问,是你自己写的吗?可不可以指点一下2000的加密原理? oysy(太阳之子):你好!程序已经收到,可是解出的密码不对,数据库仍然说密码无效,还有别的办法吗? 不是的,用光盘给提供的工具可以查数据,要是在光盘上解密,可以得到密码,但不对,要是把文件(.mdb)考到硬盘上,就得不到密码了,可能他们采用的其他的方式!!唉!烦啊! 你把光盘上的数据全部COPY到硬盘呢!?注意隐藏文件! 我有解access97的工具,昨天刚用过,挺好的。要不要啊?无效退款 怎样得到RzGroupbar的多个RzGroup的唯一选择值? 这些代码要用什么软件生成可执行程序 有人能给提供一下d5用的lm6pro 的控件包,昨天晚上找到早上5点也没找到,特求助万能的csdn 如何使 DBEditEh 只能修改不能增加记录 delphi 立即停止timer 在midas中服务端,如何主动发数据给多个客户端 VarIsNull 不能使用 提交记录关键字重复时,我这样处理怎不行? delphi编程!(急!) 如何动态生成控件实例? 此种情形,如何访问ACCESS数据库 Delphi下的串口通信如何提高速度?
一种是本身有密码,一种是需要有系统文件,然后再要密码。如果是第一种,用工具就行了,但是第二种的话,需要先连接系统数据库,然后再要密码。
{
char mm0[13]={0x86,0xfb,0xec,0x37,
0x5d,0x44,0x9c,0xfa,
0xc6,0x5e,0x28,0xe6,
0x13};
char mm1[13],mm2[14];
TFileStream *fs;
try
{
fs=new TFileStream(f,fmOpenRead);
}
catch(...)
{
return(String(""));
}
fs->Position=0x42L;
fs->Read(mm1,13);
delete fs;
for (int i=0;i<13;i++)
mm2[i]=mm0[i]^mm1[i]; // 异或
mm2[13]='\0';
return(String(mm2));
}void __fastcall TForm1::DirectoryListBox1Change(TObject *Sender)
{
ListBox1->Clear();
String Path=FileListBox1->Directory;
if (*(Path.AnsiLastChar())!='\\')
Path+="\\";
for (int i=0;i<FileListBox1->Items->Count;i++)
{
String f=Path+FileListBox1->Items->Strings[i];
String psw=GetPsw(f.c_str());
if (psw=="")
psw="未设密码 !";
ListBox1->Items->Add(psw);
} }
2000的呢?有没有办法?
{
char mm0[13]={0x86,0xfb,0xec,0x37,
0x5d,0x44,0x9c,0xfa,
0xc6,0x5e,0x28,0xe6,
0x13};
char mm1[13],mm2[14];
TFileStream *fs;
try
{
fs=new TFileStream(f,fmOpenRead);
}
catch(...)
{
return(String(""));
}
fs->Position=0x42L;
fs->Read(mm1,13);
delete fs;
for (int i=0;i<13;i++)
mm2[i]=mm0[i]^mm1[i]; // ^ 为异或
mm2[13]='\0';
return(String(mm2));
}
有这个子程序就够了,改成DELPHI很简单
用ODBC连接库,用database设置库,在params里可以设置密码,把loginPrompt设为false.就可以了!
如何还有不清楚的。我的OICQ:928305
顺便问一问,是你自己写的吗?可不可以指点一下2000的加密原理?