如何在程序中破除、设置、修改Paradox表的口令???(200分)

  • 主题发起人 主题发起人 mxt
  • 开始时间 开始时间
M

mxt

Unregistered / Unconfirmed
GUEST, unregistred user!
如标题所示!
 
用delphi自带的database desktop可以设置各种类型的访问口令。
在database desktop中New一个表,在New的时候,在右上方
有一个下拉框(table properties),其中就有password security的
选项,然后就可以设置密码.......
破解我就不知道了
 
From inprise BDE32.hlp.

我改造了一下。


procedure AddMasterPassword(Table: TTable; pswd: string;protect:boolean);
const
RESTRUCTURE_TRUE = WordBool(1);
var
TblDesc: CRTblDesc;
hDb: hDBIDb;
begin
{ Make sure that the table is opened and is exclusive }
if not Table.Active or not Table.Exclusive then
raise EDatabaseError.Create('Table must be opened in exclusive ' +
'mode to add passwords');
{ Initialize the table descriptor }
FillChar(TblDesc, SizeOf(CRTblDesc), #0);
with TblDesc do begin

{ Place the table name in descriptor }
StrPCopy(szTblName, Table.TableName);
{ Place the table type in descriptor }
StrCopy(szTblType, szPARADOX);
{ Master Password, Password }
StrPCopy(szPassword, pswd);
{ Set bProtected to True }
bProtected := protect;
end;
{ Get the database handle from the cursor handle }
Check(DbiGetObjFromObj(hDBIObj(Table.Handle), objDATABASE, hDBIObj(hDb)));
{ Close the table }
Table.Close;

{ Add the master password to the Paradox table }
Check(DbiDoRestructure(hDb, 1, @TblDesc, nil,
nil, nil, False));
{ Add the new password to the session }
Session.AddPassword(pswd);
{ Re-Open the table }
Table.Open;
end;

用法:

if protect then
ADDPASSWORD
else
RECMOVEPASSWORD;
 
简单的破解:在主窗体的OnCreate事件中键入Session.AddPassword('口令');
 
非常感谢你们!我还真把这事给忘了!真的很对不起大家
 
后退
顶部