]> git.sesse.net Git - freerainbowtables/blobdiff - Client Applications/rcracki_mt/Public.h
test
[freerainbowtables] / Client Applications / rcracki_mt / Public.h
index 27d4dcda5a99703a651412695d4cb4d9c4847371..89bbc805ed981ff2bd10f27bf07e17f54f810c72 100644 (file)
-/*\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 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, version 2 of the License.\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 _PUBLIC_H\r
-#define _PUBLIC_H\r
-\r
-#include <stdio.h>\r
-#include <stdlib.h>\r
-#include <string.h>\r
-\r
-#include <string>\r
-#include <vector>\r
-#include <list>\r
-\r
-#include "global.h"\r
-\r
-using namespace std;\r
-\r
-\r
-struct RainbowChainO\r
-{\r
-       uint64 nIndexS;\r
-       uint64 nIndexE;\r
-};\r
-//struct RainbowChain\r
-//{\r
-//     //uint64 nChain;\r
-//     uint64 nIndexS;\r
-//     int nIndexE;\r
-//     int nCheckPoint;\r
-//};\r
-union RainbowChain\r
-{\r
-       //uint64 nChain;\r
-       uint64 nIndexS; \r
-       struct\r
-       {\r
-               unsigned short foo[3];\r
-               unsigned short nIndexE;\r
-       };\r
-       //int nCheckPoint;\r
-};\r
-//struct RainbowChain\r
-//{\r
-//     uint64 nIndexS : 48;\r
-//     unsigned short nIndexE : 16;\r
-//};\r
-//struct IndexChain\r
-//{\r
-//     uint64 nPrefix;\r
-//     int nFirstChain;\r
-//     int nChainCount;\r
-//     //unsigned short nChainCount; //(maybe union with nPrefix, 1 byte spoiled)\r
-//};\r
-#pragma pack(1)\r
-union IndexChain\r
-{\r
-       uint64 nPrefix; //5\r
-       struct\r
-       {\r
-               unsigned char foo[5];\r
-               int nFirstChain; //4\r
-               unsigned short nChainCount; //2\r
-       };\r
-       //unsigned short nChainCount; (maybe union with nPrefix, 1 byte spoiled, no pack(1) needed)\r
-};\r
-#pragma pack()\r
-typedef struct\r
-{\r
-       string sName;\r
-       int nPlainLenMin;\r
-       int nPlainLenMax;\r
-} tCharset;\r
-\r
-#define MAX_PLAIN_LEN 256\r
-#define MIN_HASH_LEN  8\r
-#define MAX_HASH_LEN  256\r
-#define MAX_SALT_LEN  256\r
-\r
-// XXX nmap is GPL2, will check newer releases regarding license\r
-// Code comes from nmap, used for the linux implementation of kbhit()\r
-#ifndef _WIN32\r
-#include <unistd.h>\r
-#include <termios.h>\r
-#include <fcntl.h>\r
-\r
-int tty_getchar();\r
-void tty_done();\r
-void tty_init();\r
-void tty_flush(void);\r
-// end nmap code\r
-#endif\r
-\r
-#if defined(_WIN32) && !defined(__GNUC__)\r
-       int gettimeofday( struct timeval *tv, struct timezone *tz );\r
-#endif\r
-\r
-#if !defined(_WIN32) || defined(__GNUC__)\r
-       #include <sys/time.h>\r
-#endif\r
-\r
-timeval sub_timeofday( timeval tv2, timeval tv );\r
-\r
-unsigned int GetFileLen(FILE* file);\r
-string TrimString(string s);\r
-bool ReadLinesFromFile(string sPathName, vector<string>& vLine);\r
-bool SeperateString(string s, string sSeperator, vector<string>& vPart);\r
-string uint64tostr(uint64 n);\r
-string uint64tohexstr(uint64 n);\r
-string HexToStr(const unsigned char* pData, int nLen);\r
-uint64 GetAvailPhysMemorySize();\r
-string GetApplicationPath();\r
-void ParseHash(string sHash, unsigned char* pHash, int& nHashLen);\r
-bool GetHybridCharsets(string sCharset, vector<tCharset>& vCharset);\r
-void Logo();\r
-bool writeResultLineToFile(string sOutputFile, string sHash, string sPlain, string sBinary);\r
-\r
-#endif\r
+/*
+ * rcracki_mt is a multithreaded implementation and fork of the original 
+ * RainbowCrack
+ *
+ * Copyright (C) Zhu Shuanglei <shuanglei@hotmail.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, version 2 of the License.
+ *
+ * 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 _PUBLIC_H
+#define _PUBLIC_H
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include <string>
+#include <vector>
+#include <list>
+
+#include "global.h"
+
+using namespace std;
+
+
+struct RainbowChainO
+{
+       uint64 nIndexS;
+       uint64 nIndexE;
+};
+//struct RainbowChain
+//{
+//     //uint64 nChain;
+//     uint64 nIndexS;
+//     int nIndexE;
+//     int nCheckPoint;
+//};
+union RainbowChain
+{
+       //uint64 nChain;
+       uint64 nIndexS; 
+       struct
+       {
+               unsigned short foo[3];
+               unsigned short nIndexE;
+       };
+       //int nCheckPoint;
+};
+//struct RainbowChain
+//{
+//     uint64 nIndexS : 48;
+//     unsigned short nIndexE : 16;
+//};
+//struct IndexChain
+//{
+//     uint64 nPrefix;
+//     int nFirstChain;
+//     int nChainCount;
+//     //unsigned short nChainCount; //(maybe union with nPrefix, 1 byte spoiled)
+//};
+#pragma pack(1)
+union IndexChain
+{
+       uint64 nPrefix; //5
+       struct
+       {
+               unsigned char foo[5];
+               int nFirstChain; //4
+               unsigned short nChainCount; //2
+       };
+       //unsigned short nChainCount; (maybe union with nPrefix, 1 byte spoiled, no pack(1) needed)
+};
+#pragma pack()
+typedef struct
+{
+       string sName;
+       int nPlainLenMin;
+       int nPlainLenMax;
+} tCharset;
+
+#define MAX_PLAIN_LEN 256
+#define MIN_HASH_LEN  8
+#define MAX_HASH_LEN  256
+#define MAX_SALT_LEN  256
+
+// XXX nmap is GPL2, will check newer releases regarding license
+// Code comes from nmap, used for the linux implementation of kbhit()
+#ifndef _WIN32
+#include <unistd.h>
+#include <termios.h>
+#include <fcntl.h>
+
+int tty_getchar();
+void tty_done();
+void tty_init();
+void tty_flush(void);
+// end nmap code
+#endif
+
+#if defined(_WIN32) && !defined(__GNUC__)
+       int gettimeofday( struct timeval *tv, struct timezone *tz );
+#endif
+
+#if !defined(_WIN32) || defined(__GNUC__)
+       #include <sys/time.h>
+#endif
+
+timeval sub_timeofday( timeval tv2, timeval tv );
+
+unsigned int GetFileLen(FILE* file);
+string TrimString(string s);
+bool ReadLinesFromFile(string sPathName, vector<string>& vLine);
+bool SeperateString(string s, string sSeperator, vector<string>& vPart);
+string uint64tostr(uint64 n);
+string uint64tohexstr(uint64 n);
+string HexToStr(const unsigned char* pData, int nLen);
+uint64 GetAvailPhysMemorySize();
+string GetApplicationPath();
+void ParseHash(string sHash, unsigned char* pHash, int& nHashLen);
+bool GetHybridCharsets(string sCharset, vector<tCharset>& vCharset);
+void Logo();
+bool writeResultLineToFile(string sOutputFile, string sHash, string sPlain, string sBinary);
+
+#endif