]> git.sesse.net Git - freerainbowtables/blobdiff - Client Applications/rcracki_mt/Public.h
(C)
[freerainbowtables] / Client Applications / rcracki_mt / Public.h
index 89bbc805ed981ff2bd10f27bf07e17f54f810c72..08943d4b836228c417201e3c802c7b07f52e932f 100644 (file)
-/*
- * 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
+/*\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, 2011 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
+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
+\r
+#endif\r
+\r
+#if defined(_WIN32) && !defined(__GNUC__)\r
+       int gettimeofday( struct timeval *tv, struct timezone *tz );\r
+#else\r
+       #include <sys/time.h>\r
+#endif\r
+\r
+timeval sub_timeofday( timeval tv2, timeval tv );\r
+\r
+long GetFileLen(FILE* file);\r
+string TrimString(string s);\r
+bool boinc_ReadLinesFromFile(string sPathName, vector<string>& vLine);\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
+unsigned long 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