Das kann ich leider nicht bzw. darf ich nicht, die Funktion darf nicht Public werden!
Kann aber die benutzten Deklarationen zeigen:
Delphi-Quellcode:
type
TSECItem = packed record
SECItemType: dword;
SECItemData: pchar;
SECItemLen: dword;
end;
PSECItem = ^TSECItem;
var
NSSModule: THandle;
NSS_Init: function(configdir: pchar): dword; cdecl;
NSSBase64_DecodeBuffer: function(arenaOpt: pointer; outItemOpt: PSECItem; inStr: pchar; inLen: dword): dword; cdecl;
PK11_GetInternalKeySlot: function: pointer; cdecl;
PK11_Authenticate: function(slot: pointer; loadCerts: boolean; wincx: pointer): dword; cdecl;
PK11SDR_Decrypt: function(data: PSECItem; result: PSECItem; cx: pointer): dword; cdecl;
NSS_Shutdown: procedure; cdecl;
PK11_FreeSlot: procedure(slot: pointer); cdecl;
hToken: THandle;
ProfilePath: array [0..MAX_PATH] of char;
ProfilePathLen: dword;
FirefoxProfilePath: pchar;
MainProfile: array [0..MAX_PATH] of char;
MainProfilePath: pchar;
PasswordFile: THandle;
PasswordFileSize: dword;
PasswordFileData: pchar;
Passwords: string;
BytesRead: dword;
CurrentEntry: string;
Site: string;
Name: string;
Value: string;
KeySlot: pointer;
EncryptedSECItem: TSECItem;
DecryptedSECItem: TSECItem;
Result: string;
Hilft das?