-/*\r
- * rcracki_mt is a multithreaded implementation and fork of the original \r
- * RainbowCrack\r
- *\r
- * Copyright (C) Zhu Shuanglei <shuanglei@hotmail.com>\r
- * Copyright Martin Westergaard Jørgensen <martinwj2005@gmail.com>\r
- * Copyright 2009, 2010 Daniël Niggebrugge <niggebrugge@fox-it.com>\r
- * Copyright 2009, 2010 James Nobis <frt@quelrod.net>\r
- *\r
- * This file is part of rcracki_mt.\r
- *\r
- * rcracki_mt is free software: you can redistribute it and/or modify\r
- * it under the terms of the GNU General Public License as published by\r
- * the Free Software Foundation, either version 2 of the License, or\r
- * (at your option) any later version.\r
- *\r
- * rcracki_mt is distributed in the hope that it will be useful,\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
- * GNU General Public License for more details.\r
- *\r
- * You should have received a copy of the GNU General Public License\r
- * along with rcracki_mt. If not, see <http://www.gnu.org/licenses/>.\r
- */\r
-\r
-#ifndef _CHAINWALKSET_H\r
-#define _CHAINWALKSET_H\r
-\r
-#include "Public.h"\r
-\r
-struct ChainWalk\r
-{\r
- unsigned char Hash[MAX_HASH_LEN];\r
- //int nHashLen; // Implied\r
- uint64* pIndexE; // mapStartPosIndexE, Len = nRainbowChainLen - 1\r
-};\r
-\r
-class CChainWalkSet\r
-{\r
-public:\r
- CChainWalkSet();\r
- virtual ~CChainWalkSet();\r
-\r
-private:\r
- string m_sHashRoutineName; // Discard all if not match\r
- string m_sPlainCharsetName; // Discard all if not match\r
- int m_nPlainLenMin; // Discard all if not match\r
- int m_nPlainLenMax; // Discard all if not match\r
- int m_nRainbowTableIndex; // Discard all if not match\r
- int m_nRainbowChainLen; // Discard all if not match\r
- list<ChainWalk> m_lChainWalk;\r
- bool debug;\r
- string sPrecalcPathName;\r
- int preCalcPart;\r
- vector<string> vPrecalcFiles;\r
-\r
-private:\r
- void DiscardAll();\r
- bool FindInFile(uint64* pIndexE, unsigned char* pHash, int nHashLen);\r
- string CheckOrRotatePreCalcFile();\r
- void updateUsedPrecalcFiles();\r
-\r
-public:\r
- uint64* RequestWalk(unsigned char* pHash, int nHashLen,\r
- string sHashRoutineName,\r
- string sPlainCharsetName, int nPlainLenMin, int nPlainLenMax, \r
- int nRainbowTableIndex, \r
- int nRainbowChainLen,\r
- bool& fNewlyGenerated,\r
- bool setDebug,\r
- string sPrecalc);\r
- void DiscardWalk(uint64* pIndexE);\r
- void StoreToFile(uint64* pIndexE, unsigned char* pHash, int nHashLen);\r
- void removePrecalcFiles();\r
-};\r
-\r
-#endif\r
+/*
+ * rcracki_mt is a multithreaded implementation and fork of the original
+ * RainbowCrack
+ *
+ * Copyright (C) Zhu Shuanglei <shuanglei@hotmail.com>
+ * Copyright Martin Westergaard Jørgensen <martinwj2005@gmail.com>
+ * Copyright 2009, 2010 Daniël Niggebrugge <niggebrugge@fox-it.com>
+ * Copyright 2009, 2010 James Nobis <frt@quelrod.net>
+ *
+ * This file is part of rcracki_mt.
+ *
+ * rcracki_mt is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * rcracki_mt is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with rcracki_mt. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef _CHAINWALKSET_H
+#define _CHAINWALKSET_H
+
+#include "Public.h"
+
+struct ChainWalk
+{
+ unsigned char Hash[MAX_HASH_LEN];
+ //int nHashLen; // Implied
+ uint64* pIndexE; // mapStartPosIndexE, Len = nRainbowChainLen - 1
+};
+
+class CChainWalkSet
+{
+public:
+ CChainWalkSet();
+ virtual ~CChainWalkSet();
+
+private:
+ string m_sHashRoutineName; // Discard all if not match
+ string m_sPlainCharsetName; // Discard all if not match
+ int m_nPlainLenMin; // Discard all if not match
+ int m_nPlainLenMax; // Discard all if not match
+ int m_nRainbowTableIndex; // Discard all if not match
+ int m_nRainbowChainLen; // Discard all if not match
+ list<ChainWalk> m_lChainWalk;
+ bool debug;
+ string sPrecalcPathName;
+ int preCalcPart;
+ vector<string> vPrecalcFiles;
+
+private:
+ void DiscardAll();
+ bool FindInFile(uint64* pIndexE, unsigned char* pHash, int nHashLen);
+ string CheckOrRotatePreCalcFile();
+ void updateUsedPrecalcFiles();
+
+public:
+ uint64* RequestWalk(unsigned char* pHash, int nHashLen,
+ string sHashRoutineName,
+ string sPlainCharsetName, int nPlainLenMin, int nPlainLenMax,
+ int nRainbowTableIndex,
+ int nRainbowChainLen,
+ bool& fNewlyGenerated,
+ bool setDebug,
+ string sPrecalc);
+ void DiscardWalk(uint64* pIndexE);
+ void StoreToFile(uint64* pIndexE, unsigned char* pHash, int nHashLen);
+ void removePrecalcFiles();
+};
+
+#endif