-/*
- * 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
+/*\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