2 * freerainbowtables is a project for generating, distributing, and using
3 * perfect rainbow tables
5 * Copyright (C) Zhu Shuanglei <shuanglei@hotmail.com>
6 * Copyright 2009, 2010 Daniƫl Niggebrugge <niggebrugge@fox-it.com>
7 * Copyright 2009, 2010 James Nobis <frt@quelrod.net>
9 * This file is part of freerainbowtables.
11 * freerainbowtables is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as published by
13 * the Free Software Foundation, either version 2 of the License, or
14 * (at your option) any later version.
16 * freerainbowtables is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
21 * You should have received a copy of the GNU General Public License
22 * along with freerainbowtables. If not, see <http://www.gnu.org/licenses/>.
48 unsigned short nCheckPoint;
54 unsigned int nChainCount;
56 struct FoundRainbowChain
63 struct ChainCheckChain
71 unsigned int prefixstart, numchains;
81 #define MAX_PLAIN_LEN 256
82 #define MIN_HASH_LEN 8
83 #define MAX_HASH_LEN 256
84 #define MAX_SALT_LEN 256
86 // XXX nmap is GPL2, will check newer releases regarding license
87 // Code comes from nmap, used for the linux implementation of kbhit()
101 unsigned int GetFileLen(FILE* file);
102 string TrimString(string s);
103 bool ReadLinesFromFile(string sPathName, vector<string>& vLine);
104 bool SeperateString(string s, string sSeperator, vector<string>& vPart);
105 string uint64tostr(uint64 n);
106 string uint64tohexstr(uint64 n);
107 string HexToStr(const unsigned char* pData, int nLen);
108 uint64 GetAvailPhysMemorySize();
109 void ParseHash(string sHash, unsigned char* pHash, int& nHashLen);
110 bool GetHybridCharsets(string sCharset, vector<tCharset>& vCharset);