]> git.sesse.net Git - freerainbowtables/blobdiff - Client Applications/rcracki_mt/CrackEngine.h
remove old deprecated rcracki
[freerainbowtables] / Client Applications / rcracki_mt / CrackEngine.h
index e69bb0f3726fddb7b7666d0cd97ddf8bd8d1c8be..5826e7fe48bb118ac4c8b530c46dd8903ac25585 100644 (file)
@@ -1,75 +1,98 @@
-/*
-   RainbowCrack - a general propose implementation of Philippe Oechslin's faster time-memory trade-off technique.
-
-   Copyright (C) Zhu Shuanglei <shuanglei@hotmail.com>
-*/
-
-#ifndef _CRACKENGINE_H
-#define _CRACKENGINE_H
-
-#include "Public.h"
-#include "HashSet.h"
-#include "ChainWalkContext.h"
-#include "MemoryPool.h"
-#include "ChainWalkSet.h"
-#include "rcrackiThread.h"
-#ifdef _WIN32
-#include <conio.h>
-#include <windows.h>
-#endif
-#include <pthread.h>
-
-class CCrackEngine
-{
-public:
-       CCrackEngine();
-       virtual ~CCrackEngine();
-
-private:
-       CChainWalkSet m_cws;
-       int maxThreads;
-       bool writeOutput;
-       bool resumeSession;
-       string outputFile;
-       string sSessionPathName;
-       string sProgressPathName;
-       string sPrecalcPathName;
-       //string sPrecalcIndexPathName;
-       bool debug;
-       bool keepPrecalcFiles;
-
-       // Statistics
-       float m_fTotalDiskAccessTime;
-       float m_fTotalCryptanalysisTime;
-       int m_nTotalChainWalkStep;
-       int m_nTotalFalseAlarm;
-       int m_nTotalChainWalkStepDueToFalseAlarm;
-       FILE *m_fChains;
-
-private:
-       void ResetStatistics();
-       RainbowChain *BinarySearch(RainbowChain *pChain, int nChainCountRead, uint64 nIndex, IndexChain *pIndex, int nIndexSize, int nIndexStart);
-       int BinarySearchOld(RainbowChainO* pChain, int nRainbowChainCount, uint64 nIndex);
-       void GetChainIndexRangeWithSameEndpoint(RainbowChainO* pChain,
-                                                                                   int nRainbowChainCount,
-                                                                                   int nChainIndex,
-                                                                                   int& nChainIndexFrom,
-                                                                                   int& nChainIndexTo);
-       void SearchTableChunk(RainbowChain* pChain, int nRainbowChainLen, int nRainbowChainCount, CHashSet& hs, IndexChain *pIndex, int nIndexSize, int nChainStart);
-       void SearchTableChunkOld(RainbowChainO* pChain, int nRainbowChainLen, int nRainbowChainCount, CHashSet& hs);
-       //bool CheckAlarm(RainbowChain* pChain, int nGuessedPos, unsigned char* pHash, CHashSet& hs);
-       //bool CheckAlarmOld(RainbowChainO* pChain, int nGuessedPos, unsigned char* pHash, CHashSet& hs);
-
-public:
-       void SearchRainbowTable(string sPathName, CHashSet& hs);
-       void Run(vector<string> vPathName, CHashSet& hs, int i_maxThreads, bool resume, bool bDebug);
-       float GetStatTotalDiskAccessTime();
-       float GetStatTotalCryptanalysisTime();
-       int   GetStatTotalChainWalkStep();
-       int   GetStatTotalFalseAlarm();
-       int   GetStatTotalChainWalkStepDueToFalseAlarm();
-       void setOutputFile(string sPathName);
-       void setSession(string sSessionPathName, string sProgressPathName, string sPrecalcPathName, bool keepPrecalc);
-};
-
-#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
+ * Copyright 2010 uroskn\r
+ *\r
+ * This file is part of racrcki_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 _CRACKENGINE_H\r
+#define _CRACKENGINE_H\r
+\r
+#include "Public.h"\r
+#include "HashSet.h"\r
+#include "ChainWalkContext.h"\r
+#include "MemoryPool.h"\r
+#include "ChainWalkSet.h"\r
+#include "rcrackiThread.h"\r
+#ifdef _WIN32\r
+#include <conio.h>\r
+#include <windows.h>\r
+#endif\r
+#include <pthread.h>\r
+\r
+class CCrackEngine\r
+{\r
+public:\r
+       CCrackEngine();\r
+       virtual ~CCrackEngine();\r
+\r
+private:\r
+       CChainWalkSet m_cws;\r
+       int maxThreads;\r
+       uint64 maxMem;\r
+       bool writeOutput;\r
+       bool resumeSession;\r
+       string outputFile;\r
+       string sSessionPathName;\r
+       string sProgressPathName;\r
+       string sPrecalcPathName;\r
+       //string sPrecalcIndexPathName;\r
+       bool debug;\r
+       bool keepPrecalcFiles;\r
+\r
+       // Statistics\r
+       float m_fTotalDiskAccessTime;\r
+       float m_fTotalCryptanalysisTime;\r
+       float m_fTotalPrecalculationTime;\r
+       int m_nTotalChainWalkStep;\r
+       int m_nTotalFalseAlarm;\r
+       int m_nTotalChainWalkStepDueToFalseAlarm;\r
+       FILE *m_fChains;\r
+\r
+private:\r
+       void ResetStatistics();\r
+       RainbowChain *BinarySearch(RainbowChain *pChain, int nChainCountRead, uint64 nIndex, IndexChain *pIndex, int nIndexSize, int nIndexStart);\r
+       int BinarySearchOld(RainbowChainO* pChain, int nRainbowChainCount, uint64 nIndex);\r
+       void GetChainIndexRangeWithSameEndpoint(RainbowChainO* pChain,\r
+                                                                                   int nRainbowChainCount,\r
+                                                                                   int nChainIndex,\r
+                                                                                   int& nChainIndexFrom,\r
+                                                                                   int& nChainIndexTo);\r
+       void SearchTableChunk(RainbowChain* pChain, int nRainbowChainLen, int nRainbowChainCount, CHashSet& hs, IndexChain *pIndex, int nIndexSize, int nChainStart);\r
+       void SearchTableChunkOld(RainbowChainO* pChain, int nRainbowChainLen, int nRainbowChainCount, CHashSet& hs);\r
+       //bool CheckAlarm(RainbowChain* pChain, int nGuessedPos, unsigned char* pHash, CHashSet& hs);\r
+       //bool CheckAlarmOld(RainbowChainO* pChain, int nGuessedPos, unsigned char* pHash, CHashSet& hs);\r
+\r
+public:\r
+       void SearchRainbowTable(string sPathName, CHashSet& hs);\r
+       void Run(vector<string> vPathName, CHashSet& hs, int i_maxThreads, uint64 i_maxMem, bool resume, bool bDebug);\r
+       float GetStatTotalDiskAccessTime();\r
+       float GetStatTotalCryptanalysisTime();\r
+       float GetStatTotalPrecalculationTime();\r
+       int   GetStatTotalChainWalkStep();\r
+       int   GetStatTotalFalseAlarm();\r
+       int   GetStatTotalChainWalkStepDueToFalseAlarm();\r
+       void setOutputFile(string sPathName);\r
+       void setSession(string sSessionPathName, string sProgressPathName, string sPrecalcPathName, bool keepPrecalc);\r
+};\r
+\r
+#endif\r