2 RainbowCrack - a general propose implementation of Philippe Oechslin's faster time-memory trade-off technique.
4 Copyright (C) Zhu Shuanglei <shuanglei@hotmail.com>
18 #define uint64 unsigned __int64
20 #define uint64 u_int64_t
33 unsigned short nCheckPoint;
39 unsigned int nChainCount;
41 struct FoundRainbowChain
48 struct ChainCheckChain
56 unsigned int prefixstart, numchains;
66 #define MAX_PLAIN_LEN 256
67 #define MIN_HASH_LEN 8
68 #define MAX_HASH_LEN 256
69 #define MAX_SALT_LEN 256
71 unsigned int GetFileLen(FILE* file);
72 string TrimString(string s);
73 bool ReadLinesFromFile(string sPathName, vector<string>& vLine);
74 bool SeperateString(string s, string sSeperator, vector<string>& vPart);
75 string uint64tostr(uint64 n);
76 string uint64tohexstr(uint64 n);
77 string HexToStr(const unsigned char* pData, int nLen);
78 unsigned int GetAvailPhysMemorySize();
79 void ParseHash(string sHash, unsigned char* pHash, int& nHashLen);
80 bool GetHybridCharsets(string sCharset, vector<tCharset>& vCharset);