]> git.sesse.net Git - freerainbowtables/blobdiff - Client Applications/rcracki_mt/ChainWalkContext.h
remove old deprecated rcracki
[freerainbowtables] / Client Applications / rcracki_mt / ChainWalkContext.h
index e7aea41549afcb29d0d41c752aea261f13d6f4c3..566f9f2cd4bc77b71040c8e2d38b2a0bb3d571d3 100644 (file)
-/*
-   RainbowCrack - a general propose implementation of Philippe Oechslin's faster time-memory trade-off technique.
-
-   Copyright (C) Zhu Shuanglei <shuanglei@hotmail.com>
-*/
-
-#ifndef _CHAINWALKCONTEXT_H
-#define _CHAINWALKCONTEXT_H
-
-#include "HashRoutine.h"
-#include "Public.h"
-
-typedef struct 
-{
-       unsigned char m_PlainCharset[255];
-       int m_nPlainCharsetLen;
-       int m_nPlainLenMin;
-       int m_nPlainLenMax;
-       string m_sPlainCharsetName;
-       string m_sPlainCharsetContent;
-} stCharset;
-class CChainWalkContext 
-{
-public:
-       CChainWalkContext();
-       virtual ~CChainWalkContext();
-
-private:
-       static string m_sHashRoutineName;       
-       static HASHROUTINE m_pHashRoutine;                                                      // Configuration
-       static int m_nHashLen;                                                                          // Configuration
-       static bool isOldRtFormat;
-       static bool isNewRtFormat;
-       static vector<stCharset> m_vCharset;
-       static int m_nPlainLenMinTotal, m_nPlainLenMaxTotal;
-       static uint64 m_nPlainSpaceUpToX[MAX_PLAIN_LEN + 1];            // Performance consideration
-       static uint64 m_nPlainSpaceTotal;                                                       // Performance consideration
-       static int m_nHybridCharset;
-       static int m_nRainbowTableIndex;                                                        // Configuration
-       static uint64 m_nReduceOffset;                                                          // Performance consideration
-
-       // Context
-       uint64 m_nIndex;
-       unsigned char m_Plain[MAX_PLAIN_LEN];
-       int m_nPlainLen;
-       unsigned char m_Hash[MAX_HASH_LEN];
-       static unsigned char m_Salt[MAX_SALT_LEN];
-       static int m_nSaltLen;
-private:
-       static bool LoadCharset(string sCharset);
-
-public:
-       static bool SetHashRoutine(string sHashRoutineName);                                                                                            // Configuration
-       static bool SetPlainCharset(string sCharsetName, int nPlainLenMin, int nPlainLenMax);                           // Configuration
-       static bool SetRainbowTableIndex(int nRainbowTableIndex);       
-       static bool SetSalt(unsigned char *Salt, int nSaltLength);// Configuration
-       static bool SetupWithPathName(string sPathName, int& nRainbowChainLen, int& nRainbowChainCount);        // Wrapper
-       static string GetHashRoutineName();
-       static int GetHashLen();
-       static string GetPlainCharsetName();
-       static string GetPlainCharsetContent();
-       static int GetPlainLenMin();
-       static int GetPlainLenMax();
-       static uint64 GetPlainSpaceTotal();
-       static int GetRainbowTableIndex();
-       static void Dump();
-       static bool isOldFormat();
-       static bool isNewFormat();
-
-       void SetIndex(uint64 nIndex);
-       void SetHash(unsigned char* pHash);             // The length should be m_nHashLen
-
-       void IndexToPlain();
-       void PlainToHash();
-       void HashToIndex(int nPos);
-
-       uint64 GetIndex();
-       const uint64* GetIndexPtr();
-       string GetPlain();
-       string GetBinary();
-       string GetHash();
-       bool CheckHash(unsigned char* pHash);   // The length should be m_nHashLen
-};
-
-#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 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 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 _CHAINWALKCONTEXT_H\r
+#define _CHAINWALKCONTEXT_H\r
+\r
+#include "HashRoutine.h"\r
+#include "Public.h"\r
+\r
+typedef struct \r
+{\r
+       unsigned char m_PlainCharset[255];\r
+       unsigned int m_nPlainCharsetLen;\r
+       int m_nPlainLenMin;\r
+       int m_nPlainLenMax;\r
+       string m_sPlainCharsetName;\r
+       string m_sPlainCharsetContent;\r
+} stCharset;\r
+class CChainWalkContext \r
+{\r
+public:\r
+       CChainWalkContext();\r
+       virtual ~CChainWalkContext();\r
+\r
+private:\r
+       static string m_sHashRoutineName;       \r
+       static HASHROUTINE m_pHashRoutine;                                                      // Configuration\r
+       static int m_nHashLen;                                                                          // Configuration\r
+       static bool isOldRtFormat;\r
+       static bool isRti2RtFormat;\r
+       static vector<stCharset> m_vCharset;\r
+       static int m_nPlainLenMinTotal, m_nPlainLenMaxTotal;\r
+       static uint64 m_nPlainSpaceUpToX[MAX_PLAIN_LEN + 1];            // Performance consideration\r
+       static uint64 m_nPlainSpaceTotal;                                                       // Performance consideration\r
+       static int m_nHybridCharset;\r
+       static int m_nRainbowTableIndex;                                                        // Configuration\r
+       static uint64 m_nReduceOffset;                                                          // Performance consideration\r
+\r
+       // Context\r
+       uint64 m_nIndex;\r
+       unsigned char m_Plain[MAX_PLAIN_LEN];\r
+       int m_nPlainLen;\r
+       unsigned char m_Hash[MAX_HASH_LEN];\r
+       static unsigned char m_Salt[MAX_SALT_LEN];\r
+       static int m_nSaltLen;\r
+private:\r
+       static bool LoadCharset(string sCharset);\r
+\r
+public:\r
+       static bool SetHashRoutine(string sHashRoutineName);                                                                                            // Configuration\r
+       static bool SetPlainCharset(string sCharsetName, int nPlainLenMin, int nPlainLenMax);                           // Configuration\r
+       static bool SetRainbowTableIndex(int nRainbowTableIndex);       \r
+       static bool SetSalt(unsigned char *Salt, int nSaltLength);// Configuration\r
+       static bool SetupWithPathName(string sPathName, int& nRainbowChainLen, int& nRainbowChainCount);        // Wrapper\r
+       static string GetHashRoutineName();\r
+       static int GetHashLen();\r
+       static string GetPlainCharsetName();\r
+       static string GetPlainCharsetContent();\r
+       static int GetPlainLenMin();\r
+       static int GetPlainLenMax();\r
+       static uint64 GetPlainSpaceTotal();\r
+       static int GetRainbowTableIndex();\r
+       static void Dump();\r
+       static bool isOldFormat();\r
+       static bool isRti2Format();\r
+\r
+\r
+       void SetIndex(uint64 nIndex);\r
+       void SetHash(unsigned char* pHash);             // The length should be m_nHashLen\r
+\r
+       void IndexToPlain();\r
+       void PlainToHash();\r
+       void HashToIndex(int nPos);\r
+\r
+       uint64 GetIndex();\r
+       const uint64* GetIndexPtr();\r
+       string GetPlain();\r
+       string GetBinary();\r
+       string GetHash();\r
+       bool CheckHash(unsigned char* pHash);   // The length should be m_nHashLen\r
+};\r
+\r
+#endif\r