From 1f5948bf50f1eafad5ab3a4737f6eb3e492999e8 Mon Sep 17 00:00:00 2001 From: Martin Westergaard Jorgensen Date: Tue, 18 Aug 2009 08:40:30 +0200 Subject: [PATCH 1/1] rcracki_mt updated to rti2 --- .../rcracki_mt/BaseRTReader.cpp | 2 + Client Applications/rcracki_mt/BaseRTReader.h | 19 + .../rcracki_mt/ChainWalkContext.cpp | 612 +++++ .../rcracki_mt/ChainWalkContext.h | 85 + .../rcracki_mt/ChainWalkSet.cpp | 305 +++ Client Applications/rcracki_mt/ChainWalkSet.h | 58 + Client Applications/rcracki_mt/ChangeLog.txt | 52 + .../rcracki_mt/CrackEngine.cpp | 1291 ++++++++++ Client Applications/rcracki_mt/CrackEngine.h | 75 + .../rcracki_mt/HashAlgorithm.cpp | 414 +++ .../rcracki_mt/HashAlgorithm.h | 42 + .../rcracki_mt/HashRoutine.cpp | 78 + Client Applications/rcracki_mt/HashRoutine.h | 33 + Client Applications/rcracki_mt/HashSet.cpp | 164 ++ Client Applications/rcracki_mt/HashSet.h | 40 + Client Applications/rcracki_mt/Makefile | 5 + Client Applications/rcracki_mt/MemoryPool.cpp | 81 + Client Applications/rcracki_mt/MemoryPool.h | 26 + Client Applications/rcracki_mt/Public.cpp | 311 +++ Client Applications/rcracki_mt/Public.h | 118 + Client Applications/rcracki_mt/README.txt | 162 ++ Client Applications/rcracki_mt/RTI2Reader.cpp | 125 + Client Applications/rcracki_mt/RTI2Reader.h | 42 + .../rcracki_mt/RainbowCrack.cpp | 831 ++++++ Client Applications/rcracki_mt/charset.txt | 34 + Client Applications/rcracki_mt/fast_md5.cpp | 468 ++++ Client Applications/rcracki_mt/fast_md5.h | 23 + Client Applications/rcracki_mt/libeay32.dll | Bin 0 -> 996352 bytes Client Applications/rcracki_mt/libeay32.lib | Bin 0 -> 673762 bytes Client Applications/rcracki_mt/lm2ntlm.cpp | 2256 +++++++++++++++++ Client Applications/rcracki_mt/lm2ntlm.h | 55 + Client Applications/rcracki_mt/md4.cpp | 485 ++++ Client Applications/rcracki_mt/md4.h | 10 + Client Applications/rcracki_mt/pthreadVC2.dll | Bin 0 -> 86070 bytes Client Applications/rcracki_mt/pthreadVC2.lib | Bin 0 -> 29052 bytes .../rcracki_mt/rcrackiThread.cpp | 239 ++ .../rcracki_mt/rcrackiThread.h | 60 + Client Applications/rcracki_mt/rcracki_mt.exe | Bin 0 -> 289280 bytes Client Applications/rcracki_mt/rcracki_mt.ini | 33 + Client Applications/rcracki_mt/rcracki_mt.sln | 20 + Client Applications/rcracki_mt/rcracki_mt.suo | Bin 0 -> 9216 bytes .../rcracki_mt/rcracki_mt.vcproj | 317 +++ Client Applications/rcracki_mt/sha1.cpp | 355 +++ Client Applications/rcracki_mt/sha1.h | 1 + 44 files changed, 9327 insertions(+) create mode 100644 Client Applications/rcracki_mt/BaseRTReader.cpp create mode 100644 Client Applications/rcracki_mt/BaseRTReader.h create mode 100644 Client Applications/rcracki_mt/ChainWalkContext.cpp create mode 100644 Client Applications/rcracki_mt/ChainWalkContext.h create mode 100644 Client Applications/rcracki_mt/ChainWalkSet.cpp create mode 100644 Client Applications/rcracki_mt/ChainWalkSet.h create mode 100644 Client Applications/rcracki_mt/ChangeLog.txt create mode 100644 Client Applications/rcracki_mt/CrackEngine.cpp create mode 100644 Client Applications/rcracki_mt/CrackEngine.h create mode 100644 Client Applications/rcracki_mt/HashAlgorithm.cpp create mode 100644 Client Applications/rcracki_mt/HashAlgorithm.h create mode 100644 Client Applications/rcracki_mt/HashRoutine.cpp create mode 100644 Client Applications/rcracki_mt/HashRoutine.h create mode 100644 Client Applications/rcracki_mt/HashSet.cpp create mode 100644 Client Applications/rcracki_mt/HashSet.h create mode 100644 Client Applications/rcracki_mt/Makefile create mode 100644 Client Applications/rcracki_mt/MemoryPool.cpp create mode 100644 Client Applications/rcracki_mt/MemoryPool.h create mode 100644 Client Applications/rcracki_mt/Public.cpp create mode 100644 Client Applications/rcracki_mt/Public.h create mode 100644 Client Applications/rcracki_mt/README.txt create mode 100644 Client Applications/rcracki_mt/RTI2Reader.cpp create mode 100644 Client Applications/rcracki_mt/RTI2Reader.h create mode 100644 Client Applications/rcracki_mt/RainbowCrack.cpp create mode 100644 Client Applications/rcracki_mt/charset.txt create mode 100644 Client Applications/rcracki_mt/fast_md5.cpp create mode 100644 Client Applications/rcracki_mt/fast_md5.h create mode 100644 Client Applications/rcracki_mt/libeay32.dll create mode 100644 Client Applications/rcracki_mt/libeay32.lib create mode 100644 Client Applications/rcracki_mt/lm2ntlm.cpp create mode 100644 Client Applications/rcracki_mt/lm2ntlm.h create mode 100644 Client Applications/rcracki_mt/md4.cpp create mode 100644 Client Applications/rcracki_mt/md4.h create mode 100644 Client Applications/rcracki_mt/pthreadVC2.dll create mode 100644 Client Applications/rcracki_mt/pthreadVC2.lib create mode 100644 Client Applications/rcracki_mt/rcrackiThread.cpp create mode 100644 Client Applications/rcracki_mt/rcrackiThread.h create mode 100644 Client Applications/rcracki_mt/rcracki_mt.exe create mode 100644 Client Applications/rcracki_mt/rcracki_mt.ini create mode 100644 Client Applications/rcracki_mt/rcracki_mt.sln create mode 100644 Client Applications/rcracki_mt/rcracki_mt.suo create mode 100644 Client Applications/rcracki_mt/rcracki_mt.vcproj create mode 100644 Client Applications/rcracki_mt/sha1.cpp create mode 100644 Client Applications/rcracki_mt/sha1.h diff --git a/Client Applications/rcracki_mt/BaseRTReader.cpp b/Client Applications/rcracki_mt/BaseRTReader.cpp new file mode 100644 index 0000000..d762e26 --- /dev/null +++ b/Client Applications/rcracki_mt/BaseRTReader.cpp @@ -0,0 +1,2 @@ +#include "BaseRTReader.h" + diff --git a/Client Applications/rcracki_mt/BaseRTReader.h b/Client Applications/rcracki_mt/BaseRTReader.h new file mode 100644 index 0000000..4dbaf86 --- /dev/null +++ b/Client Applications/rcracki_mt/BaseRTReader.h @@ -0,0 +1,19 @@ +#ifndef __BASERTREADER_H__ +#define __BASERTREADER_H__ + +#include "Public.h" +#include +#ifdef WIN32 +#include +#endif +using namespace std; + +class BaseRTReader +{ +public: + virtual int ReadChains(unsigned int &numChains, RainbowChainO *pData) = 0; + virtual unsigned int GetChainsLeft() = 0; + +}; + +#endif diff --git a/Client Applications/rcracki_mt/ChainWalkContext.cpp b/Client Applications/rcracki_mt/ChainWalkContext.cpp new file mode 100644 index 0000000..f6e24b3 --- /dev/null +++ b/Client Applications/rcracki_mt/ChainWalkContext.cpp @@ -0,0 +1,612 @@ +/* + RainbowCrack - a general propose implementation of Philippe Oechslin's faster time-memory trade-off technique. + + Copyright (C) Zhu Shuanglei +*/ + +#ifdef _WIN32 + #pragma warning(disable : 4786 4267 4018) +#endif + +#include "ChainWalkContext.h" + +#include + +////////////////////////////////////////////////////////////////////// + +string CChainWalkContext::m_sHashRoutineName; +HASHROUTINE CChainWalkContext::m_pHashRoutine; +int CChainWalkContext::m_nHashLen; +int CChainWalkContext::m_nPlainLenMinTotal = 0; +int CChainWalkContext::m_nPlainLenMaxTotal = 0; +int CChainWalkContext::m_nHybridCharset = 0; +bool CChainWalkContext::isOldRtFormat = false; +bool CChainWalkContext::isNewRtFormat = false; +vector CChainWalkContext::m_vCharset; +uint64 CChainWalkContext::m_nPlainSpaceUpToX[MAX_PLAIN_LEN + 1]; +uint64 CChainWalkContext::m_nPlainSpaceTotal; +unsigned char CChainWalkContext::m_Salt[MAX_SALT_LEN]; +int CChainWalkContext::m_nSaltLen = 0; +int CChainWalkContext::m_nRainbowTableIndex; +uint64 CChainWalkContext::m_nReduceOffset; + +////////////////////////////////////////////////////////////////////// + +CChainWalkContext::CChainWalkContext() +{ +} + +CChainWalkContext::~CChainWalkContext() +{ +} + +bool CChainWalkContext::LoadCharset(string sName) +{ + m_vCharset.clear(); + if (sName == "byte") + { + stCharset tCharset; + int i; + for (i = 0x00; i <= 0xff; i++) + tCharset.m_PlainCharset[i] = i; + tCharset.m_nPlainCharsetLen = 256; + tCharset.m_sPlainCharsetName = sName; + tCharset.m_sPlainCharsetContent = "0x00, 0x01, ... 0xff"; + m_vCharset.push_back(tCharset); + return true; + } + if(sName.substr(0, 6) == "hybrid") // Hybrid charset consisting of 2 charsets + { + m_nHybridCharset = 1; + } + else + { + m_nHybridCharset = 0; + } + + bool readCharset = false; + vector vLine; + if (ReadLinesFromFile("charset.txt", vLine)) { + readCharset = true; + } + else if (ReadLinesFromFile(GetApplicationPath() + "charset.txt", vLine)) { + readCharset = true; + } + if (readCharset) + { + int i; + for (i = 0; i < vLine.size(); i++) + { + // Filter comment + if (vLine[i][0] == '#') + continue; + + vector vPart; + if (SeperateString(vLine[i], "=", vPart)) + { + // sCharsetName + string sCharsetName = TrimString(vPart[0]); + if (sCharsetName == "") + continue; + + // sCharsetName charset check + bool fCharsetNameCheckPass = true; + int j; + for (j = 0; j < sCharsetName.size(); j++) + { + if ( !isalpha(sCharsetName[j]) + && !isdigit(sCharsetName[j]) + && (sCharsetName[j] != '-')) + { + fCharsetNameCheckPass = false; + break; + } + } + if (!fCharsetNameCheckPass) + { + printf("invalid charset name %s in charset configuration file\n", sCharsetName.c_str()); + continue; + } + + // sCharsetContent + string sCharsetContent = TrimString(vPart[1]); + if (sCharsetContent == "" || sCharsetContent == "[]") + continue; + if (sCharsetContent[0] != '[' || sCharsetContent[sCharsetContent.size() - 1] != ']') + { + printf("invalid charset content %s in charset configuration file\n", sCharsetContent.c_str()); + continue; + } + sCharsetContent = sCharsetContent.substr(1, sCharsetContent.size() - 2); + if (sCharsetContent.size() > 256) + { + printf("charset content %s too long\n", sCharsetContent.c_str()); + continue; + } + + //printf("%s = [%s]\n", sCharsetName.c_str(), sCharsetContent.c_str()); + + // Is it the wanted charset? + if(m_nHybridCharset == 1) + { + vector vCharsets; + GetHybridCharsets(sName, vCharsets); + if(sCharsetName == vCharsets[m_vCharset.size()].sName) + { + stCharset tCharset = {0}; + tCharset.m_nPlainCharsetLen = sCharsetContent.size(); + memcpy(tCharset.m_PlainCharset, sCharsetContent.c_str(), tCharset.m_nPlainCharsetLen); + tCharset.m_sPlainCharsetName = sCharsetName; + tCharset.m_sPlainCharsetContent = sCharsetContent; + tCharset.m_nPlainLenMin = vCharsets[m_vCharset.size()].nPlainLenMin; + tCharset.m_nPlainLenMax = vCharsets[m_vCharset.size()].nPlainLenMax; + m_vCharset.push_back(tCharset); + if(vCharsets.size() == m_vCharset.size()) + return true; + i = 0; // Start the lookup over again for the next charset + } + } + else if (sCharsetName == sName) + { + stCharset tCharset; + tCharset.m_nPlainCharsetLen = sCharsetContent.size(); + memcpy(tCharset.m_PlainCharset, sCharsetContent.c_str(), tCharset.m_nPlainCharsetLen); + tCharset.m_sPlainCharsetName = sCharsetName; + tCharset.m_sPlainCharsetContent = sCharsetContent; + m_vCharset.push_back(tCharset); + return true; + } + } + } + printf("charset %s not found in charset.txt\n", sName.c_str()); + } + else + printf("can't open charset configuration file\n"); + return false; +} + +////////////////////////////////////////////////////////////////////// + +bool CChainWalkContext::SetHashRoutine(string sHashRoutineName) +{ + CHashRoutine hr; + hr.GetHashRoutine(sHashRoutineName, m_pHashRoutine, m_nHashLen); + if (m_pHashRoutine != NULL) + { + m_sHashRoutineName = sHashRoutineName; + return true; + } + else + return false; +} + +bool CChainWalkContext::SetPlainCharset(string sCharsetName, int nPlainLenMin, int nPlainLenMax) +{ + // m_PlainCharset, m_nPlainCharsetLen, m_sPlainCharsetName, m_sPlainCharsetContent + if (!LoadCharset(sCharsetName)) + return false; + + if(m_vCharset.size() == 1) // Not hybrid charset + { + // m_nPlainLenMin, m_nPlainLenMax + if (nPlainLenMin < 1 || nPlainLenMax > MAX_PLAIN_LEN || nPlainLenMin > nPlainLenMax) + { + printf("invalid plaintext length range: %d - %d\n", nPlainLenMin, nPlainLenMax); + return false; + } + m_vCharset[0].m_nPlainLenMin = nPlainLenMin; + m_vCharset[0].m_nPlainLenMax = nPlainLenMax; + } + // m_nPlainSpaceUpToX + m_nPlainSpaceUpToX[0] = 0; + m_nPlainLenMaxTotal = 0; + m_nPlainLenMinTotal = 0; + uint64 nTemp = 1; + int j, k = 1; + for(j = 0; j < m_vCharset.size(); j++) + { + int i; + m_nPlainLenMaxTotal += m_vCharset[j].m_nPlainLenMax; + m_nPlainLenMinTotal += m_vCharset[j].m_nPlainLenMin; + for (i = 1; i <= m_vCharset[j].m_nPlainLenMax; i++) + { + nTemp *= m_vCharset[j].m_nPlainCharsetLen; + if (i < m_vCharset[j].m_nPlainLenMin) + m_nPlainSpaceUpToX[k] = 0; + else + m_nPlainSpaceUpToX[k] = m_nPlainSpaceUpToX[k - 1] + nTemp; + k++; + } + } + // m_nPlainSpaceTotal + m_nPlainSpaceTotal = m_nPlainSpaceUpToX[m_nPlainLenMaxTotal]; + + return true; +} + +bool CChainWalkContext::SetRainbowTableIndex(int nRainbowTableIndex) +{ + if (nRainbowTableIndex < 0) + return false; + m_nRainbowTableIndex = nRainbowTableIndex; + m_nReduceOffset = 65536 * nRainbowTableIndex; + + return true; +} + +bool CChainWalkContext::SetSalt(unsigned char *Salt, int nSaltLength) +{ + memcpy(&m_Salt[0], Salt, nSaltLength); + + m_nSaltLen = nSaltLength; +// m_sSalt = sSalt; + return true; +} + +bool CChainWalkContext::SetupWithPathName(string sPathName, int& nRainbowChainLen, int& nRainbowChainCount) +{ + // something like lm_alpha#1-7_0_100x16_test.rt + +#ifdef _WIN32 + int nIndex = sPathName.find_last_of('\\'); +#else + int nIndex = sPathName.find_last_of('/'); +#endif + if (nIndex != -1) + sPathName = sPathName.substr(nIndex + 1); + + if (sPathName.size() < 3) + { + printf("%s is not a rainbow table\n", sPathName.c_str()); + return false; + } + if (sPathName.substr(sPathName.size() - 5) == ".rti2") + { + isNewRtFormat = true; + } + else if (sPathName.substr(sPathName.size() - 4) == ".rti") + { + isOldRtFormat = false; + } + else if (sPathName.substr(sPathName.size() - 3) == ".rt") + { + isOldRtFormat = true; + } + else + { + printf("%s is not a rainbow table\n", sPathName.c_str()); + return false; + } + + // Parse + vector vPart; + if (!SeperateString(sPathName, "___x_", vPart)) + { + printf("filename %s not identified\n", sPathName.c_str()); + return false; + } + + string sHashRoutineName = vPart[0]; + int nRainbowTableIndex = atoi(vPart[2].c_str()); + nRainbowChainLen = atoi(vPart[3].c_str()); + nRainbowChainCount = atoi(vPart[4].c_str()); + + // Parse charset definition + string sCharsetDefinition = vPart[1]; + string sCharsetName; + int nPlainLenMin = 0, nPlainLenMax = 0; + +// printf("Charset: %s", sCharsetDefinition.c_str()); + + if(sCharsetDefinition.substr(0, 6) == "hybrid") // Hybrid table + { + sCharsetName = sCharsetDefinition; + } + else + { + if (sCharsetDefinition.find('#') == -1) // For backward compatibility, "#1-7" is implied + { + sCharsetName = sCharsetDefinition; + nPlainLenMin = 1; + nPlainLenMax = 7; + } + else + { + vector vCharsetDefinitionPart; + if (!SeperateString(sCharsetDefinition, "#-", vCharsetDefinitionPart)) + { + printf("filename %s not identified\n", sPathName.c_str()); + return false; + } + else + { + sCharsetName = vCharsetDefinitionPart[0]; + nPlainLenMin = atoi(vCharsetDefinitionPart[1].c_str()); + nPlainLenMax = atoi(vCharsetDefinitionPart[2].c_str()); + } + } + } + // Setup + if (!SetHashRoutine(sHashRoutineName)) + { + printf("hash routine %s not supported\n", sHashRoutineName.c_str()); + return false; + } + if (!SetPlainCharset(sCharsetName, nPlainLenMin, nPlainLenMax)) + return false; + if (!SetRainbowTableIndex(nRainbowTableIndex)) + { + printf("invalid rainbow table index %d\n", nRainbowTableIndex); + return false; + } + m_nPlainSpaceTotal = m_nPlainSpaceUpToX[m_nPlainLenMaxTotal]; + return true; +} + +string CChainWalkContext::GetHashRoutineName() +{ + return m_sHashRoutineName; +} + +int CChainWalkContext::GetHashLen() +{ + return m_nHashLen; +} + +string CChainWalkContext::GetPlainCharsetName() +{ + return m_vCharset[0].m_sPlainCharsetName; +} + +string CChainWalkContext::GetPlainCharsetContent() +{ + return m_vCharset[0].m_sPlainCharsetContent; +} + +int CChainWalkContext::GetPlainLenMin() +{ + return m_vCharset[0].m_nPlainLenMin; +} + +int CChainWalkContext::GetPlainLenMax() +{ + return m_vCharset[0].m_nPlainLenMax; +} + +uint64 CChainWalkContext::GetPlainSpaceTotal() +{ + return m_nPlainSpaceTotal; +} + +int CChainWalkContext::GetRainbowTableIndex() +{ + return m_nRainbowTableIndex; +} + +void CChainWalkContext::Dump() +{ + printf("hash routine: %s\n", m_sHashRoutineName.c_str()); + printf("hash length: %d\n", m_nHashLen); + + printf("plain charset: "); + int i; + for (i = 0; i < m_vCharset[0].m_nPlainCharsetLen; i++) + { + if (isprint(m_vCharset[0].m_PlainCharset[i])) + printf("%c", m_vCharset[0].m_PlainCharset[i]); + else + printf("?"); + } + printf("\n"); + + printf("plain charset in hex: "); + for (i = 0; i < m_vCharset[0].m_nPlainCharsetLen; i++) + printf("%02x ", m_vCharset[0].m_PlainCharset[i]); + printf("\n"); + + printf("plain length range: %d - %d\n", m_vCharset[0].m_nPlainLenMin, m_vCharset[0].m_nPlainLenMax); + printf("plain charset name: %s\n", m_vCharset[0].m_sPlainCharsetName.c_str()); + //printf("plain charset content: %s\n", m_sPlainCharsetContent.c_str()); + //for (i = 0; i <= m_nPlainLenMax; i++) + // printf("plain space up to %d: %s\n", i, uint64tostr(m_nPlainSpaceUpToX[i]).c_str()); + printf("plain space total: %s\n", uint64tostr(m_nPlainSpaceTotal).c_str()); + + printf("rainbow table index: %d\n", m_nRainbowTableIndex); + printf("reduce offset: %s\n", uint64tostr(m_nReduceOffset).c_str()); + printf("\n"); +} + + +void CChainWalkContext::SetIndex(uint64 nIndex) +{ + m_nIndex = nIndex; +} + +void CChainWalkContext::SetHash(unsigned char* pHash) +{ + memcpy(m_Hash, pHash, m_nHashLen); +} + +void CChainWalkContext::IndexToPlain() +{ + int i; + m_nPlainLen = 0; + for (i = m_nPlainLenMaxTotal - 1; i >= m_nPlainLenMinTotal - 1; i--) + { + if (m_nIndex >= m_nPlainSpaceUpToX[i]) + { + m_nPlainLen = i + 1; + break; + } + } + if(m_nPlainLen == 0) + m_nPlainLen = m_nPlainLenMinTotal; + uint64 nIndexOfX = m_nIndex - m_nPlainSpaceUpToX[m_nPlainLen - 1]; + +// maybe this code should be used for some other 64 bit systems as well, added check for LP64 to try this +#if defined(_WIN64) || defined(_LP64) + + // Slow version + for (i = m_nPlainLen - 1; i >= 0; i--) + { + int nCharsetLen = 0; + for(int j = 0; j < m_vCharset.size(); i++) + { + nCharsetLen += m_vCharset[j].m_nPlainLenMax; + if(i < nCharsetLen) // We found the correct charset + { + m_Plain[i] = m_vCharset[j].m_PlainCharset[nIndexOfX % m_nPlainCharsetLen]; + nIndexOfX /= m_vCharset[j].m_nPlainCharsetLen; + } + } + } +#else + + + // Fast version + for (i = m_nPlainLen - 1; i >= 0; i--) + { +#ifdef _WIN32 + if (nIndexOfX < 0x100000000I64) + break; +#else + if (nIndexOfX < 0x100000000llu) + break; +#endif + int nCharsetLen = 0; + for(int j = 0; j < m_vCharset.size(); j++) + { + nCharsetLen += m_vCharset[j].m_nPlainLenMax; + if(i < nCharsetLen) // We found the correct charset + { + m_Plain[i] = m_vCharset[j].m_PlainCharset[nIndexOfX % m_vCharset[j].m_nPlainCharsetLen]; + nIndexOfX /= m_vCharset[j].m_nPlainCharsetLen; + break; + } + } + } + + unsigned int nIndexOfX32 = (unsigned int)nIndexOfX; + for (; i >= 0; i--) + { + int nCharsetLen = 0; + for(int j = 0; j < m_vCharset.size(); j++) + { + nCharsetLen += m_vCharset[j].m_nPlainLenMax; + if(i < nCharsetLen) // We found the correct charset + { + +// m_Plain[i] = m_PlainCharset[nIndexOfX32 % m_vCharset[j].m_nPlainCharsetLen]; +// nIndexOfX32 /= m_vCharset[j].m_nPlainCharsetLen; + + unsigned int nPlainCharsetLen = m_vCharset[j].m_nPlainCharsetLen; + unsigned int nTemp; +#ifdef _WIN32 + __asm + { + mov eax, nIndexOfX32 + xor edx, edx + div nPlainCharsetLen + mov nIndexOfX32, eax + mov nTemp, edx + } + m_Plain[i] = m_vCharset[j].m_PlainCharset[nTemp]; +#else + __asm__ __volatile__ ( "mov %2, %%eax;" + "xor %%edx, %%edx;" + "divl %3;" + "mov %%eax, %0;" + "mov %%edx, %1;" + : "=m"(nIndexOfX32), "=m"(nTemp) + : "m"(nIndexOfX32), "m"(nPlainCharsetLen) + : "%eax", "%edx" + ); + m_Plain[i] = m_vCharset[j].m_PlainCharset[nTemp]; +#endif + break; + } + } + } +#endif +} + +void CChainWalkContext::PlainToHash() +{ + m_pHashRoutine(m_Plain, m_nPlainLen, m_Hash); +} + +void CChainWalkContext::HashToIndex(int nPos) +{ + m_nIndex = (*(uint64*)m_Hash + m_nReduceOffset + nPos) % m_nPlainSpaceTotal; +} + +uint64 CChainWalkContext::GetIndex() +{ + return m_nIndex; +} +const uint64 *CChainWalkContext::GetIndexPtr() +{ + return &m_nIndex; +} + +string CChainWalkContext::GetPlain() +{ + string sRet; + int i; + for (i = 0; i < m_nPlainLen; i++) + { + char c = m_Plain[i]; + //if (c >= 32 && c <= 126) + //if (c >= 32) + sRet += c; + //else + // sRet += '?'; + } + + return sRet; +} + +string CChainWalkContext::GetBinary() +{ + return HexToStr(m_Plain, m_nPlainLen); +} +/* +string CChainWalkContext::GetPlainBinary() +{ + string sRet; + sRet += GetPlain(); + int i; + for (i = 0; i < m_nPlainLenMax - m_nPlainLen; i++) + sRet += ' '; + + sRet += "|"; + + sRet += GetBinary(); + for (i = 0; i < m_nPlainLenMax - m_nPlainLen; i++) + sRet += " "; + + return sRet; +} +*/ +string CChainWalkContext::GetHash() +{ + return HexToStr(m_Hash, m_nHashLen); +} + +bool CChainWalkContext::CheckHash(unsigned char* pHash) +{ + if (memcmp(m_Hash, pHash, m_nHashLen) == 0) + return true; + + return false; +} + +bool CChainWalkContext::isOldFormat() +{ + return isOldRtFormat; +} +bool CChainWalkContext::isNewFormat() +{ + return isNewRtFormat; +} + diff --git a/Client Applications/rcracki_mt/ChainWalkContext.h b/Client Applications/rcracki_mt/ChainWalkContext.h new file mode 100644 index 0000000..e7aea41 --- /dev/null +++ b/Client Applications/rcracki_mt/ChainWalkContext.h @@ -0,0 +1,85 @@ +/* + RainbowCrack - a general propose implementation of Philippe Oechslin's faster time-memory trade-off technique. + + Copyright (C) Zhu Shuanglei +*/ + +#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 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 diff --git a/Client Applications/rcracki_mt/ChainWalkSet.cpp b/Client Applications/rcracki_mt/ChainWalkSet.cpp new file mode 100644 index 0000000..3069fee --- /dev/null +++ b/Client Applications/rcracki_mt/ChainWalkSet.cpp @@ -0,0 +1,305 @@ +/* + RainbowCrack - a general propose implementation of Philippe Oechslin's faster time-memory trade-off technique. + + Copyright (C) Zhu Shuanglei +*/ + +#ifdef _WIN32 + #pragma warning(disable : 4786) +#endif + +#include "ChainWalkSet.h" + +CChainWalkSet::CChainWalkSet() +{ + m_sHashRoutineName = ""; + m_sPlainCharsetName = ""; + m_nPlainLenMin = 0; + m_nPlainLenMax = 0; + m_nRainbowTableIndex = 0; + m_nRainbowChainLen = 0; + debug = false; + sPrecalcPathName = ""; + preCalcPart = 0; +} + +CChainWalkSet::~CChainWalkSet() +{ + DiscardAll(); +} + +void CChainWalkSet::DiscardAll() +{ + //printf("debug: discarding all walk...\n"); + + list::iterator it; + for (it = m_lChainWalk.begin(); it != m_lChainWalk.end(); it++) + delete it->pIndexE; + m_lChainWalk.clear(); +} + +string CChainWalkSet::CheckOrRotatePreCalcFile() +{ + char sPreCalcFileName[255]; + + // 255 files limit to be sure + for (; preCalcPart < 255; preCalcPart++) + { + sprintf(sPreCalcFileName, "%s.%d", sPrecalcPathName.c_str(), preCalcPart); + string sReturnPreCalcPath(sPreCalcFileName); + + unsigned int fileLen = 0; + + FILE* file = fopen(sReturnPreCalcPath.c_str(), "ab"); + if(file!=NULL) + { + fileLen = GetFileLen(file); + unsigned int nextFileLen = fileLen + (sizeof(uint64) * (m_nRainbowChainLen-1)); + // Rotate to next file if we are going to pass 2GB filesize + if (nextFileLen < ((unsigned)2 * 1024 * 1024 * 1024)) + { + // We might want to vPrecalcFiles.push_back(sReturnPreCalcPath) if we just created this file + // We don't as only newly generated chainwalksets will be stored to this new file, so we don't have to look there + if (debug) printf("Debug: Using for precalc: %s\n", sReturnPreCalcPath.c_str()); + fclose(file); + return sReturnPreCalcPath; + } + fclose(file); + } + } +} + +void CChainWalkSet::updateUsedPrecalcFiles() +{ + // we might also use this function to search a wildcard path of precalc files + vPrecalcFiles.clear(); + char sPreCalcFileName[255]; + + int i; + // 255 files max + for (i = 0; i < 255; i++) + { + sprintf(sPreCalcFileName, "%s.%d", sPrecalcPathName.c_str(), i); + string sTryPreCalcPath(sPreCalcFileName); + FILE* file = fopen(sTryPreCalcPath.c_str(), "rb"); + if(file!=NULL) { + vPrecalcFiles.push_back(sTryPreCalcPath); + fclose(file); + } + else { + break; + } + } +} + +void CChainWalkSet::removePrecalcFiles() +{ + if (debug) printf("Debug: Removing precalc files.\n"); + updateUsedPrecalcFiles(); + string sCurrentPrecalcPathName = ""; + string sCurrentPrecalcIndexPathName = ""; + + int i; + for (i = 0; i < (int)vPrecalcFiles.size(); i++) + { + sCurrentPrecalcPathName = vPrecalcFiles[i]; + sCurrentPrecalcIndexPathName = sCurrentPrecalcPathName + ".index"; + + if (debug) printf("Debug: Removing precalc file: %s\n", sCurrentPrecalcPathName.c_str()); + + if (remove(sCurrentPrecalcPathName.c_str()) != 0) + if (debug) printf("Debug: Failed removing precalc file: %s\n", sCurrentPrecalcPathName.c_str()); + + if (debug) printf("Debug: Removing precalc index file: %s\n", sCurrentPrecalcIndexPathName.c_str()); + + if (remove(sCurrentPrecalcIndexPathName.c_str()) != 0) + if (debug) printf("Debug: Failed removing precalc index file: %s\n", sCurrentPrecalcIndexPathName.c_str()); + + } +} + +bool CChainWalkSet::FindInFile(uint64* pIndexE, unsigned char* pHash, int nHashLen) +{ + int gotPrecalcOnLine = -1; + char precalculationLine[255]; + sprintf(precalculationLine, "%s_%s#%d-%d_%d_%d:%s\n", m_sHashRoutineName.c_str(), m_sPlainCharsetName.c_str(), m_nPlainLenMin, m_nPlainLenMax, m_nRainbowTableIndex, m_nRainbowChainLen, HexToStr(pHash, nHashLen).c_str() ); + string precalcString(precalculationLine); + + string sCurrentPrecalcPathName = ""; + string sCurrentPrecalcIndexPathName = ""; + int offset; + + int i; + for (i = 0; i < (int)vPrecalcFiles.size() && gotPrecalcOnLine == -1; i++) + { + sCurrentPrecalcPathName = vPrecalcFiles[i]; + sCurrentPrecalcIndexPathName = sCurrentPrecalcPathName + ".index"; + + offset = 0; + + vector precalcLines; + if (ReadLinesFromFile(sCurrentPrecalcIndexPathName.c_str(), precalcLines)) + { + int j; + for (j = 0; j < (int)precalcLines.size(); j++) + { + if (precalcString.compare(0, precalcString.size()-1, precalcLines[j]) == 0) + { + gotPrecalcOnLine = j; + break; + } + + // Parse + vector vPart; + if (SeperateString(precalcLines[j], "___:", vPart)) + { + // add to offset + offset += ((atoi(vPart[3].c_str())-1) * sizeof(uint64)); + } + else { + // corrupt file + printf("Corrupted precalculation file!\n"); + gotPrecalcOnLine = -1; + break; + } + } + } + } + + if (gotPrecalcOnLine > -1) + { + if (debug) printf("Debug: Reading pre calculations from file, line %d offset %d\n", gotPrecalcOnLine, offset); + + FILE* fp = fopen(sCurrentPrecalcPathName.c_str(), "rb"); + + if (fp!=NULL) { + fseek(fp, offset, SEEK_SET); + + // We should do some verification here, for example by recalculating the middle chain, to catch corrupted files + if(fread(pIndexE, sizeof(uint64), m_nRainbowChainLen-1, fp) != m_nRainbowChainLen-1) + printf("File read error."); + fclose(fp); + } + else + printf("Cannot open precalculation file %s.\n", sCurrentPrecalcPathName.c_str()); + + //printf("\npIndexE[0]: %s\n", uint64tostr(pIndexE[0]).c_str()); + //printf("\npIndexE[nRainbowChainLen-2]: %s\n", uint64tostr(pIndexE[m_nRainbowChainLen-2]).c_str()); + + return true; + } + + return false; + +} + +void CChainWalkSet::StoreToFile(uint64* pIndexE, unsigned char* pHash, int nHashLen) +{ + if (debug) printf("\nDebug: Storing precalc\n"); + + string sCurrentPrecalcPathName = CheckOrRotatePreCalcFile(); + string sCurrentPrecalcIndexPathName = sCurrentPrecalcPathName + ".index"; + + FILE* fp = fopen(sCurrentPrecalcPathName.c_str(), "ab"); + if(fp!=NULL) + { + if(fwrite(pIndexE, sizeof(uint64), m_nRainbowChainLen-1, fp) != m_nRainbowChainLen-1) + printf("File write error."); + else + { + FILE* file = fopen(sCurrentPrecalcIndexPathName.c_str(), "a"); + if (file!=NULL) + { + char precalculationLine[255]; + sprintf(precalculationLine, "%s_%s#%d-%d_%d_%d:%s\n", m_sHashRoutineName.c_str(), m_sPlainCharsetName.c_str(), m_nPlainLenMin, m_nPlainLenMax, m_nRainbowTableIndex, m_nRainbowChainLen, HexToStr(pHash, nHashLen).c_str() ); + fputs (precalculationLine, file); + fclose (file); + } + } + fclose(fp); + } + else + printf("Cannot open precalculation file %s\n", sCurrentPrecalcPathName.c_str()); + +} + +uint64* CChainWalkSet::RequestWalk(unsigned char* pHash, int nHashLen, + string sHashRoutineName, + string sPlainCharsetName, int nPlainLenMin, int nPlainLenMax, + int nRainbowTableIndex, + int nRainbowChainLen, + bool& fNewlyGenerated, + bool setDebug, + string sPrecalc) +{ + debug = setDebug; + sPrecalcPathName = sPrecalc; + + if ( m_sHashRoutineName != sHashRoutineName + || m_sPlainCharsetName != sPlainCharsetName + || m_nPlainLenMin != nPlainLenMin + || m_nPlainLenMax != nPlainLenMax + || m_nRainbowTableIndex != nRainbowTableIndex + || m_nRainbowChainLen != nRainbowChainLen) + { + DiscardAll(); + + m_sHashRoutineName = sHashRoutineName; + m_sPlainCharsetName = sPlainCharsetName; + m_nPlainLenMin = nPlainLenMin; + m_nPlainLenMax = nPlainLenMax; + m_nRainbowTableIndex = nRainbowTableIndex; + m_nRainbowChainLen = nRainbowChainLen; + + ChainWalk cw; + memcpy(cw.Hash, pHash, nHashLen); + cw.pIndexE = new uint64[nRainbowChainLen - 1]; + m_lChainWalk.push_back(cw); + + // Only update this list when we search through another rainbow table + updateUsedPrecalcFiles(); + + if (!FindInFile(cw.pIndexE, pHash, nHashLen)) + fNewlyGenerated = true; + else + fNewlyGenerated = false; + return cw.pIndexE; + } + + list::iterator it; + for (it = m_lChainWalk.begin(); it != m_lChainWalk.end(); it++) + { + if (memcmp(it->Hash, pHash, nHashLen) == 0) + { + fNewlyGenerated = false; + return it->pIndexE; + } + } + + ChainWalk cw; + memcpy(cw.Hash, pHash, nHashLen); + cw.pIndexE = new uint64[nRainbowChainLen - 1]; + m_lChainWalk.push_back(cw); + + if (!FindInFile(cw.pIndexE, pHash, nHashLen)) + fNewlyGenerated = true; + else + fNewlyGenerated = false; + return cw.pIndexE; +} + +void CChainWalkSet::DiscardWalk(uint64* pIndexE) +{ + list::iterator it; + for (it = m_lChainWalk.begin(); it != m_lChainWalk.end(); it++) + { + if (it->pIndexE == pIndexE) + { + delete it->pIndexE; + m_lChainWalk.erase(it); + return; + } + } + + printf("debug: pIndexE not found\n"); +} diff --git a/Client Applications/rcracki_mt/ChainWalkSet.h b/Client Applications/rcracki_mt/ChainWalkSet.h new file mode 100644 index 0000000..05622cf --- /dev/null +++ b/Client Applications/rcracki_mt/ChainWalkSet.h @@ -0,0 +1,58 @@ +/* + RainbowCrack - a general propose implementation of Philippe Oechslin's faster time-memory trade-off technique. + + Copyright (C) Zhu Shuanglei +*/ + +#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 m_lChainWalk; + bool debug; + string sPrecalcPathName; + int preCalcPart; + vector 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 diff --git a/Client Applications/rcracki_mt/ChangeLog.txt b/Client Applications/rcracki_mt/ChangeLog.txt new file mode 100644 index 0000000..0b07cd0 --- /dev/null +++ b/Client Applications/rcracki_mt/ChangeLog.txt @@ -0,0 +1,52 @@ +[rcracki_mt ChangeLog] + +0.6.2 (2 Juli 2009, 13:37): +* Fixed linux support (tty stuff and now actually compiles) +* Fixed precalculation code + +0.6.1 (14 May 2009, 22:12): +* bug fixed where the list of rainbow tables is doubled when you resume a session and you have default RT locations in your ini + +0.6 (14 May 2009, 20:47): +* Finding .rti files recursively +* Fixed memory allocation bugs (also trying to save appropriate amount of memory for chainwalksets... these can become really large with the new tables) +* Real pause/resume function, you can resume a session with -r +* Session support, use -s session_name. Combine this with -r to resume a session other then the default +* Ini file support, store some default values such as rainbow table directories. +* Tab separated results (stdout) +* Support pause during cracking and 'skip' during unicode correction for Linux +* A readme / 'manual' ! + +0.5 (16 Apr 2009, 22:47): +* Support for the old non-indexed .rt format, it should work with both type of tables in one run... I didn't test this feature thoroughly +* Using some other pieces of code for algorithms +* Support for .lst files from Cain as input (patch from James Dickson) - use for example -c LMNT.lst +* Fixed some bugs +* Dunno anymore, left this version lying around for too long... + +0.4 (oops, a second 0.4) (13 Dec 2008, 18:20): +* Improved file reading performance + +0.4 (27 Nov 2008, 00:09): +* Source included +* Memory usage down to about 50% (tnx sc00bz for pointing out the inefficiency, tnx jci for helping with the code) +* Works under Linux! (using pthreads now instead of Windows threads) +* Speed up: implemented MD4 reference implementation, not using OpenSSL for NTLM anymore (tnx Bitweasil for supplying 98% of the code) +* Speed up: using OpenSSL a lot faster (tnx jci for pointing that out) +* Probably some more small things i forgot + +0.3 (16 Nov 2008, 01:01): +* Improved command line argument parsing (order no longer matters) +* Option to write (temporary) output to a file, use -o pick_a_nice_filename.txt +* Option to pause, press 'P' to pause/unpause (Windows only) +* For pwdump searches: unicode correction is done when case correction fails + +0.2 (28 Oct 2008, 01:42): +* False alarm checking now also multi threaded +* Search one level of subdirectories for rainbow table files + +0.1 (27 Oct 2008, 00:14): +* Initial multithreaded version, using Windows threads. +* Using multiple threads for the pre-calculation part. +* Added a simple 'progress' message, so you can see how many hashes are being pre-calculated + diff --git a/Client Applications/rcracki_mt/CrackEngine.cpp b/Client Applications/rcracki_mt/CrackEngine.cpp new file mode 100644 index 0000000..3ed82de --- /dev/null +++ b/Client Applications/rcracki_mt/CrackEngine.cpp @@ -0,0 +1,1291 @@ +/* + RainbowCrack - a general propose implementation of Philippe Oechslin's faster time-memory trade-off technique. + + Copyright (C) Zhu Shuanglei +*/ + +#ifdef _WIN32 + #pragma warning(disable : 4786 4267 4018) +#endif + +#include "CrackEngine.h" + +#include +#include "RTI2Reader.h" + +CCrackEngine::CCrackEngine() +{ + ResetStatistics(); + writeOutput = false; + resumeSession = false; + debug = false; + keepPrecalcFiles = false; + + sSessionPathName = ""; + sProgressPathName = ""; +} + +CCrackEngine::~CCrackEngine() +{ +} + +////////////////////////////////////////////////////////////////////// + +void CCrackEngine::ResetStatistics() +{ + m_fTotalDiskAccessTime = 0.0f; + m_fTotalCryptanalysisTime = 0.0f; + m_nTotalChainWalkStep = 0; + m_nTotalFalseAlarm = 0; + m_nTotalChainWalkStepDueToFalseAlarm = 0; +// m_nTotalFalseAlarmSkipped = 0; +} + +int CCrackEngine::BinarySearchOld(RainbowChainO* pChain, int nRainbowChainCount, uint64 nIndex) +{ + int nLow = 0; + int nHigh = nRainbowChainCount - 1; + while (nLow <= nHigh) + { + int nMid = (nLow + nHigh) / 2; + if (nIndex == pChain[nMid].nIndexE) + return nMid; + else if (nIndex < pChain[nMid].nIndexE) + nHigh = nMid - 1; + else + nLow = nMid + 1; + } + + return -1; +} + +RainbowChain *CCrackEngine::BinarySearch(RainbowChain *pChain, int nChainCountRead, uint64 nIndex, IndexChain *pIndex, int nIndexSize, int nIndexStart) +{ + uint64 nPrefix = nIndex >> 16; + int nLow, nHigh; + bool found = false; + int nChains = 0; + + if(nPrefix > (pIndex[nIndexSize-1].nPrefix & 0x000000FFFFFFFFFFULL)) // check if its in the index file + { + return NULL; + } + + int nBLow = 0; + int nBHigh = nIndexSize - 1; + while (nBLow <= nBHigh) + { + int nBMid = (nBLow + nBHigh) / 2; + if (nPrefix == (pIndex[nBMid].nPrefix & 0x000000FFFFFFFFFFULL)) + { + //nLow = nChains; + int nChains = 0; + + nLow = pIndex[nBMid].nFirstChain; + nHigh = nLow + pIndex[nBMid].nChainCount; + if(nLow >= nIndexStart && nLow <= nIndexStart + nChainCountRead) + { + if(nHigh > nIndexStart + nChainCountRead) + nHigh = nIndexStart + nChainCountRead; + } + else if(nLow < nIndexStart && nHigh >= nIndexStart) + { + nLow = nIndexStart; + } + else break; + found = true; + break; + } + else if (nPrefix < (pIndex[nBMid].nPrefix & 0x000000FFFFFFFFFFULL)) + nBHigh = nBMid - 1; + else + nBLow = nBMid + 1; + } + if(found == true) + { + for(int i = nLow - nIndexStart; i < nHigh - nIndexStart; i++) + { + int nSIndex = ((int)nIndex) & 0x0000FFFF; + + if (nSIndex == pChain[i].nIndexE) + { + return &pChain[i]; + } + else if(pChain[i].nIndexE > nSIndex) + break; + } + } + return NULL; +} + +// not used currently, leaving code for future checkpoints +//bool CCrackEngine::CheckAlarm(RainbowChain* pChain, int nGuessedPos, unsigned char* pHash, CHashSet& hs) +//{ +// CChainWalkContext cwc; +// //uint64 nIndexS = pChain->nIndexS >> 16; +// uint64 nIndexS = pChain->nIndexS & 0x0000FFFFFFFFFFFFULL; // for first 6 bytes +// cwc.SetIndex(nIndexS); +// int nPos; +// for (nPos = 0; nPos < nGuessedPos; nPos++) +// { +// cwc.IndexToPlain(); +// cwc.PlainToHash(); +// cwc.HashToIndex(nPos); +// // Not using checkpoints atm +// /* +// switch(nPos) +// { +// case 5000: +// if((cwc.GetIndex() & 0x00000001) != (pChain->nCheckPoint & 0x00000080) >> 7) +// { +// m_nTotalFalseAlarmSkipped += 10000 - 5000; +//// printf("CheckPoint caught false alarm at position 7600\n"); +// return false; +// } +// break; +// case 6000: +// if((cwc.GetIndex() & 0x00000001) != (pChain->nCheckPoint & 0x00000040) >> 6) +// { +//// printf("CheckPoint caught false alarm at position 8200\n"); +// m_nTotalFalseAlarmSkipped += 10000 - 6000; +// return false; +// } +// break; +// +// case 7600: +// if((cwc.GetIndex() & 0x00000001) != (pChain->nCheckPoint & 0x00000020) >> 5) +// { +//// printf("CheckPoint caught false alarm at position 8700\n"); +// m_nTotalFalseAlarmSkipped += 10000 - 7600; +// return false; +// } +// break; +// +// case 8200: +// if((cwc.GetIndex() & 0x00000001) != (pChain->nCheckPoint & 0x00000010) >> 4) +// { +//// printf("CheckPoint caught false alarm at position 9000\n"); +// m_nTotalFalseAlarmSkipped += 10000 - 8200; +// return false; +// } +// break; +// +// case 8700: +// if((cwc.GetIndex() & 0x00000001) != (pChain->nCheckPoint & 0x00000008) >> 3) +// { +//// printf("CheckPoint caught false alarm at position 9300\n"); +// m_nTotalFalseAlarmSkipped += 10000 - 8700; +// return false; +// } +// +// break; +// case 9000: +// if((cwc.GetIndex() & 0x00000001) != (pChain->nCheckPoint & 0x00000004) >> 2) +// { +//// printf("CheckPoint caught false alarm at position 9600\n"); +// m_nTotalFalseAlarmSkipped += 10000 - 9000; +// return false; +// } +// +// break; +// case 9300: +// if((cwc.GetIndex() & 0x00000001) != (pChain->nCheckPoint & 0x00000002) >> 1) +// { +//// printf("CheckPoint caught false alarm at position 9600\n"); +// m_nTotalFalseAlarmSkipped += 10000 - 9300; +// return false; +// } +// break; +// case 9600: +// if((cwc.GetIndex() & 0x00000001) != (pChain->nCheckPoint & 0x00000001)) +// { +//// printf("CheckPoint caught false alarm at position 9600\n"); +// m_nTotalFalseAlarmSkipped += 10000 - 9600; +// return false; +// } +// break; +// +// }*/ +// } +// cwc.IndexToPlain(); +// cwc.PlainToHash(); +// if (cwc.CheckHash(pHash)) +// { +// printf("plaintext of %s is %s\n", cwc.GetHash().c_str(), cwc.GetPlain().c_str()); +// hs.SetPlain(cwc.GetHash(), cwc.GetPlain(), cwc.GetBinary()); +// return true; +// } +// +// return false; +//} + +//bool CCrackEngine::CheckAlarmOld(RainbowChainO* pChain, int nGuessedPos, unsigned char* pHash, CHashSet& hs) +//{ +// CChainWalkContext cwc; +// cwc.SetIndex(pChain->nIndexS); +// int nPos; +// for (nPos = 0; nPos < nGuessedPos; nPos++) +// { +// cwc.IndexToPlain(); +// cwc.PlainToHash(); +// cwc.HashToIndex(nPos); +// } +// cwc.IndexToPlain(); +// cwc.PlainToHash(); +// if (cwc.CheckHash(pHash)) +// { +// printf("plaintext of %s is %s\n", cwc.GetHash().c_str(), cwc.GetPlain().c_str()); +// hs.SetPlain(cwc.GetHash(), cwc.GetPlain(), cwc.GetBinary()); +// return true; +// } +// +// return false; +//} + +void CCrackEngine::GetChainIndexRangeWithSameEndpoint(RainbowChainO* pChain, + int nRainbowChainCount, + int nMatchingIndexE, + int& nMatchingIndexEFrom, + int& nMatchingIndexETo) +{ + nMatchingIndexEFrom = nMatchingIndexE; + nMatchingIndexETo = nMatchingIndexE; + while (nMatchingIndexEFrom > 0) + { + if (pChain[nMatchingIndexEFrom - 1].nIndexE == pChain[nMatchingIndexE].nIndexE) + nMatchingIndexEFrom--; + else + break; + } + while (nMatchingIndexETo < nRainbowChainCount - 1) + { + if (pChain[nMatchingIndexETo + 1].nIndexE == pChain[nMatchingIndexE].nIndexE) + nMatchingIndexETo++; + else + break; + } +} + +void CCrackEngine::SearchTableChunkOld(RainbowChainO* pChain, int nRainbowChainLen, int nRainbowChainCount, CHashSet& hs) +{ + vector vHash; + hs.GetLeftHashWithLen(vHash, CChainWalkContext::GetHashLen()); + printf("searching for %d hash%s...\n", vHash.size(), + vHash.size() > 1 ? "es" : ""); + + int nChainWalkStep = 0; + int nFalseAlarm = 0; + int nChainWalkStepDueToFalseAlarm = 0; + + vector threadPool; + vector pThreads; + + pthread_attr_t attr; + pthread_attr_init(&attr); + pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE); + #ifdef _WIN32 + sched_param param; + param.sched_priority = THREAD_PRIORITY_BELOW_NORMAL; + pthread_attr_setschedparam (&attr, ¶m); + #endif + // else set it to 5 or something (for linux)? + + bool pausing = false; + + int nHashIndex; + for (nHashIndex = 0; nHashIndex < vHash.size(); nHashIndex++) + { + #ifdef _WIN32 + if (_kbhit()) + { + int ch = _getch(); + ch = toupper(ch); + if (ch == 'P') + { + pausing = true; + printf( "\nPausing, press P again to continue... "); + clock_t t1 = clock(); + while (pausing) + { + if (_kbhit()) + { + ch = _getch(); + ch = toupper(ch); + if (ch == 'P') + { + printf( " [Continuing]\n"); + pausing = false; + clock_t t2 = clock(); + float fTime = 1.0f * (t2 - t1) / CLOCKS_PER_SEC; + m_fTotalCryptanalysisTime -= fTime; + } + } + Sleep(500); + } + } + else + { + printf( "\nPress 'P' to pause...\n"); + } + } + #else + int c = tty_getchar(); + if (c >= 0) { + tty_flush(); + if (c==112) { // = p + pausing = true; + printf( "\nPausing, press 'p' again to continue... "); + clock_t t1 = clock(); + while (pausing) + { + if ((c = tty_getchar()) >= 0) + { + tty_flush(); + if (c == 112) + { + printf( " [Continuing]\n"); + pausing = false; + clock_t t2 = clock(); + float fTime = 1.0f * (t2 - t1) / CLOCKS_PER_SEC; + m_fTotalCryptanalysisTime -= fTime; + } + } + usleep(500*1000); + } + } + else { + printf( "\nPress 'p' to pause...\n"); + } + } + #endif + unsigned char TargetHash[MAX_HASH_LEN]; + int nHashLen; + ParseHash(vHash[nHashIndex], TargetHash, nHashLen); + if (nHashLen != CChainWalkContext::GetHashLen()) + printf("debug: nHashLen mismatch\n"); + + // Rqeuest ChainWalk + bool fNewlyGenerated; + uint64* pStartPosIndexE = m_cws.RequestWalk(TargetHash, + nHashLen, + CChainWalkContext::GetHashRoutineName(), + CChainWalkContext::GetPlainCharsetName(), + CChainWalkContext::GetPlainLenMin(), + CChainWalkContext::GetPlainLenMax(), + CChainWalkContext::GetRainbowTableIndex(), + nRainbowChainLen, + fNewlyGenerated, + debug, + sPrecalcPathName); + //printf("debug: using %s walk for %s\n", fNewlyGenerated ? "newly generated" : "existing", + // vHash[nHashIndex].c_str()); + + // Walk + if (fNewlyGenerated) + { + //printf("Pre-calculating hash %d of %d.\t\t\r", nHashIndex+1, vHash.size()); + printf("Pre-calculating hash %d of %d.%-20s\r", nHashIndex+1, vHash.size(), ""); + threadPool.clear(); + pThreads.clear(); + + int thread_ID; + for (thread_ID = 0; thread_ID < maxThreads; thread_ID++) + { + rcrackiThread* r_Thread = new rcrackiThread(TargetHash, thread_ID, nRainbowChainLen, maxThreads, pStartPosIndexE); + if (r_Thread) + { + pthread_t pThread; + int returnValue = pthread_create( &pThread, &attr, rcrackiThread::rcrackiThreadStaticEntryPointPthread, (void *) r_Thread); + + if( returnValue != 0 ) + { + printf("pThread creation failed, returnValue: %d\n", returnValue); + } + else + { + pThreads.push_back(pThread); + } + + threadPool.push_back(r_Thread); + } + else + { + printf("r_Thread creation failed!\n"); + } + } + + //printf("%d r_Threads created\t\t\n", threadPool.size()); + + for (thread_ID = 0; thread_ID < threadPool.size(); thread_ID++) + { + pthread_t pThread = pThreads[thread_ID]; + int returnValue = pthread_join(pThread, NULL); + if( returnValue != 0 ) + { + printf("pThread join failed, returnValue: %d\n", returnValue); + } + + rcrackiThread* rThread = threadPool[thread_ID]; + nChainWalkStep += rThread->GetChainWalkStep(); + } + + //printf("\t\t\t\t\r"); + printf("%-50s\r", ""); + + + } + + //printf("Checking false alarms for hash %d of %d.\t\t\r", nHashIndex+1, vHash.size()); + printf("Checking false alarms for hash %d of %d.%-20s\r", nHashIndex+1, vHash.size(), ""); + + threadPool.clear(); + pThreads.clear(); + + int i; + for (i = 0; i < maxThreads; i++) + { + rcrackiThread* r_Thread = new rcrackiThread(TargetHash, true); + threadPool.push_back(r_Thread); + } + + int thread_ID = 0; + int nPos; + for (nPos = nRainbowChainLen - 2; nPos >= 0; nPos--) + { + uint64 nIndexEOfCurPos = pStartPosIndexE[nPos]; + + // Search matching nIndexE + int nMatchingIndexE = BinarySearchOld(pChain, nRainbowChainCount, nIndexEOfCurPos); + if (nMatchingIndexE != -1) + { + int nMatchingIndexEFrom, nMatchingIndexETo; + GetChainIndexRangeWithSameEndpoint(pChain, nRainbowChainCount, + nMatchingIndexE, + nMatchingIndexEFrom, nMatchingIndexETo); + int i; + for (i = nMatchingIndexEFrom; i <= nMatchingIndexETo; i++) + { + rcrackiThread* rThread = threadPool[thread_ID]; + rThread->AddAlarmCheckO(pChain + i, nPos); + if (thread_ID < maxThreads - 1 ) { + thread_ID++; + } else { + thread_ID = 0; + } + } + } + } + + for (thread_ID = 0; thread_ID < maxThreads; thread_ID++) + { + rcrackiThread* r_Thread = threadPool[thread_ID]; + pthread_t pThread; + + int returnValue = pthread_create( &pThread, &attr, rcrackiThread::rcrackiThreadStaticEntryPointPthread, (void *) r_Thread); + + if( returnValue != 0 ) + { + printf("pThread creation failed, returnValue: %d\n", returnValue); + } + else + { + pThreads.push_back(pThread); + } + } + + //printf("%d r_Threads created\t\t\n", threadPool.size()); + + bool foundHashInThread = false; + for (thread_ID = 0; thread_ID < threadPool.size(); thread_ID++) + { + rcrackiThread* rThread = threadPool[thread_ID]; + pthread_t pThread = pThreads[thread_ID]; + + int returnValue = pthread_join(pThread, NULL); + if( returnValue != 0 ) + { + printf("pThread join failed, returnValue: %d\n", returnValue); + } + + nChainWalkStepDueToFalseAlarm += rThread->GetChainWalkStepDueToFalseAlarm(); + nFalseAlarm += rThread->GetnFalseAlarm(); + + if (rThread->FoundHash() && !foundHashInThread) { + //printf("\t\t\t\t\t\t\r"); + printf("%-50s\r", ""); + + printf("plaintext of %s is %s\n", rThread->GetHash().c_str(), rThread->GetPlain().c_str()); + if (writeOutput) + { + if (!writeResultLineToFile(outputFile, rThread->GetHash(), rThread->GetPlain(), rThread->GetBinary())) + printf("Couldn't write this result to file!\n"); + } + hs.SetPlain(rThread->GetHash(), rThread->GetPlain(), rThread->GetBinary()); + + FILE* file = fopen(sSessionPathName.c_str(), "a"); + if (file!=NULL) + { + string buffer = "sHash=" + rThread->GetHash() + ":" + rThread->GetBinary() + ":" + rThread->GetPlain() + "\n"; + fputs (buffer.c_str(), file); + fclose (file); + } + + m_cws.DiscardWalk(pStartPosIndexE); + foundHashInThread = true; + } + } + + pThreads.clear(); + threadPool.clear(); + } + + //printf("\t\t\t\t\t\t\t\r"); + printf("%-50s\r", ""); + pThreads.clear(); + threadPool.clear(); + pthread_attr_destroy(&attr); + + //printf("debug: chain walk step: %d\n", nChainWalkStep); + //printf("debug: false alarm: %d\n", nFalseAlarm); + //printf("debug: chain walk step due to false alarm: %d\n", nChainWalkStepDueToFalseAlarm); + + m_nTotalChainWalkStep += nChainWalkStep; + m_nTotalFalseAlarm += nFalseAlarm; + m_nTotalChainWalkStepDueToFalseAlarm += nChainWalkStepDueToFalseAlarm; +} + +void CCrackEngine::SearchTableChunk(RainbowChain* pChain, int nRainbowChainLen, int nRainbowChainCount, CHashSet& hs, IndexChain *pIndex, int nIndexSize, int nChainStart) +{ + vector vHash; + //vector vIndices; + //vector vChains; + hs.GetLeftHashWithLen(vHash, CChainWalkContext::GetHashLen()); + printf("searching for %d hash%s...\n", vHash.size(), + vHash.size() > 1 ? "es" : ""); + + int nChainWalkStep = 0; + int nFalseAlarm = 0; + int nChainWalkStepDueToFalseAlarm = 0; + + vector threadPool; + vector pThreads; + + pthread_attr_t attr; + pthread_attr_init(&attr); + pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE); + #ifdef _WIN32 + sched_param param; + param.sched_priority = THREAD_PRIORITY_BELOW_NORMAL; + pthread_attr_setschedparam (&attr, ¶m); + #endif + // else set it to 5 or something (for linux)? + + bool pausing = false; + + int nHashIndex; + for (nHashIndex = 0; nHashIndex < vHash.size(); nHashIndex++) + { + #ifdef _WIN32 + if (_kbhit()) + { + int ch = _getch(); + ch = toupper(ch); + if (ch == 'P') + { + pausing = true; + printf( "\nPausing, press P again to continue... "); + clock_t t1 = clock(); + while (pausing) + { + if (_kbhit()) + { + ch = _getch(); + ch = toupper(ch); + if (ch == 'P') + { + printf( " [Continuing]\n"); + pausing = false; + clock_t t2 = clock(); + float fTime = 1.0f * (t2 - t1) / CLOCKS_PER_SEC; + m_fTotalCryptanalysisTime -= fTime; + } + } + Sleep(500); + } + } + else + { + printf( "\nPress 'P' to pause...\n"); + } + } + #else + int c = tty_getchar(); + if (c >= 0) { + tty_flush(); + if (c==112) { // = p + pausing = true; + printf( "\nPausing, press 'p' again to continue... "); + clock_t t1 = clock(); + while (pausing) + { + if ((c = tty_getchar()) >= 0) + { + tty_flush(); + if (c == 112) + { + printf( " [Continuing]\n"); + pausing = false; + clock_t t2 = clock(); + float fTime = 1.0f * (t2 - t1) / CLOCKS_PER_SEC; + m_fTotalCryptanalysisTime -= fTime; + } + } + usleep(500*1000); + } + } + else { + printf( "\nPress 'p' to pause...\n"); + } + } + #endif + unsigned char TargetHash[MAX_HASH_LEN]; + int nHashLen; + ParseHash(vHash[nHashIndex], TargetHash, nHashLen); + if (nHashLen != CChainWalkContext::GetHashLen()) + printf("debug: nHashLen mismatch\n"); + + // Request ChainWalk + bool fNewlyGenerated; +// printf("Requesting walk..."); + + + uint64* pStartPosIndexE = m_cws.RequestWalk(TargetHash, + nHashLen, + CChainWalkContext::GetHashRoutineName(), + CChainWalkContext::GetPlainCharsetName(), + CChainWalkContext::GetPlainLenMin(), + CChainWalkContext::GetPlainLenMax(), + CChainWalkContext::GetRainbowTableIndex(), + nRainbowChainLen, + fNewlyGenerated, + debug, + sPrecalcPathName); +// printf("done!\n"); +// printf("debug: using %s walk for %s\n", fNewlyGenerated ? "newly generated" : "existing", +// vHash[nHashIndex].c_str()); + + if (fNewlyGenerated) + { + //printf("Pre-calculating hash %d of %d.\t\t\r", nHashIndex+1, vHash.size()); + printf("Pre-calculating hash %d of %d.%-20s\r", nHashIndex+1, vHash.size(), ""); + threadPool.clear(); + pThreads.clear(); + + int thread_ID; + for (thread_ID = 0; thread_ID < maxThreads; thread_ID++) + { + rcrackiThread* r_Thread = new rcrackiThread(TargetHash, thread_ID, nRainbowChainLen, maxThreads, pStartPosIndexE); + if (r_Thread) + { + pthread_t pThread; + int returnValue = pthread_create( &pThread, &attr, rcrackiThread::rcrackiThreadStaticEntryPointPthread, (void *) r_Thread); + + if( returnValue != 0 ) + { + printf("pThread creation failed, returnValue: %d\n", returnValue); + } + else + { + pThreads.push_back(pThread); + } + + threadPool.push_back(r_Thread); + } + else + { + printf("r_Thread creation failed!\n"); + } + } + + //printf("%d r_Threads created\t\t\n", threadPool.size()); + + for (thread_ID = 0; thread_ID < threadPool.size(); thread_ID++) + { + pthread_t pThread = pThreads[thread_ID]; + int returnValue = pthread_join(pThread, NULL); + if( returnValue != 0 ) + { + printf("pThread join failed, returnValue: %d\n", returnValue); + } + + rcrackiThread* rThread = threadPool[thread_ID]; + nChainWalkStep += rThread->GetChainWalkStep(); + } + + m_cws.StoreToFile(pStartPosIndexE, TargetHash, nHashLen); + + //printf("\npStartPosIndexE[0]: %s\n", uint64tostr(pStartPosIndexE[0]).c_str()); + //printf("\npStartPosIndexE[nRainbowChainLen-2]: %s\n", uint64tostr(pStartPosIndexE[nRainbowChainLen-2]).c_str()); + + printf("%-50s\r", ""); + + + } + + threadPool.clear(); + pThreads.clear(); + + //printf("Checking false alarms for hash %d of %d.\t\t\r", nHashIndex+1, vHash.size()); + printf("Checking false alarms for hash %d of %d.%-20s\r", nHashIndex+1, vHash.size(), ""); + + int i; + for (i = 0; i < maxThreads; i++) + { + rcrackiThread* r_Thread = new rcrackiThread(TargetHash); + threadPool.push_back(r_Thread); + } + + int thread_ID = 0; + int nPos; + for (nPos = nRainbowChainLen - 2; nPos >= 0; nPos--) + { + uint64 nIndexEOfCurPos = pStartPosIndexE[nPos]; + + // Search matching nIndexE + RainbowChain *pChainFound = BinarySearch(pChain, nRainbowChainCount, nIndexEOfCurPos, pIndex, nIndexSize, nChainStart); + if (pChainFound != NULL) // For perfected indexed tables we only recieve 1 result (huge speed increase!) + { + rcrackiThread* rThread = threadPool[thread_ID]; + rThread->AddAlarmCheck(pChainFound, nPos); + if (thread_ID < maxThreads - 1 ) { + thread_ID++; + } else { + thread_ID = 0; + } + } + } + + for (thread_ID = 0; thread_ID < maxThreads; thread_ID++) + { + rcrackiThread* r_Thread = threadPool[thread_ID]; + pthread_t pThread; + + int returnValue = pthread_create( &pThread, &attr, rcrackiThread::rcrackiThreadStaticEntryPointPthread, (void *) r_Thread); + + if( returnValue != 0 ) + { + printf("pThread creation failed, returnValue: %d\n", returnValue); + } + else + { + pThreads.push_back(pThread); + } + } + + //printf("%d r_Threads created\t\t\n", threadPool.size()); + + bool foundHashInThread = false; + for (thread_ID = 0; thread_ID < threadPool.size(); thread_ID++) + { + rcrackiThread* rThread = threadPool[thread_ID]; + pthread_t pThread = pThreads[thread_ID]; + + int returnValue = pthread_join(pThread, NULL); + if( returnValue != 0 ) + { + printf("pThread join failed, returnValue: %d\n", returnValue); + } + + nChainWalkStepDueToFalseAlarm += rThread->GetChainWalkStepDueToFalseAlarm(); + nFalseAlarm += rThread->GetnFalseAlarm(); + + if (rThread->FoundHash() && !foundHashInThread) { + //printf("\t\t\t\t\t\t\r"); + printf("%-50s\r", ""); + printf("plaintext of %s is %s\n", rThread->GetHash().c_str(), rThread->GetPlain().c_str()); + if (writeOutput) + { + if (!writeResultLineToFile(outputFile, rThread->GetHash(), rThread->GetPlain(), rThread->GetBinary())) + printf("Couldn't write this result to file!\n"); + } + hs.SetPlain(rThread->GetHash(), rThread->GetPlain(), rThread->GetBinary()); + + FILE* file = fopen(sSessionPathName.c_str(), "a"); + if (file!=NULL) + { + string buffer = "sHash=" + rThread->GetHash() + ":" + rThread->GetBinary() + ":" + rThread->GetPlain() + "\n"; + fputs (buffer.c_str(), file); + fclose (file); + } + + m_cws.DiscardWalk(pStartPosIndexE); + foundHashInThread = true; + } + //pthread + delete rThread; + } + + pThreads.clear(); + threadPool.clear(); + + //printf("\t\t\t\t\r"); + //printf("pChainFounds: %d\n", pChainsFound.size()); +//NEXT_HASH:; + } + //printf("\t\t\t\t\t\t\t\r"); + printf("%-50s\r", ""); + pThreads.clear(); + threadPool.clear(); + pthread_attr_destroy(&attr); + + //printf("debug: chain walk step: %d\n", nChainWalkStep); + //printf("debug: false alarm: %d\n", nFalseAlarm); + //printf("debug: chain walk step due to false alarm: %d\n", nChainWalkStepDueToFalseAlarm); + + m_nTotalChainWalkStep += nChainWalkStep; + m_nTotalFalseAlarm += nFalseAlarm; + m_nTotalChainWalkStepDueToFalseAlarm += nChainWalkStepDueToFalseAlarm; +} + +void CCrackEngine::SearchRainbowTable(string sPathName, CHashSet& hs) +{ + // Did we already go through this file in this session? + if (resumeSession) + { + vector sessionFinishedPathNames; + if (ReadLinesFromFile(sProgressPathName.c_str(), sessionFinishedPathNames)) + { + int i; + for (i = 0; i < sessionFinishedPathNames.size(); i++) + { + if (sessionFinishedPathNames[i] == sPathName) + { + printf("Skipping %s\n", sPathName.c_str()); + return; + } + } + } + } + + // FileName +#ifdef _WIN32 + int nIndex = sPathName.find_last_of('\\'); +#else + int nIndex = sPathName.find_last_of('/'); +#endif + string sFileName; + if (nIndex != -1) + sFileName = sPathName.substr(nIndex + 1); + else + sFileName = sPathName; + + // Info + printf("%s:\n", sFileName.c_str()); + + // Setup + int nRainbowChainLen, nRainbowChainCount; + if (!CChainWalkContext::SetupWithPathName(sPathName, nRainbowChainLen, nRainbowChainCount)) + return; + //printf("keyspace: %u\n", CChainWalkContext::GetPlainSpaceTotal()); + // Already finished? + if (!hs.AnyHashLeftWithLen(CChainWalkContext::GetHashLen())) + { + printf("this table contains hashes with length %d only\n", CChainWalkContext::GetHashLen()); + return; + } + + // Open + FILE* file = fopen(sPathName.c_str(), "rb"); + if (file != NULL) + { + // File length check + bool doOldFormat = CChainWalkContext::isOldFormat(); + bool doNewFormat = CChainWalkContext::isNewFormat(); + int sizeOfChain; + bool fVerified = false; + unsigned int nFileLen = GetFileLen(file); + + if (doOldFormat) + sizeOfChain = 16; + else + sizeOfChain = 8; + + //if (nFileLen % 8 != 0 || nRainbowChainCount * 8 != nFileLen) + if ((nFileLen % sizeOfChain != 0 || nRainbowChainCount * sizeOfChain != nFileLen) && doNewFormat == false) + printf("file length mismatch\n"); + else + { + fseek(file, 0, SEEK_SET); + + unsigned int bytesForChainWalkSet = hs.GetStatHashTotal() * (nRainbowChainLen-1) * 8; + if (debug) printf("Debug: Saving %u bytes of memory for chainwalkset.\n", bytesForChainWalkSet); + + static CMemoryPool mp(bytesForChainWalkSet); + unsigned int nAllocatedSize; + if (doNewFormat || doOldFormat) + { + RTI2Reader *pReader; + if(doNewFormat) { + pReader = new RTI2Reader(sPathName); + + } + if (debug) printf("Debug: This is a table in the old .rt format.\n"); + RainbowChainO* pChain = (RainbowChainO*)mp.Allocate(nFileLen, nAllocatedSize); + if (debug) printf("Allocated %u bytes, filelen %u\n", nAllocatedSize, nFileLen); + if (pChain != NULL) + { + nAllocatedSize = nAllocatedSize / sizeOfChain * sizeOfChain; // Round to sizeOfChain boundary + + //fseek(file, 0, SEEK_SET); + //bool fVerified = false; + while (true) // Chunk read loop + { + if (ftell(file) == nFileLen) + break; + + // Load table chunk + if (debug) printf("reading...\n"); + unsigned int nDataRead = 0; + clock_t t1 = clock(); + if (doNewFormat) + { + nDataRead = nAllocatedSize / 16; + pReader->ReadChains(nDataRead, pChain); + nDataRead *= 8; // Convert from chains read to bytes + if(nDataRead == 0) // No more data + break; + } + else { + nDataRead = fread(pChain, 1, nAllocatedSize, file); + } + clock_t t2 = clock(); + float fTime = 1.0f * (t2 - t1) / CLOCKS_PER_SEC; + printf("%u bytes read, disk access time: %.2f s\n", nDataRead, fTime); + m_fTotalDiskAccessTime += fTime; + + int nRainbowChainCountRead = nDataRead / 16; + + // Verify table chunk + if (!fVerified) + { + printf("verifying the file...\n"); + + // Chain length test + int nIndexToVerify = nRainbowChainCountRead / 2; + CChainWalkContext cwc; + cwc.SetIndex(pChain[nIndexToVerify].nIndexS); + int nPos; + for (nPos = 0; nPos < nRainbowChainLen - 1; nPos++) + { + cwc.IndexToPlain(); + cwc.PlainToHash(); + cwc.HashToIndex(nPos); + } + if (cwc.GetIndex() != pChain[nIndexToVerify].nIndexE) + { + printf("rainbow chain length verify fail\n"); + break; + } + + // Chain sort test + int i; + for (i = 0; i < nRainbowChainCountRead - 1; i++) + { + if (pChain[i].nIndexE > pChain[i + 1].nIndexE) + break; + } + if (i != nRainbowChainCountRead - 1) + { + printf("this file is not sorted\n"); + break; + } + + fVerified = true; + } + + // Search table chunk + t1 = clock(); + SearchTableChunkOld(pChain, nRainbowChainLen, nRainbowChainCountRead, hs); + t2 = clock(); + fTime = 1.0f * (t2 - t1) / CLOCKS_PER_SEC; + printf("cryptanalysis time: %.2f s\n", fTime); + m_fTotalCryptanalysisTime += fTime; + + // Already finished? + if (!hs.AnyHashLeftWithLen(CChainWalkContext::GetHashLen())) + break; + } + } + else + printf("memory allocation fail\n"); + + //delete pChain; + } + else + { + static CMemoryPool mpIndex(bytesForChainWalkSet); + unsigned int nAllocatedSizeIndex; + + //int nIndexSize = 0; + //IndexChain *pIndex = NULL; + + FILE* fIndex = fopen(((string)(sPathName + string(".index"))).c_str(), "rb"); + if(fIndex != NULL) + { + // File length check + unsigned int nFileLenIndex = GetFileLen(fIndex); + unsigned int nRows = nFileLenIndex / 11; + unsigned int nSize = nRows * sizeof(IndexChain); + //printf("Debug: 8\n"); + if (nFileLenIndex % 11 != 0) + printf("index file length mismatch (%u bytes)\n", nFileLenIndex); + else + { + //printf("index nSize: %d\n", nSize); + //pIndex = (IndexChain*)new unsigned char[nSize]; + IndexChain *pIndex = (IndexChain*)mpIndex.Allocate(nFileLenIndex, nAllocatedSizeIndex); + if (debug) printf("Debug: Allocated %u bytes for index with filelen %u\n", nAllocatedSizeIndex, nFileLenIndex); + + if (pIndex != NULL && nAllocatedSizeIndex > 0) + { + nAllocatedSizeIndex = nAllocatedSizeIndex / sizeof(IndexChain) * sizeof(IndexChain); // Round to sizeOfIndexChain boundary + + fseek(fIndex, 0, SEEK_SET); + int nProcessedIndexChains = 0; + + while (true) // Index chunk read loop + { + if (ftell(fIndex) == nFileLenIndex) + break; + + // Load index chunk + if (debug) printf("Debug: Setting index to 0x00 in memory, %u bytes\n", nAllocatedSizeIndex); + memset(pIndex, 0x00, nAllocatedSizeIndex); + printf("reading index... "); + clock_t t1 = clock(); + unsigned int nDataRead = fread(pIndex, 1, nAllocatedSizeIndex, fIndex); + clock_t t2 = clock(); + + float fTime = 1.0f * (t2 - t1) / CLOCKS_PER_SEC; + printf("%u bytes read, disk access time: %.2f s\n", nDataRead, fTime); + m_fTotalDiskAccessTime += fTime; + + //nIndexSize = nFileLenIndex / 11; + int nIndexChainCountRead = nDataRead / sizeof(IndexChain); + //fclose(fIndex); + unsigned int nCoveredRainbowTableChains = 0; + for(int i = 0; i < nIndexChainCountRead; i++) + { + nCoveredRainbowTableChains += pIndex[i].nChainCount; + } + + //RainbowChain* pChain = (RainbowChain*)mp.Allocate(nFileLen, nAllocatedSize); + RainbowChain* pChain = (RainbowChain*)mp.Allocate(nCoveredRainbowTableChains * sizeOfChain, nAllocatedSize); + if (debug) printf("Debug: Allocated %u bytes for %u chains, filelen %u\n", nAllocatedSize, nCoveredRainbowTableChains, nFileLen); + + if (pChain != NULL && nAllocatedSize > 0) + { + nAllocatedSize = nAllocatedSize / sizeOfChain * sizeOfChain; // Round to sizeOfChain boundary + + //fseek(file, 0, SEEK_SET); + //bool fVerified = false; + int nProcessedChains = 0; + while (true) // Chunk read loop + { + if (ftell(file) == nFileLen) + break; + + if (nProcessedChains >= nCoveredRainbowTableChains) + break; + + // Load table chunk + if (debug) printf("Debug: Setting pChain to 0x00 in memory\n"); + memset(pChain, 0x00, nAllocatedSize); + printf("reading table... "); + clock_t t1 = clock(); + unsigned int nDataRead = fread(pChain, 1, nAllocatedSize, file); + clock_t t2 = clock(); + + float fTime = 1.0f * (t2 - t1) / CLOCKS_PER_SEC; + printf("%u bytes read, disk access time: %.2f s\n", nDataRead, fTime); + m_fTotalDiskAccessTime += fTime; + int nRainbowChainCountRead = nDataRead / sizeOfChain; + // Verify table chunk (Too lazy to implement this) + + if (!fVerified) + { + printf("verifying the file...\n"); + + // Chain length test + int nIndexToVerify = nRainbowChainCountRead / 2; + CChainWalkContext cwc; + uint64 nIndexS; + nIndexS = pChain[nIndexToVerify].nIndexS & 0x0000FFFFFFFFFFFFULL; // for first 6 bytes + + //printf("nIndexS: %s\n", uint64tostr(nIndexS).c_str()); + cwc.SetIndex(nIndexS); + + int nPos; + for (nPos = 0; nPos < nRainbowChainLen - 1; nPos++) + { + cwc.IndexToPlain(); + cwc.PlainToHash(); + cwc.HashToIndex(nPos); + } + uint64 nEndPoint = 0; + + //for(int i = 0; i < nIndexSize; i++) + for(int i = 0; i < nIndexChainCountRead; i++) + { + if(nIndexToVerify >= pIndex[i].nFirstChain && nIndexToVerify < pIndex[i].nFirstChain + pIndex[i].nChainCount) // We found the matching index + { // Now we need to seek nIndexToVerify into the chains + nEndPoint += (pIndex[i].nPrefix & 0x000000FFFFFFFFFFULL) << 16; // & 0x000000FFFFFFFFFFULL for first 5 bytes + //printf("nPrefix: %s\n", uint64tostr(pIndex[i].nPrefix & 0x000000FFFFFFFFFF).c_str()); + //printf("nFirstChain: %d\n", pIndex[i].nFirstChain); + //printf("nChainCount: %d\n", pIndex[i].nChainCount); + nEndPoint += pChain[nIndexToVerify].nIndexE; + break; + } + } + + if (cwc.GetIndex() != nEndPoint) + { + printf("rainbow chain length verify fail\n"); + break; + } + + fVerified = true; + } + + // Search table chunk + t1 = clock(); + float preTime = m_fTotalCryptanalysisTime; + + SearchTableChunk(pChain, nRainbowChainLen, nRainbowChainCountRead, hs, pIndex, nIndexChainCountRead, nProcessedChains); + float postTime = m_fTotalCryptanalysisTime; + t2 = clock(); + fTime = 1.0f * (t2 - t1) / CLOCKS_PER_SEC; + printf("cryptanalysis time: %.2f s\n", fTime + postTime - preTime); + m_fTotalCryptanalysisTime += fTime; + nProcessedChains += nRainbowChainCountRead; + // Already finished? + if (!hs.AnyHashLeftWithLen(CChainWalkContext::GetHashLen())) + break; + } + } + else printf("memory allocation failed for rainbow table\n"); + + //delete pChain; + } + } + else printf("memory allocation failed for index\n"); + } + } + else + { + printf("Can't load index\n"); + return; + } + fclose(fIndex); + + //delete pIndex; + } + } + fclose(file); + + if (debug) printf("Debug: writing progress to %s\n", sProgressPathName.c_str()); + FILE* file = fopen(sProgressPathName.c_str(), "a"); + if (file!=NULL) + { + string buffer = sPathName + "\n"; + fputs (buffer.c_str(), file); + fclose (file); + } + } + else + printf("can't open file\n"); +} + +void CCrackEngine::Run(vector vPathName, CHashSet& hs, int i_maxThreads, bool resume, bool bDebug) +{ +#ifndef _WIN32 + tty_init(); +#endif + resumeSession = resume; + debug = bDebug; + + maxThreads = i_maxThreads; + // Reset statistics + ResetStatistics(); + + // Sort vPathName (CChainWalkSet need it) + int i, j; + for (i = 0; i < vPathName.size() - 1; i++) + for (j = 0; j < vPathName.size() - i - 1; j++) + { + if (vPathName[j] > vPathName[j + 1]) + { + string sTemp; + sTemp = vPathName[j]; + vPathName[j] = vPathName[j + 1]; + vPathName[j + 1] = sTemp; + } + } + + // Run + for (i = 0; i < vPathName.size() && hs.AnyhashLeft(); i++) + { + SearchRainbowTable(vPathName[i], hs); + printf("\n"); + } + + // delete precalc files + if (!keepPrecalcFiles) + m_cws.removePrecalcFiles(); + +#ifndef _WIN32 + tty_done(); +#endif +} + +void CCrackEngine::setOutputFile(string sPathName) +{ + writeOutput = true; + outputFile = sPathName; +} + +void CCrackEngine::setSession(string sSession, string sProgress, string sPrecalc, bool keepPrecalc) +{ + sSessionPathName = sSession; + sProgressPathName = sProgress; + sPrecalcPathName = sPrecalc; + keepPrecalcFiles = keepPrecalc; +} + +float CCrackEngine::GetStatTotalDiskAccessTime() +{ + return m_fTotalDiskAccessTime; +} +/*float CCrackEngine::GetWastedTime() +{ + return m_fIndexTime; +}*/ +float CCrackEngine::GetStatTotalCryptanalysisTime() +{ + return m_fTotalCryptanalysisTime; +} + +int CCrackEngine::GetStatTotalChainWalkStep() +{ + return m_nTotalChainWalkStep; +} + +int CCrackEngine::GetStatTotalFalseAlarm() +{ + return m_nTotalFalseAlarm; +} + +int CCrackEngine::GetStatTotalChainWalkStepDueToFalseAlarm() +{ + return m_nTotalChainWalkStepDueToFalseAlarm; +} diff --git a/Client Applications/rcracki_mt/CrackEngine.h b/Client Applications/rcracki_mt/CrackEngine.h new file mode 100644 index 0000000..e69bb0f --- /dev/null +++ b/Client Applications/rcracki_mt/CrackEngine.h @@ -0,0 +1,75 @@ +/* + RainbowCrack - a general propose implementation of Philippe Oechslin's faster time-memory trade-off technique. + + Copyright (C) Zhu Shuanglei +*/ + +#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 +#include +#endif +#include + +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 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 diff --git a/Client Applications/rcracki_mt/HashAlgorithm.cpp b/Client Applications/rcracki_mt/HashAlgorithm.cpp new file mode 100644 index 0000000..66513fc --- /dev/null +++ b/Client Applications/rcracki_mt/HashAlgorithm.cpp @@ -0,0 +1,414 @@ +/* + RainbowCrack - a general propose implementation of Philippe Oechslin's faster time-memory trade-off technique. + + Copyright (C) Zhu Shuanglei + + Changes: not using OpenSSL routines the slow way anymore, as suggested by jci. +*/ + +#include "HashAlgorithm.h" + +#include "Public.h" + +#include +#include +#include +#include +#include +#include + +//#include "md5.h" +#include "fast_md5.h" +#include "md4.h" +#include "sha1.h" +#ifdef _WIN32 + #pragma comment(lib, "libeay32.lib") +#endif +#define MSCACHE_HASH_SIZE 16 +void setup_des_key(unsigned char key_56[], des_key_schedule &ks) +{ + des_cblock key; + + key[0] = key_56[0]; + key[1] = (key_56[0] << 7) | (key_56[1] >> 1); + key[2] = (key_56[1] << 6) | (key_56[2] >> 2); + key[3] = (key_56[2] << 5) | (key_56[3] >> 3); + key[4] = (key_56[3] << 4) | (key_56[4] >> 4); + key[5] = (key_56[4] << 3) | (key_56[5] >> 5); + key[6] = (key_56[5] << 2) | (key_56[6] >> 6); + key[7] = (key_56[6] << 1); + + //des_set_odd_parity(&key); + des_set_key(&key, ks); +} + +void HashLM(unsigned char* pPlain, int nPlainLen, unsigned char* pHash) +{ + /* + unsigned char data[7] = {0}; + memcpy(data, pPlain, nPlainLen > 7 ? 7 : nPlainLen); + */ + + int i; + for (i = nPlainLen; i < 7; i++) + pPlain[i] = 0; + + static unsigned char magic[] = {0x4B, 0x47, 0x53, 0x21, 0x40, 0x23, 0x24, 0x25}; + des_key_schedule ks; + //setup_des_key(data, ks); + setup_des_key(pPlain, ks); + des_ecb_encrypt((des_cblock*)magic, (des_cblock*)pHash, ks, DES_ENCRYPT); +} + +void HashLMCHALL(unsigned char* pPlain, int nPlainLen, unsigned char* pHash) +{ + unsigned char pass[14]; + unsigned char pre_lmresp[21]; + static unsigned char magic[] = {0x4B, 0x47, 0x53, 0x21, 0x40, 0x23, 0x24, 0x25}; + static unsigned char spoofed_challange[] = {0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88}; + des_key_schedule ks; + + memset (pass,0,sizeof(pass)); + memset (pre_lmresp,0,sizeof(pre_lmresp)); + + memcpy (pass,pPlain, nPlainLen); + + setup_des_key(pass, ks); + des_ecb_encrypt((des_cblock*)magic, (des_cblock*)pre_lmresp, ks, DES_ENCRYPT); + + setup_des_key(&pass[7], ks); + des_ecb_encrypt((des_cblock*)magic, (des_cblock*)&pre_lmresp[8], ks, DES_ENCRYPT); + + setup_des_key(pre_lmresp, ks); + des_ecb_encrypt((des_cblock*)spoofed_challange, (des_cblock*)pHash, ks, DES_ENCRYPT); + + setup_des_key(&pre_lmresp[7], ks); + des_ecb_encrypt((des_cblock*)spoofed_challange, (des_cblock*)&pHash[8], ks, DES_ENCRYPT); + + setup_des_key(&pre_lmresp[14], ks); + des_ecb_encrypt((des_cblock*)spoofed_challange, (des_cblock*)&pHash[16], ks, DES_ENCRYPT); + +} + +void HashHALFLMCHALL(unsigned char* pPlain, int nPlainLen, unsigned char* pHash) +{ + unsigned char pre_lmresp[8]; + static unsigned char magic[] = {0x4B, 0x47, 0x53, 0x21, 0x40, 0x23, 0x24, 0x25}; + static unsigned char salt[] = {0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88}; + + des_key_schedule ks; + unsigned char plain[8] = {0}; + memcpy(plain, pPlain, nPlainLen); + setup_des_key(plain, ks); + des_ecb_encrypt((des_cblock*)magic, (des_cblock*)pre_lmresp, ks, DES_ENCRYPT); + + setup_des_key(pre_lmresp, ks); + des_ecb_encrypt((des_cblock*)salt, (des_cblock*)pHash, ks, DES_ENCRYPT); +} + + + +void HashNTLMCHALL(unsigned char* pPlain, int nPlainLen, unsigned char* pHash) +{ + unsigned char UnicodePlain[MAX_PLAIN_LEN]; + static unsigned char spoofed_challange[] = {0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77, 0x88}; + + int len = (nPlainLen < 127) ? nPlainLen : 127; + int i; + + for (i = 0; i < len; i++) + { + UnicodePlain[i * 2] = pPlain[i]; + UnicodePlain[i * 2 + 1] = 0x00; + } + + des_key_schedule ks; + unsigned char lm[21]; + + /*MD4_CTX ctx; + MD4_Init(&ctx); + MD4_Update(&ctx, UnicodePlain, len * 2); + MD4_Final(lm, &ctx); */ + MD4_NEW(UnicodePlain, len * 2, lm); + + //MD4(UnicodePlain, len * 2, lm); + lm[16] = lm[17] = lm[18] = lm[19] = lm[20] = 0; + + setup_des_key(lm, ks); + des_ecb_encrypt((des_cblock*)spoofed_challange, (des_cblock*)pHash, ks, DES_ENCRYPT); + + setup_des_key(&lm[7], ks); + des_ecb_encrypt((des_cblock*)spoofed_challange, (des_cblock*)&pHash[8], ks, DES_ENCRYPT); + + setup_des_key(&lm[14], ks); + des_ecb_encrypt((des_cblock*)spoofed_challange, (des_cblock*)&pHash[16], ks, DES_ENCRYPT); +} + + +void HashORACLE(unsigned char* pPlain, int nPlainLen, unsigned char* pHash) +{ + char ToEncrypt[256]; + char temp[256]; + char username[256]; + + DES_cblock iv,iv2; + DES_key_schedule ks1,ks2; + unsigned char deskey_fixed[]={ 0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef}; + int i,j; + + strcpy (username, "SYS"); + int userlen = 3; + + strupr ((char*) pPlain); + memset (ToEncrypt,0,sizeof(ToEncrypt)); + + for (i=1,j=0; j ascii - 64 */ + "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; + +void _crypt_to64(char *s, unsigned long v, int n) +{ + while (--n >= 0) { + *s++ = itoa64[v&0x3f]; + v >>= 6; + } +} + +void HashPIX(unsigned char* pPlain, int nPlainLen, unsigned char* pHash) +{ + char temp[MD5_DIGEST_LENGTH+1]; + unsigned char final[MD5_DIGEST_LENGTH]; + char* pass = (char*) calloc (nPlainLen+MD5_DIGEST_LENGTH,sizeof(char)); + + memcpy (pass,pPlain,nPlainLen); + + /*MD5_CTX ctx; + MD5_Init(&ctx); + MD5_Update(&ctx, (unsigned char *) pass, MD5_DIGEST_LENGTH); + MD5_Final(final, &ctx);*/ + fast_MD5((unsigned char *) pass, MD5_DIGEST_LENGTH, final); + + char* p = (char*) temp; + _crypt_to64(p,*(unsigned long*) (final+0),4); p += 4; + _crypt_to64(p,*(unsigned long*) (final+4),4); p += 4; + _crypt_to64(p,*(unsigned long*) (final+8),4); p += 4; + _crypt_to64(p,*(unsigned long*) (final+12),4); p += 4; + *p=0; + + memcpy(pHash,temp,MD5_DIGEST_LENGTH); + + free (pass); +} + +#ifndef _WIN32 +char *strupr(char *s1) +{ + char *p = s1; + while(*p) + { + toupper(*p); + p++; + } + return s1; +} +#endif diff --git a/Client Applications/rcracki_mt/HashAlgorithm.h b/Client Applications/rcracki_mt/HashAlgorithm.h new file mode 100644 index 0000000..9958cbc --- /dev/null +++ b/Client Applications/rcracki_mt/HashAlgorithm.h @@ -0,0 +1,42 @@ +/* + RainbowCrack - a general propose implementation of Philippe Oechslin's faster time-memory trade-off technique. + + Copyright (C) Zhu Shuanglei +*/ + +#ifndef _HASHALGORITHM_H +#define _HASHALGORITHM_H + +void HashLM(unsigned char* pPlain, int nPlainLen, unsigned char* pHash); +void HashNTLM(unsigned char* pPlain, int nPlainLen, unsigned char* pHash); +void HashMD2(unsigned char* pPlain, int nPlainLen, unsigned char* pHash); +void HashMD4(unsigned char* pPlain, int nPlainLen, unsigned char* pHash); +void HashMD5(unsigned char* pPlain, int nPlainLen, unsigned char* pHash); +void HashDoubleMD5(unsigned char* pPlain, int nPlainLen, unsigned char* pHash); +void HashSHA1(unsigned char* pPlain, int nPlainLen, unsigned char* pHash); +void HashRIPEMD160(unsigned char* pPlain, int nPlainLen, unsigned char* pHash); +void HashMSCACHE(unsigned char *pPlain, int nPlainLen, unsigned char* pHash); +//**************************************************************************** +// MySQL Password Hashing +//**************************************************************************** +void HashMySQL323(unsigned char* pPlain, int nPlainLen, unsigned char* pHash); +void HashMySQLSHA1(unsigned char* pPlain, int nPlainLen, unsigned char* pHash); + +//**************************************************************************** +// Cisco PIX Password Hashing +//**************************************************************************** +void HashPIX(unsigned char* pPlain, int nPlainLen, unsigned char* pHash); + +//**************************************************************************** +// (HALF) LM CHALL hashing +void HashLMCHALL(unsigned char* pPlain, int nPlainLen, unsigned char* pHash); +void HashHALFLMCHALL(unsigned char* pPlain, int nPlainLen, unsigned char* pHash); + +// From mao +void HashNTLMCHALL(unsigned char* pPlain, int nPlainLen, unsigned char* pHash); +void HashORACLE(unsigned char* pPlain, int nPlainLen, unsigned char* pHash); + +#ifndef _WIN32 +char *strupr(char *s1); +#endif +#endif diff --git a/Client Applications/rcracki_mt/HashRoutine.cpp b/Client Applications/rcracki_mt/HashRoutine.cpp new file mode 100644 index 0000000..02fbe71 --- /dev/null +++ b/Client Applications/rcracki_mt/HashRoutine.cpp @@ -0,0 +1,78 @@ +/* + RainbowCrack - a general propose implementation of Philippe Oechslin's faster time-memory trade-off technique. + + Copyright (C) Zhu Shuanglei +*/ + +#ifdef _WIN32 + #pragma warning(disable : 4786 4267 4018) +#endif + +#include "HashRoutine.h" +#include "HashAlgorithm.h" + +////////////////////////////////////////////////////////////////////// + +CHashRoutine::CHashRoutine() +{ + // Notice: MIN_HASH_LEN <= nHashLen <= MAX_HASH_LEN + + + AddHashRoutine("lm", HashLM, 8); + AddHashRoutine("ntlm", HashNTLM, 16); + AddHashRoutine("md2", HashMD2, 16); + AddHashRoutine("md4", HashMD4, 16); + AddHashRoutine("md5", HashMD5, 16); + AddHashRoutine("doublemd5", HashDoubleMD5, 16); + AddHashRoutine("sha1", HashSHA1, 20); + AddHashRoutine("ripemd160", HashRIPEMD160, 20); + AddHashRoutine("mysql323", HashMySQL323, 8); + AddHashRoutine("mysqlsha1", HashMySQLSHA1, 20); + AddHashRoutine("ciscopix", HashPIX, 16); + AddHashRoutine("mscache", HashMSCACHE, 16); + AddHashRoutine("halflmchall", HashHALFLMCHALL, 8); + + // Added from mao + AddHashRoutine("lmchall", HashLMCHALL, 24); + AddHashRoutine("ntlmchall", HashNTLMCHALL, 24); + AddHashRoutine("oracle", HashORACLE, 8); + +} + +CHashRoutine::~CHashRoutine() +{ +} + +void CHashRoutine::AddHashRoutine(string sHashRoutineName, HASHROUTINE pHashRoutine, int nHashLen) +{ + vHashRoutineName.push_back(sHashRoutineName); + vHashRoutine.push_back(pHashRoutine); + vHashLen.push_back(nHashLen); +} + +string CHashRoutine::GetAllHashRoutineName() +{ + string sRet; + int i; + for (i = 0; i < vHashRoutineName.size(); i++) + sRet += vHashRoutineName[i] + " "; + + return sRet; +} + +void CHashRoutine::GetHashRoutine(string sHashRoutineName, HASHROUTINE& pHashRoutine, int& nHashLen) +{ + int i; + for (i = 0; i < vHashRoutineName.size(); i++) + { + if (sHashRoutineName == vHashRoutineName[i]) + { + pHashRoutine = vHashRoutine[i]; + nHashLen = vHashLen[i]; + return; + } + } + + pHashRoutine = NULL; + nHashLen = 0; +} diff --git a/Client Applications/rcracki_mt/HashRoutine.h b/Client Applications/rcracki_mt/HashRoutine.h new file mode 100644 index 0000000..681fa78 --- /dev/null +++ b/Client Applications/rcracki_mt/HashRoutine.h @@ -0,0 +1,33 @@ +/* + RainbowCrack - a general propose implementation of Philippe Oechslin's faster time-memory trade-off technique. + + Copyright (C) Zhu Shuanglei +*/ + +#ifndef _HASHROUTINE_H +#define _HASHROUTINE_H + +#include +#include +using namespace std; + +typedef void (*HASHROUTINE)(unsigned char* pPlain, int nPlainLen, unsigned char* pHash); + +class CHashRoutine +{ +public: + CHashRoutine(); + virtual ~CHashRoutine(); + +private: + vector vHashRoutineName; + vector vHashRoutine; + vector vHashLen; + void AddHashRoutine(string sHashRoutineName, HASHROUTINE pHashRoutine, int nHashLen); + +public: + string GetAllHashRoutineName(); + void GetHashRoutine(string sHashRoutineName, HASHROUTINE& pHashRoutine, int& nHashLen); +}; + +#endif diff --git a/Client Applications/rcracki_mt/HashSet.cpp b/Client Applications/rcracki_mt/HashSet.cpp new file mode 100644 index 0000000..cf8afdb --- /dev/null +++ b/Client Applications/rcracki_mt/HashSet.cpp @@ -0,0 +1,164 @@ +/* + RainbowCrack - a general propose implementation of Philippe Oechslin's faster time-memory trade-off technique. + + Copyright (C) Zhu Shuanglei +*/ + +#ifdef _WIN32 + #pragma warning(disable : 4786 4267 4018) +#endif + +#include "HashSet.h" + +CHashSet::CHashSet() +{ +} + +CHashSet::~CHashSet() +{ +} + +void CHashSet::AddHash(string sHash) +{ + if (sHash == "aad3b435b51404ee") + return; + + int i; + for (i = 0; i < m_vHash.size(); i++) + { + if (m_vHash[i] == sHash) + return; + } + + //printf("debug: adding hash %s\n", sHash.c_str()); + + m_vHash.push_back(sHash); + m_vFound.push_back(false); + m_vPlain.push_back(""); + m_vBinary.push_back(""); +} + +string CHashSet::GetHashInfo(int i) +{ + string found; + if (m_vFound[i]) + found = "1"; + else + found = "0"; + + string buffer = m_vHash[i] + ":" + found + ":" + m_vPlain[i] + ":" + m_vBinary[i]; + + return buffer; +} + +bool CHashSet::AnyhashLeft() +{ + int i; + for (i = 0; i < m_vHash.size(); i++) + { + if (!m_vFound[i]) + return true; + } + + return false; +} + +bool CHashSet::AnyHashLeftWithLen(int nLen) +{ + int i; + for (i = 0; i < m_vHash.size(); i++) + { + if (!m_vFound[i]) + if (m_vHash[i].size() == nLen * 2) + return true; + } + + return false; +} + +void CHashSet::GetLeftHashWithLen(vector& vHash, int nLen) +{ + vHash.clear(); + + int i; + for (i = 0; i < m_vHash.size(); i++) + { + if (!m_vFound[i]) + if (m_vHash[i].size() == nLen * 2) + vHash.push_back(m_vHash[i]); + } +} + +void CHashSet::AddHashInfo(string sHash, bool found, string sPlain, string sBinary) +{ + int i; + for (i = 0; i < m_vHash.size(); i++) + { + if (m_vHash[i] == sHash) + return; + } + + m_vHash.push_back(sHash); + m_vFound.push_back(found); + m_vPlain.push_back(sPlain); + m_vBinary.push_back(sBinary); +} + +void CHashSet::SetPlain(string sHash, string sPlain, string sBinary) +{ + int i; + for (i = 0; i < m_vHash.size(); i++) + { + if (m_vHash[i] == sHash) + { + m_vFound[i] = true; + m_vPlain[i] = sPlain; + m_vBinary[i] = sBinary; + return; + } + } +} + +bool CHashSet::GetPlain(string sHash, string& sPlain, string& sBinary) +{ + if (sHash == "aad3b435b51404ee") + { + sPlain = ""; + sBinary = ""; + return true; + } + + int i; + for (i = 0; i < m_vHash.size(); i++) + { + if (m_vHash[i] == sHash) + { + if (m_vFound[i]) + { + sPlain = m_vPlain[i]; + sBinary = m_vBinary[i]; + return true; + } + } + } + + return false; +} + +int CHashSet::GetStatHashFound() +{ + int nHashFound = 0; + int i; + for (i = 0; i < m_vHash.size(); i++) + { + if (m_vFound[i]) + nHashFound++; + } + + return nHashFound; +} + +int CHashSet::GetStatHashTotal() +{ + return m_vHash.size(); +} diff --git a/Client Applications/rcracki_mt/HashSet.h b/Client Applications/rcracki_mt/HashSet.h new file mode 100644 index 0000000..746bb72 --- /dev/null +++ b/Client Applications/rcracki_mt/HashSet.h @@ -0,0 +1,40 @@ +/* + RainbowCrack - a general propose implementation of Philippe Oechslin's faster time-memory trade-off technique. + + Copyright (C) Zhu Shuanglei +*/ + +#ifndef _HASHSET_H +#define _HASHSET_H + +#include "Public.h" + +class CHashSet +{ +public: + CHashSet(); + virtual ~CHashSet(); + +private: + vector m_vHash; + vector m_vFound; + vector m_vPlain; + vector m_vBinary; + +public: + void AddHash(string sHash); // lowercase, len % 2 == 0, MIN_HASH_LEN * 2 <= len <= MAX_HASH_LEN * 2 + bool AnyhashLeft(); + bool AnyHashLeftWithLen(int nLen); + void GetLeftHashWithLen(vector& vHash, int nLen); + + void SetPlain(string sHash, string sPlain, string sBinary); + bool GetPlain(string sHash, string& sPlain, string& sBinary); + + int GetStatHashFound(); + int GetStatHashTotal(); + + string GetHashInfo(int i); + void AddHashInfo(string sHash, bool found, string sPlain, string sBinary); +}; + +#endif diff --git a/Client Applications/rcracki_mt/Makefile b/Client Applications/rcracki_mt/Makefile new file mode 100644 index 0000000..f6329ac --- /dev/null +++ b/Client Applications/rcracki_mt/Makefile @@ -0,0 +1,5 @@ +rcracki_mt: + g++ *.cpp -lssl -lpthread -O3 -o rcracki_mt + +clean: + rm rcracki_mt diff --git a/Client Applications/rcracki_mt/MemoryPool.cpp b/Client Applications/rcracki_mt/MemoryPool.cpp new file mode 100644 index 0000000..2129daa --- /dev/null +++ b/Client Applications/rcracki_mt/MemoryPool.cpp @@ -0,0 +1,81 @@ +/* + RainbowCrack - a general propose implementation of Philippe Oechslin's faster time-memory trade-off technique. + + Copyright (C) Zhu Shuanglei +*/ + +#include "MemoryPool.h" +#include "Public.h" + +CMemoryPool::CMemoryPool(unsigned int bytesForChainWalkSet) +{ + m_pMem = NULL; + m_nMemSize = 0; + + unsigned int nAvailPhys = GetAvailPhysMemorySize(); + if (nAvailPhys < 32 * 1024 * 1024) + { + nAvailPhys = 256 * 1024 * 1024; // There is atleast 256 mb available (Some Linux distros returns a really low GetAvailPhysMemorySize()) + } + + m_nMemMax = nAvailPhys - bytesForChainWalkSet; // Leave memory for CChainWalkSet + + if (m_nMemMax < 16 * 1024 * 1024) + m_nMemMax = 16 * 1024 * 1024; + +} + +CMemoryPool::~CMemoryPool() +{ + if (m_pMem != NULL) + { + delete m_pMem; + m_pMem = NULL; + m_nMemSize = 0; + } +} + +unsigned char* CMemoryPool::Allocate(unsigned int nFileLen, unsigned int& nAllocatedSize) +{ + if (nFileLen <= m_nMemSize) + { + nAllocatedSize = nFileLen; + return m_pMem; + } + + unsigned int nTargetSize; + if (nFileLen < m_nMemMax) + nTargetSize = nFileLen; + else + nTargetSize = m_nMemMax; + + // Free existing memory + if (m_pMem != NULL) + { + delete m_pMem; + m_pMem = NULL; + m_nMemSize = 0; + } + + // Allocate new memory + //printf("allocating %u bytes memory\n", nTargetSize); + m_pMem = new (nothrow) unsigned char[nTargetSize]; + while (m_pMem == NULL && nTargetSize >= 32 * 1024 * 1024 ) + { + nTargetSize -= 16 * 1024 * 1024; + m_pMem = new (nothrow) unsigned char[nTargetSize]; + } + + if (m_pMem != NULL) + { + m_nMemSize = nTargetSize; + nAllocatedSize = nTargetSize; + return m_pMem; + } + else + { + m_nMemSize = 0; + nAllocatedSize = 0; + return NULL; + } +} diff --git a/Client Applications/rcracki_mt/MemoryPool.h b/Client Applications/rcracki_mt/MemoryPool.h new file mode 100644 index 0000000..91d8214 --- /dev/null +++ b/Client Applications/rcracki_mt/MemoryPool.h @@ -0,0 +1,26 @@ +/* + RainbowCrack - a general propose implementation of Philippe Oechslin's faster time-memory trade-off technique. + + Copyright (C) Zhu Shuanglei +*/ + +#ifndef _MEMORYPOOL_H +#define _MEMORYPOOL_H + +class CMemoryPool +{ +public: + CMemoryPool(unsigned int bytesForChainWalkSet); + virtual ~CMemoryPool(); + +private: + unsigned char* m_pMem; + unsigned int m_nMemSize; + + unsigned int m_nMemMax; + +public: + unsigned char* Allocate(unsigned int nFileLen, unsigned int& nAllocatedSize); +}; + +#endif diff --git a/Client Applications/rcracki_mt/Public.cpp b/Client Applications/rcracki_mt/Public.cpp new file mode 100644 index 0000000..6b98157 --- /dev/null +++ b/Client Applications/rcracki_mt/Public.cpp @@ -0,0 +1,311 @@ +/* + RainbowCrack - a general propose implementation of Philippe Oechslin's faster time-memory trade-off technique. + + Copyright (C) Zhu Shuanglei +*/ + +#ifdef _WIN32 + #pragma warning(disable : 4786 4267 4018) +#endif + +#include "Public.h" + +#ifdef _WIN32 + #include +#else + #include +#endif + +////////////////////////////////////////////////////////////////////// + +unsigned int GetFileLen(FILE* file) +{ + unsigned int pos = ftell(file); + fseek(file, 0, SEEK_END); + unsigned int len = ftell(file); + fseek(file, pos, SEEK_SET); + + return len; +} + +string TrimString(string s) +{ + while (s.size() > 0) + { + if (s[0] == ' ' || s[0] == '\t') + s = s.substr(1); + else + break; + } + + while (s.size() > 0) + { + if (s[s.size() - 1] == ' ' || s[s.size() - 1] == '\t') + s = s.substr(0, s.size() - 1); + else + break; + } + + return s; +} +bool GetHybridCharsets(string sCharset, vector& vCharset) +{ + // Example: hybrid(mixalpha-numeric-all-space#1-6,numeric#1-4) + if(sCharset.substr(0, 6) != "hybrid") // Not hybrid charset + return false; + size_t nEnd = sCharset.rfind(')'); + size_t nStart = sCharset.rfind('('); + string sChar = sCharset.substr(nStart + 1, nEnd - nStart - 1); + vector vParts; + SeperateString(sChar, ",", vParts); + for(int i = 0; i < vParts.size(); i++) + { + tCharset stCharset; + vector vParts2; + SeperateString(vParts[i], "#", vParts2); + stCharset.sName = vParts2[0]; + vector vParts3; + SeperateString(vParts2[1], "-", vParts3); + stCharset.nPlainLenMin = atoi(vParts3[0].c_str()); + stCharset.nPlainLenMax = atoi(vParts3[1].c_str()); + vCharset.push_back(stCharset); + } + return true; +} +bool ReadLinesFromFile(string sPathName, vector& vLine) +{ + vLine.clear(); + + FILE* file = fopen(sPathName.c_str(), "rb"); + if (file != NULL) + { + unsigned int len = GetFileLen(file); + char* data = new char[len + 1]; + fread(data, 1, len, file); + data[len] = '\0'; + string content = data; + content += "\n"; + delete data; + + unsigned int i; + for (i = 0; i < content.size(); i++) + { + if (content[i] == '\r') + content[i] = '\n'; + } + + int n; + while ((n = content.find("\n", 0)) != -1) + { + string line = content.substr(0, n); + line = TrimString(line); + if (line != "") + vLine.push_back(line); + content = content.substr(n + 1); + } + + fclose(file); + } + else + return false; + + return true; +} + +bool writeResultLineToFile(string sOutputFile, string sHash, string sPlain, string sBinary) +{ + FILE* file = fopen(sOutputFile.c_str(), "a"); + if (file!=NULL) + { + string buffer = sHash + ":" + sPlain + ":" + sBinary + "\n"; + fputs (buffer.c_str(), file); + fclose (file); + return true; + } + else + return false; +} + +bool SeperateString(string s, string sSeperator, vector& vPart) +{ + vPart.clear(); + + unsigned int i; + for (i = 0; i < sSeperator.size(); i++) + { + int n = s.find(sSeperator[i]); + if (n != -1) + { + vPart.push_back(s.substr(0, n)); + s = s.substr(n + 1); + } + else + { + printf("not found: %c\n", sSeperator[i]); + printf("s: %s\n", s.c_str()); + return false; + } + } + vPart.push_back(s); + + return true; +} + +string uint64tostr(uint64 n) +{ + char str[32]; + +#ifdef _WIN32 + sprintf(str, "%I64u", n); +#else + sprintf(str, "%llu", n); +#endif + + return str; +} + +string uint64tohexstr(uint64 n) +{ + char str[32]; + +#ifdef _WIN32 + sprintf(str, "%016I64x", n); +#else + sprintf(str, "%016llx", n); +#endif + + return str; +} + +string HexToStr(const unsigned char* pData, int nLen) +{ + string sRet; + int i; + for (i = 0; i < nLen; i++) + { + char szByte[3]; + sprintf(szByte, "%02x", pData[i]); + sRet += szByte; + } + + return sRet; +} + +unsigned int GetAvailPhysMemorySize() +{ +#ifdef _WIN32 + MEMORYSTATUS ms; + GlobalMemoryStatus(&ms); + return ms.dwAvailPhys; +#else + struct sysinfo info; + sysinfo(&info); // This function is Linux-specific + return info.freeram; +#endif +} + +string GetApplicationPath() +{ + char fullPath[FILENAME_MAX]; + +#ifdef _WIN32 + GetModuleFileName(NULL, fullPath, FILENAME_MAX); +#else + char szTmp[32]; + sprintf(szTmp, "/proc/%d/exe", getpid()); + int bytes = readlink(szTmp, fullPath, FILENAME_MAX); + if(bytes >= 0) + fullPath[bytes] = '\0'; +#endif + + string sApplicationPath = fullPath; +#ifdef _WIN32 + int nIndex = sApplicationPath.find_last_of('\\'); +#else + int nIndex = sApplicationPath.find_last_of('/'); +#endif + + if (nIndex != -1) + sApplicationPath = sApplicationPath.substr(0, nIndex+1); + + //printf ("\n\nDebug: The application directory is %s\n", sApplicationPath.c_str()); + return sApplicationPath; +} + +void ParseHash(string sHash, unsigned char* pHash, int& nHashLen) +{ + int i; + for (i = 0; i < sHash.size() / 2; i++) + { + string sSub = sHash.substr(i * 2, 2); + int nValue; + sscanf(sSub.c_str(), "%02x", &nValue); + pHash[i] = (unsigned char)nValue; + } + + nHashLen = sHash.size() / 2; +} + +void Logo() +{ + printf("RainbowCrack (improved, multi-threaded) - Making a Faster Cryptanalytic Time-Memory Trade-Off\n"); + printf("by Martin Westergaard \n"); + printf("multi-threaded and enhanced by neinbrucke (version 0.6-svn)\n"); + printf("http://www.freerainbowtables.com/\n"); + printf("original code by Zhu Shuanglei \n"); + printf("http://www.antsight.com/zsl/rainbowcrack/\n\n"); +} + +// Code comes from nmap, used for the linux implementation of kbhit() +#ifndef _WIN32 + +static int tty_fd = 0; +struct termios saved_ti; + +int tty_getchar() +{ + int c, numChars; + + if (tty_fd && tcgetpgrp(tty_fd) == getpid()) { + c = 0; + numChars = read(tty_fd, &c, 1); + if (numChars > 0) return c; + } + + return -1; +} + +void tty_done() +{ + if (!tty_fd) return; + + tcsetattr(tty_fd, TCSANOW, &saved_ti); + + close(tty_fd); + tty_fd = 0; +} + +void tty_init() +{ + struct termios ti; + + if (tty_fd) + return; + + if ((tty_fd = open("/dev/tty", O_RDONLY | O_NONBLOCK)) < 0) return; + + tcgetattr(tty_fd, &ti); + saved_ti = ti; + ti.c_lflag &= ~(ICANON | ECHO); + ti.c_cc[VMIN] = 1; + ti.c_cc[VTIME] = 0; + tcsetattr(tty_fd, TCSANOW, &ti); + + atexit(tty_done); +} + +void tty_flush(void) +{ + tcflush(tty_fd, TCIFLUSH); +} +#endif diff --git a/Client Applications/rcracki_mt/Public.h b/Client Applications/rcracki_mt/Public.h new file mode 100644 index 0000000..5e5e8d5 --- /dev/null +++ b/Client Applications/rcracki_mt/Public.h @@ -0,0 +1,118 @@ +/* + RainbowCrack - a general propose implementation of Philippe Oechslin's faster time-memory trade-off technique. + + Copyright (C) Zhu Shuanglei +*/ + +#ifndef _PUBLIC_H +#define _PUBLIC_H + +#include +#include +#include + +#include +#include +#include +using namespace std; + +#ifdef _WIN32 + #define uint64 unsigned __int64 +#else + #ifndef u_int64_t + #define uint64 unsigned long long + #else + #define uint64 u_int64_t + #endif +#endif + +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 + +// Code comes from nmap, used for the linux implementation of kbhit() +#ifndef _WIN32 +#include +#include +#include + +int tty_getchar(); +void tty_done(); +void tty_init(); +void tty_flush(void); + +#endif + + +unsigned int GetFileLen(FILE* file); +string TrimString(string s); +bool ReadLinesFromFile(string sPathName, vector& vLine); +bool SeperateString(string s, string sSeperator, vector& vPart); +string uint64tostr(uint64 n); +string uint64tohexstr(uint64 n); +string HexToStr(const unsigned char* pData, int nLen); +unsigned int GetAvailPhysMemorySize(); +string GetApplicationPath(); +void ParseHash(string sHash, unsigned char* pHash, int& nHashLen); +bool GetHybridCharsets(string sCharset, vector& vCharset); +void Logo(); +bool writeResultLineToFile(string sOutputFile, string sHash, string sPlain, string sBinary); + +#endif diff --git a/Client Applications/rcracki_mt/README.txt b/Client Applications/rcracki_mt/README.txt new file mode 100644 index 0000000..b4b8cd8 --- /dev/null +++ b/Client Applications/rcracki_mt/README.txt @@ -0,0 +1,162 @@ +[rcracki_mt README] + +USAGE +================ +example: rcracki_mt -h 5d41402abc4b2a76b9719d911017c592 -t 4 -o save.txt C:\md5 + +Start rcracki_mt without any arguments to view usage information in short. This README describes the various +options in more detail. Many options can be set to a default value by editing rcracki_mt.ini. Command line +arguments get priority over settings in the ini file. + +INPUT +---------------- +rcracki_mt takes one hash on the command line (using -h) or an input file containing the hashes. rcracki_mt supports +three formats for the input file. Use one of the following options to specify the format followed by the filename: + +-l: specify a list of hashes (one hash per line) +-f: specify a pwdump file +-c: specify a .lst file (format in which Cain stores hashes and results) + +SELECTING RAINBOW TABLES +---------------- +Any command line argument that is not an option will be interpreted as a directory to search for rainbow tables, +multiple directories can be specified. rcracki_mt recursively scans all specified directories for *.rti (indexed) +and *.rt (old/original) files. You can use .rt & .rti files at once, but this hasn't been tested thoroughly. + +You can set default locations to search for rainbow tables in rcracki_mt.ini. You need to use these in combination +with the command line argument -a [algorithm]. See the comments in the ini file for examples. + +SESSIONS & RESUMING +---------------- +Rcracki_mt has session support, which means that it stores its progress. This allows you to interrupt the session +and resume later on. This also allows sessions that stopped because of a crash (application or even system) to +resume. To use this feature, start rcracki_mt with all the options you'd like, then specify a session name with: + +-s session_name: specify a session name + +Now during cracking, all your valuable precalculations are stored to disk, as well as progress (which files have +been checked) and cracked hashes. If you decide to interrupt the session (using CTRL+C), you can resume it using +the -r option. For example: + +rcracki_mt -r -s my_personal_hashes + +While resuming rcracki_mt you can/have to specify the less important options again, like number of threads and +showing debug information. Usually you will have these settings set to a default value in the .ini file anyway. +Session are deleted after the run is completed. You can choose to keep the precalculation work on disk, for example +if you want to reuse your session later on. Use the '-k' option to enable this feature. + +Rcracki_mt has a default session which gets overwritten every time you start a new job without specifying a session +name. It might be interesting to always keep precalculation work by enabling this feature in rcracki_mt.ini. But +pay attention, these precalculations can become quite large on disk. Currently there is a maximum of around 500 GB +of storage for these precalculations. You can always decide to manually remove the .precalc and .precalc.index +files from disk. Always remove both at the same time, you will screw up your results if you don't. A possible +'todo' for development is to do some verification before using stored precalculations. + +OPTIONAL +---------------- +-t: Number of threads to use (for precalculation and false alarm checking) +Note: In Windows the crack threads run with lower priority. + +-o: specify an output file to store found hashes in a colon (:) separated format. + Hashes are saved immediately when found. Especially useful if you have a large list of hashes. + +-v: Show more information during cracking, for debugging purposes. Please use this flag if you want to show +output and report a bug. + + +EXTRA FEATURES +---------------- +You can pause a running rcracki_mt by using 'P'. It might not pause right away, it actually pauses after doing +precalculation or false alarm checking for one hash. Resume by pressing 'P' again. This pause option is different +from the session/resume feature, as this just pauses a running job, you don't stop rcracki_mt this way. + +If you are trying to crack a pwdump or Cain (.lst) file, containing both LM and NTLM hashes, rcracki_mt will try +and crack the LM hashes. The result will be an uppercase password, which rcracki_mt will then try to correct with +the right casing, using the NTLM hashes. If this fails it will try and perform Unicode correction, using a built-in +mapping. If you happen to have an LM hash coupled with the wrong NTLM hash, this attempt to perform Unicode +correction might take 'forever'. You can press 'S' to skip this step for the current hash. + + +HISTORY AND AUTHORS +================ +rcracki_mt originally started as a modification of a modification (rcracki) of the original RainbowCrack (rcrack). +These programs are all used to perform a rainbow table attack on password hashes, implementing Philippe Oechslin's +faster time-memory trade-off technique. + +Original rcrack code was written by Zhu Shuanglei . + +Martin Westergaard Jørgensen wrote rcracki (improved) to support the rainbow tables +generated by the distributed project www.freerainbowtables.com. These tables are perfected and indexed, making them +faster and smaller. Rcracki also supported hybrid tables. + +Daniël Niggebrugge further enhanced this version and made it multi threaded, creating rcracki_mt. More +features were added over time, making it less of an unofficial version with every release. + + +SUPPORTED HASH ALGORITHMS +================ +Hash types supported by rcracki_mt are: LM, NTLM, MD2, MD4, MD5, DoubleMD5, SHA1, RIPEMD160, MSCACHE, MySQL323, +MySQLSHA1, PIX, LMCHALL, HALFLMCHALL, NTLMCHALL, ORACLE + +Actual indexed&perfected tables that were generated by the Free Rainbow Tables project: LM, MD5, NTL, FASTLM, +HALFLMCHALL, SHA1 + + +SUPPORTED PLATFORMS +================ +Rcracki_mt is released both as win32 binary and as source package. Rcracki_mt should work on any Microsoft Windows system, but is only tested on a 32 bit Windows XP. The source should work on Linux versions, but this has only been tested on 32 bit Ubuntu (8.10). + +Some people have reported issues with compiling on 64 bit Linux. If you have trouble, please report details, as workaround try this suggested solution for AMD64 UBUNTU 8.10: + + sudo apt-get install ia32-libs + + +you might need to do: + cd /usr/lib32/ + sudo ln -s libstdc++.so.6 libstdc++.so + sudo ln -s libssl.so.0.9.8 libssl.so + + +add -m32 to the compilerline in the Makefile + g++ -m32 *.cpp -L/usr/lib32 -lssl -lpthread -O3 -o rcracki_mt + + +'OPTIONAL' TODO +================ +- verification of an endpoint when restoring a chainwalkset from disk. +- read multiple chainwalksets from disk at once to try and speed up this process. +- read next table (part) from disk while doing cryptanalysis + + +LINKS +================ +rcracki_mt @ SourceForge: https://sourceforge.net/projects/rcracki/ +Original rcrack: http://www.antsight.com/zsl/rainbowcrack/ +Free Rainbow Tables: http://www.freerainbowtables.com/ +My personal blog: http://blog.distracted.nl/ +Download free rainbow tables: http://tbhost.eu/ +Download free rainbow tables (mirror): http://freerainbowtables.mirror.garr.it/mirrors/freerainbowtables/ + + +THANKS +================ +the_drag0n Writing part of this README + Patch to support Cain .lst files +Joao Inacio Supplying some faster algorithm implementations + + +FAQ +================ +Q: Why do I get this message all the time? "this table contains hashes with length 8 only" +A: You are probably trying to crack LM hashes. You have to split up the hash in 2 parts of 16 hex characters each. + +Q: rcracki_mt is so slow when I'm cracking 5000 hashes, why is that? +A: Rainbow table attacks are only useful for a certain amount of hashes, mainly because of the precalculations that +are needed for every hash you are cracking. At a certain point it is faster to brute force the same key space then +to try and use rainbow tables. Especially if you use a GPU enabled brute forcer, this limit might be reached very +soon. Play around with these to find you limits. + +Q: How can I speed up rcracki_mt? +A: This depends on quite some factors. If your jobs usually comprise of disk access time, you can try and speed up +your storage. For example by using RAID and/or by using solid state disks. If you are trying to crack many hashes +at the same time, you might be better off with buying a faster CPU. diff --git a/Client Applications/rcracki_mt/RTI2Reader.cpp b/Client Applications/rcracki_mt/RTI2Reader.cpp new file mode 100644 index 0000000..d58e881 --- /dev/null +++ b/Client Applications/rcracki_mt/RTI2Reader.cpp @@ -0,0 +1,125 @@ +#include "RTI2Reader.h" + +#include +RTI2Header *RTI2Reader::m_pHeader = NULL; +RTI2Reader::RTI2Reader(string Filename) +{ + //m_pIndexPos = NULL, m_pChainPos = NULL;; + m_pIndex = NULL; + m_pFile = fopen(Filename.c_str(), "rb"); + if(m_pFile == NULL) + { + printf("Unable to open file %s", Filename.c_str()); + exit(1); + } + FILE *pFileIndex = fopen(Filename.append(".index").c_str(), "rb"); + if(pFileIndex == NULL) + { + printf("Unable to open file %s", Filename.append(".index").c_str()); + exit(1); + } + m_chainPosition = 0; + + unsigned int len = GetFileLen(pFileIndex); + fseek(pFileIndex, 0, SEEK_SET); + + m_pIndex = new unsigned char[len]; + if(fread(m_pIndex, 1, len, pFileIndex) != len) + { + printf("Error while reading index file"); + exit(1); + } + fclose(pFileIndex); + m_pHeader = new RTI2Header(); + memcpy(m_pHeader, m_pIndex, sizeof(RTI2Header)); + m_pHeader->m_cppos = (unsigned int*)(m_pIndex + 8); + m_pHeader->prefixstart = *(uint64*)(m_pIndex + 8 + (m_pHeader->rti_cplength * 4)); + m_chainsizebytes = ceil((float)(m_pHeader->rti_startptlength + m_pHeader->rti_endptlength + m_pHeader->rti_cplength) / 8); // Get the size of each chain in bytes + m_indexrowsizebytes = ceil((float)m_pHeader->rti_index_numchainslength / 8); + // Check the filesize + fseek(m_pFile, 0, SEEK_END); + len = ftell(m_pFile); + fseek(m_pFile, 0, SEEK_SET); + if(len % m_chainsizebytes > 0) + { + printf("Invalid filesize %u\n", len); + return; + } + + +} + +RTI2Reader::~RTI2Reader(void) +{ + if(m_pIndex != NULL) delete m_pIndex; + if(m_pFile != NULL) fclose(m_pFile); + +} + +unsigned int RTI2Reader::GetChainsLeft() +{ + int len = GetFileLen(m_pFile); + return len / m_chainsizebytes - m_chainPosition; +} + +int RTI2Reader::ReadChains(unsigned int &numChains, RainbowChainO *pData) +{ + if(strncmp(m_pHeader->header, "RTI2", 4) != 0) + { + numChains = 0; + return -1; + } + unsigned char *pNumChains = m_pIndex + (m_pHeader->rti_cplength * 4) + 16; // Pointer into the index containing info about how many numbers are in the first chain prefix + unsigned int i = 0; + unsigned int indexRow = 0; // Current offset into the index + unsigned int curRowPosition = 0; + + while(true) // Fast forward to current position + { + // ALERT: Possible problem here if m_indexrowsizebytes > 1 as pNumChains is a unsigned char. + unsigned int NumChainsInRow = (unsigned int)*(pNumChains + indexRow * m_indexrowsizebytes); + if(m_indexrowsizebytes > 1) { printf("Have to find a solution to this problem"); exit(2);} + if(i + NumChainsInRow > m_chainPosition) + { + curRowPosition = m_chainPosition - i; + break; // The current position is somewhere within this prefix + } + indexRow++; + i += NumChainsInRow; + } + + uint64 chainrow = 0; // Buffer to store a single read chain + unsigned int chainsProcessed = 0; // Number of chains processed + + // ALERT: same problem with unsigned char here. + unsigned int NumChainsInRow = *(pNumChains + indexRow); + while(chainsProcessed < numChains && fread(&chainrow, 1, m_chainsizebytes, m_pFile) == m_chainsizebytes) + { + if(curRowPosition >= NumChainsInRow) + { // Skip to next index row position + indexRow++; + curRowPosition = 0; + NumChainsInRow = *(pNumChains + indexRow); + } + while(NumChainsInRow == 0) // We skip forward until we hit a index with > 0 chains + { + indexRow++; + NumChainsInRow = *(pNumChains + indexRow); + curRowPosition = 0; + } + // Load the starting point from the data + pData[chainsProcessed].nIndexS = chainrow << 64 - m_pHeader->rti_startptlength; + pData[chainsProcessed].nIndexS = pData[chainsProcessed].nIndexS >> 64 - m_pHeader->rti_startptlength; + + // Load the ending point prefix + pData[chainsProcessed].nIndexE = m_pHeader->prefixstart + indexRow << m_pHeader->rti_endptlength; + // Append the ending point suffix + pData[chainsProcessed].nIndexE |= (chainrow & (0xFFFFFFFFFFFFFFFF >> m_pHeader->rti_cplength)) >> m_pHeader->rti_startptlength; + //pData[chainsProcessed].nCheckPoint = (chainrow >> m_pHeader->rti_startptlength + m_pHeader->rti_endptlength); + curRowPosition++; + chainsProcessed++; + } + numChains = chainsProcessed; + m_chainPosition += numChains; + return 0; +} diff --git a/Client Applications/rcracki_mt/RTI2Reader.h b/Client Applications/rcracki_mt/RTI2Reader.h new file mode 100644 index 0000000..6934e6c --- /dev/null +++ b/Client Applications/rcracki_mt/RTI2Reader.h @@ -0,0 +1,42 @@ +#ifndef __RTI2READER_H__ +#define __RTI2READER_H__ + +#include "Public.h" +#include +#ifdef WIN32 +#include +#endif +#include +#include "BaseRTReader.h" +using namespace std; + +typedef struct +{ + char header[4]; + unsigned char rti_startptlength, rti_endptlength, rti_cplength, rti_index_numchainslength; + uint64 prefixstart; + unsigned int *m_cppos; +} RTI2Header; + +class RTI2Reader : BaseRTReader +{ +private: + FILE *m_pFile; + unsigned int m_chainPosition; + unsigned char *m_pPos, *m_pChainPos; + static RTI2Header *m_pHeader; + unsigned char *m_pIndex; + unsigned int m_chainsizebytes; + unsigned int m_indexrowsizebytes; + + +public: + RTI2Reader(string Filename); + ~RTI2Reader(void); + int ReadChains(unsigned int &numChains, RainbowChainO *pData); + unsigned int GetChainsLeft(); + static RTI2Header *GetHeader() { return m_pHeader; } +}; + + +#endif diff --git a/Client Applications/rcracki_mt/RainbowCrack.cpp b/Client Applications/rcracki_mt/RainbowCrack.cpp new file mode 100644 index 0000000..185dd1a --- /dev/null +++ b/Client Applications/rcracki_mt/RainbowCrack.cpp @@ -0,0 +1,831 @@ +/* + RainbowCrack - a general propose implementation of Philippe Oechslin's faster time-memory trade-off technique. + + Copyright (C) Zhu Shuanglei + + Modified by Martin Westergaard Jørgensen to support indexed and hybrid tables + + Modified by neinbrucke to support multi threading and a bunch of other stuff :) + + 2009-01-04 - - Slightly modified (or "fulhack" as we say in sweden) + to support cain .lst files. +*/ + +#ifdef _WIN32 + #pragma warning(disable : 4786 4267 4018) +#endif + +#include "CrackEngine.h" +#include "lm2ntlm.h" +#include + + + +#ifdef _WIN32 + #include +#else + #include + #include + #include + #include +#endif + +#include +#ifdef _WIN32 + #pragma comment(lib, "libeay32.lib") +#endif + +////////////////////////////////////////////////////////////////////// + +#ifdef _WIN32 +void GetTableList(string sWildCharPathName, vector& vPathName) +{ + //vPathName.clear(); + + string sPath; + int n = sWildCharPathName.find_last_of('\\'); + + if (n == (sWildCharPathName.size() - 1)) + { + sWildCharPathName = sWildCharPathName.substr(0, n); + n = sWildCharPathName.find_last_of('\\'); + } + + if (n != -1) + sPath = sWildCharPathName.substr(0, n + 1); + + _finddata_t fd; + + long handle = _findfirst(sWildCharPathName.c_str(), &fd); + if (handle != -1) + { + do + { + string sName = fd.name; + if (sName.size()>3) { + if (sName.substr(sName.size()-3, 3) == ".rt" && !(fd.attrib & _A_SUBDIR)) + { + string sPathName = sPath + sName; + vPathName.push_back(sPathName); + } + } + if (sName.size()>4) { + if (sName.substr(sName.size()-4, 4) == ".rti" && !(fd.attrib & _A_SUBDIR)) + { + string sPathName = sPath + sName; + vPathName.push_back(sPathName); + } + } + if (sName.size()>5) { + if (sName.substr(sName.size()-5, 5) == ".rti2" && !(fd.attrib & _A_SUBDIR)) + { + string sPathName = sPath + sName; + vPathName.push_back(sPathName); + } + } + + if (sName != "." && sName != ".." && (fd.attrib & _A_SUBDIR)) + { + string sPath_sub = sPath + sName + '\\'; + string sWildCharPathName_sub = sPath_sub + '*'; + GetTableList(sWildCharPathName_sub, vPathName); + } + + } while (_findnext(handle, &fd) == 0); + + _findclose(handle); + } + //printf("Found %d rainbowtables (files) in %d sub directories...\n", vPathName.size(), subDir_count); +} +#else +//void GetTableList(int argc, char* argv[], vector& vPathName) +void GetTableList(string sWildCharPathName, vector& vPathName) +{ + //vPathName.clear(); + + struct stat buf; + if (lstat(sWildCharPathName.c_str(), &buf) == 0) + { + if (S_ISDIR(buf.st_mode)) + { + DIR *dir = opendir(sWildCharPathName.c_str()); + if(dir) + { + struct dirent *pDir=NULL; + while((pDir = readdir(dir)) != NULL) + { + string filename = ""; + filename += (*pDir).d_name; + if (filename != "." && filename != "..") + { + string new_filename = sWildCharPathName + '/' + filename; + GetTableList(new_filename, vPathName); + } + } + closedir(dir); + } + } + else if (S_ISREG(buf.st_mode)) + { + if (sWildCharPathName.size()>3) + { + if (sWildCharPathName.substr(sWildCharPathName.size()-3, 3) == ".rt") + { + vPathName.push_back(sWildCharPathName); + } + } + if (sWildCharPathName.size()>4) + { + if (sWildCharPathName.substr(sWildCharPathName.size()-4, 4) == ".rti") + { + //string sPathName_sub = sPath_sub + sName_sub; + vPathName.push_back(sWildCharPathName); + //printf("sPathName_sub: %s\n", sPathName_sub.c_str()); + } + } + } + } +} +#endif + +bool NormalizeHash(string& sHash) +{ + string sNormalizedHash = sHash; + + if ( sNormalizedHash.size() % 2 != 0 + || sNormalizedHash.size() < MIN_HASH_LEN * 2 + || sNormalizedHash.size() > MAX_HASH_LEN * 2) + return false; + + // Make lower + int i; + for (i = 0; i < sNormalizedHash.size(); i++) + { + if (sNormalizedHash[i] >= 'A' && sNormalizedHash[i] <= 'F') + sNormalizedHash[i] = sNormalizedHash[i] - 'A' + 'a'; + } + + // Character check + for (i = 0; i < sNormalizedHash.size(); i++) + { + if ( (sNormalizedHash[i] < 'a' || sNormalizedHash[i] > 'f') + && (sNormalizedHash[i] < '0' || sNormalizedHash[i] > '9')) + return false; + } + + sHash = sNormalizedHash; + return true; +} + +void LoadLMHashFromPwdumpFile(string sPathName, vector& vUserName, vector& vLMHash, vector& vNTLMHash) +{ + vector vLine; + if (ReadLinesFromFile(sPathName, vLine)) + { + int i; + for (i = 0; i < vLine.size(); i++) + { + vector vPart; + if (SeperateString(vLine[i], "::::", vPart)) + { + string sUserName = vPart[0]; + string sLMHash = vPart[2]; + string sNTLMHash = vPart[3]; + + if (sLMHash.size() == 32 && sNTLMHash.size() == 32) + { + if (NormalizeHash(sLMHash) && NormalizeHash(sNTLMHash)) + { + vUserName.push_back(sUserName); + vLMHash.push_back(sLMHash); + vNTLMHash.push_back(sNTLMHash); + } + else + printf("invalid lm/ntlm hash %s:%s\n", sLMHash.c_str(), sNTLMHash.c_str()); + } + } + } + } + else + printf("can't open %s\n", sPathName.c_str()); +} + +// 2009-01-04 - james - Added this so we can load hashes from cain .LST files. +void LoadLMHashFromCainLSTFile(string sPathName, vector& vUserName, vector& vLMHash, vector& vNTLMHash) +{ + vector vLine; + if (ReadLinesFromFile(sPathName, vLine)) + { + int i; + for (i = 0; i < vLine.size(); i++) + { + vector vPart; + if (SeperateString(vLine[i], "\t\t\t\t\t\t", vPart)) + { + string sUserName = vPart[0]; + string sLMHash = vPart[4]; + string sNTLMHash = vPart[5]; + + if (sLMHash.size() == 32 && sNTLMHash.size() == 32) + { + if (NormalizeHash(sLMHash) && NormalizeHash(sNTLMHash)) + { + vUserName.push_back(sUserName); + vLMHash.push_back(sLMHash); + vNTLMHash.push_back(sNTLMHash); + } + else + printf("invalid lm/ntlm hash %s:%s\n", sLMHash.c_str(), sNTLMHash.c_str()); + } + } + } + } + else + printf("can't open %s\n", sPathName.c_str()); +} + +bool NTLMPasswordSeek(unsigned char* pLMPassword, int nLMPasswordLen, int nLMPasswordNext, + unsigned char* pNTLMHash, string& sNTLMPassword) +{ + if (nLMPasswordNext == nLMPasswordLen) + { + unsigned char md[16]; + MD4(pLMPassword, nLMPasswordLen * 2, md); + if (memcmp(md, pNTLMHash, 16) == 0) + { + sNTLMPassword = ""; + int i; + for (i = 0; i < nLMPasswordLen; i++) + sNTLMPassword += char(pLMPassword[i * 2]); + return true; + } + else + return false; + } + + if (NTLMPasswordSeek(pLMPassword, nLMPasswordLen, nLMPasswordNext + 1, pNTLMHash, sNTLMPassword)) + return true; + + if ( pLMPassword[nLMPasswordNext * 2] >= 'A' + && pLMPassword[nLMPasswordNext * 2] <= 'Z') + { + pLMPassword[nLMPasswordNext * 2] = pLMPassword[nLMPasswordNext * 2] - 'A' + 'a'; + if (NTLMPasswordSeek(pLMPassword, nLMPasswordLen, nLMPasswordNext + 1, pNTLMHash, sNTLMPassword)) + return true; + pLMPassword[nLMPasswordNext * 2] = pLMPassword[nLMPasswordNext * 2] - 'a' + 'A'; + } + + return false; +} + +bool LMPasswordCorrectCase(string sLMPassword, unsigned char* pNTLMHash, string& sNTLMPassword) +{ + if (sLMPassword.size() == 0) + { + sNTLMPassword = ""; + return true; + } + + unsigned char* pLMPassword = new unsigned char[sLMPassword.size() * 2]; + int i; + for (i = 0; i < sLMPassword.size(); i++) + { + pLMPassword[i * 2 ] = sLMPassword[i]; + pLMPassword[i * 2 + 1] = 0x00; + } + bool fRet = NTLMPasswordSeek(pLMPassword, sLMPassword.size(), 0, pNTLMHash, sNTLMPassword); + + delete pLMPassword; + + return fRet; +} + +void Usage() +{ + Logo(); + + printf("usage: rcracki_mt -h hash rainbow_table_pathname\n"); + printf(" rcracki_mt -l hash_list_file rainbow_table_pathname\n"); + printf(" rcracki_mt -f pwdump_file rainbow_table_pathname\n"); + printf(" rcracki_mt -c lst_file rainbow_table_pathname\n"); + printf("\n"); + printf("-h hash: use raw hash as input\n"); + printf("-l hash_list_file: use hash list file as input, each hash in a line\n"); + printf("-f pwdump_file: use pwdump file as input, handles lanmanager hash only\n"); + printf("-c lst_file: use .lst (cain format) file as input\n"); + printf("-r [-s session_name]: resume from previous session, optional session name\n"); + printf("rainbow_table_pathname: pathname(s) of the rainbow table(s)\n"); + printf("\n"); + printf("Extra options: -t [nr] use this amount of threads/cores, default is 1\n"); + printf(" -o [output_file] write (temporary) results to this file\n"); + printf(" -s [session_name] write session data with this name\n"); + printf(" -k keep precalculation on disk\n"); + printf(" -v show debug information\n"); + printf("\n"); +#ifdef _WIN32 + printf("example: rcracki_mt -h 5d41402abc4b2a76b9719d911017c592 -t 2 [path]\\MD5\n"); + printf(" rcracki_mt -l hash.txt [path_to_specific_table]\\*\n"); +#else + printf("example: rcracki_mt -h 5d41402abc4b2a76b9719d911017c592 -t 2 [path]/MD5\n"); + printf(" rcracki_mt -l hash.txt [path_to_specific_table]/*\n"); +#endif + printf(" rcracki_mt -f hash.txt -t 4 -o results.txt *.rti\n"); + +} + +int main(int argc, char* argv[]) +{ + if (argc < 2) + { + Usage(); + return 0; + } + + vector vPathName; + vector vDefaultRainbowTablePath; + string sWildCharPathName = ""; + string sInputType = ""; + string sInput = ""; + string outputFile = ""; + string sApplicationPath = ""; + string sIniPathName = "rcracki_mt.ini"; + bool writeOutput = false; + string sSessionPathName = "rcracki.session"; + string sProgressPathName = "rcracki.progress"; + string sPrecalcPathName = "rcracki.precalc"; + bool resumeSession = false; + bool useDefaultRainbowTablePath = false; + bool debug = false; + bool keepPrecalcFiles = false; + string sAlgorithm = ""; + int maxThreads = 1; + CHashSet hs; + + // Read defaults from ini file; + bool readFromIni = false; + vector vLine; + if (ReadLinesFromFile(sIniPathName, vLine)) { + readFromIni = true; + } + else if (ReadLinesFromFile(GetApplicationPath() + sIniPathName, vLine)) { + readFromIni = true; + } + if (readFromIni) + { + int i; + for (i = 0; i < vLine.size(); i++) + { + if (vLine[i].substr(0,1) != "#") + { + vector vPart; + if (SeperateString(vLine[i], "=", vPart)) + { + string sOption = vPart[0]; + string sValue = vPart[1]; + + if (sOption == "Threads") { + maxThreads = atoi(sValue.c_str()); + } + else if (sOption == "DefaultResultsFile") { + outputFile = sValue; + } + else if (sOption == "AlwaysStoreResultsToFile") { + if (sValue == "1") + writeOutput = true; + } + else if (sOption.substr(0,24) == "DefaultRainbowTablePath.") { + //printf("Default RT path: %s\n", sValue.c_str()); + vDefaultRainbowTablePath.push_back(vLine[i]); + } + else if (sOption == "DefaultAlgorithm") { + useDefaultRainbowTablePath = true; + sAlgorithm = sValue; + } + else if (sOption == "AlwaysDebug") { + if (sValue == "1") + debug = true; + } + else if (sOption == "AlwaysKeepPrecalcFiles") { + if (sValue == "1") + keepPrecalcFiles = true; + } + else { + printf("illegal option %s in ini file %s\n", sOption.c_str(), sIniPathName.c_str()); + return 0; + } + } + } + } + if (writeOutput && outputFile == "") + { + printf("You need to specify a 'DefaultResultsFile' with 'AlwaysStoreResultsToFile=1'\n"); + writeOutput = false; + } + } + + // Parse command line arguments + int i; + for (i = 1; i < argc; i++) + { + string cla = argv[i]; + if (cla == "-h") { + sInputType = cla; + i++; + if (i < argc) + sInput = argv[i]; + } + else if (cla == "-l") { + sInputType = cla; + i++; + if (i < argc) + sInput = argv[i]; + } + else if (cla == "-f") { + sInputType = cla; + i++; + if (i < argc) + sInput = argv[i]; + } + else if (cla == "-c") { + sInputType = cla; + i++; + if (i < argc) + sInput = argv[i]; + } + else if (cla == "-t") { + i++; + if (i < argc) + maxThreads = atoi(argv[i]); + } + else if (cla == "-o") { + writeOutput = true; + i++; + if (i < argc) + outputFile = argv[i]; + } + else if (cla == "-r") { + resumeSession = true; + } + else if (cla == "-s") { + i++; + if (i < argc) + { + sSessionPathName = argv[i]; + sSessionPathName += ".session"; + sProgressPathName = argv[i]; + sProgressPathName += ".progress"; + sPrecalcPathName = argv[i]; + sPrecalcPathName += ".precalc"; + } + } + else if (cla == "-v") { + debug = true; + } + else if (cla == "-k") { + keepPrecalcFiles = true; + } + else if (cla == "-a") { + useDefaultRainbowTablePath = true; + i++; + if (i < argc) + sAlgorithm = argv[i]; + } + else { + GetTableList(cla, vPathName); + } + } + + if (debug && !readFromIni) + printf("Debug: Couldn't read rcracki_mt.ini, continuing anyway.\n"); + + // Load session data if we are resuming + if (resumeSession) + { + vPathName.clear(); + vector sSessionData; + if (ReadLinesFromFile(sSessionPathName.c_str(), sSessionData)) + { + int i; + for (i = 0; i < sSessionData.size(); i++) + { + vector vPart; + if (SeperateString(sSessionData[i], "=", vPart)) + { + string sOption = vPart[0]; + string sValue = vPart[1]; + + if (sOption == "sPathName") { + vPathName.push_back(sValue); + } + else if (sOption == "sInputType") { + sInputType = sValue; + } + else if (sOption == "sInput") { + sInput = sValue; + } + else if (sOption == "outputFile") { + writeOutput = true; + outputFile = sValue; + } + else if (sOption == "keepPrecalcFiles") { + if (sValue == "1") + keepPrecalcFiles = true; + } + } + } + } + else { + printf("Couldn't open session file %s\n", sSessionPathName.c_str()); + return 0; + } + } + + if (maxThreads<1) + maxThreads = 1; + + // don't load these if we are resuming a session that already has a list of tables + if (useDefaultRainbowTablePath && !resumeSession) + { + int i; + for (i = 0; i < vDefaultRainbowTablePath.size(); i++) + { + vector vPart; + if (SeperateString(vDefaultRainbowTablePath[i], ".=", vPart)) + { + string lineAlgorithm = vPart[1]; + string linePath = vPart[2]; + + if (lineAlgorithm == sAlgorithm) + GetTableList(linePath, vPathName); + } + } + } + + printf("Using %d threads for pre-calculation and false alarm checking...\n", maxThreads); + + setvbuf(stdout, NULL, _IONBF,0); + if (vPathName.size() == 0) + { + printf("no rainbow table found\n"); + return 0; + } + printf("Found %d rainbowtable files...\n\n", vPathName.size()); + + bool fCrackerType; // true: hash cracker, false: lm cracker + vector vHash; // hash cracker + vector vUserName; // lm cracker + vector vLMHash; // lm cracker + vector vNTLMHash; // lm cracker + if (sInputType == "-h") + { + fCrackerType = true; + + string sHash = sInput; + if (NormalizeHash(sHash)) + vHash.push_back(sHash); + else + printf("invalid hash: %s\n", sHash.c_str()); + } + else if (sInputType == "-l") + { + fCrackerType = true; + + string sPathName = sInput; + vector vLine; + if (ReadLinesFromFile(sPathName, vLine)) + { + int i; + for (i = 0; i < vLine.size(); i++) + { + string sHash = vLine[i]; + if (NormalizeHash(sHash)) + vHash.push_back(sHash); + else + printf("invalid hash: %s\n", sHash.c_str()); + } + } + else + printf("can't open %s\n", sPathName.c_str()); + } + else if (sInputType == "-f") + { + fCrackerType = false; + + string sPathName = sInput; + LoadLMHashFromPwdumpFile(sPathName, vUserName, vLMHash, vNTLMHash); + } + else if (sInputType == "-c") + { + // 2009-01-04 - james - Added this for cain-files. + fCrackerType = false; + string sPathName = sInput; + LoadLMHashFromCainLSTFile(sPathName, vUserName, vLMHash, vNTLMHash); + } + else + { + Usage(); + return 0; + } + + if (fCrackerType && vHash.size() == 0) + { + printf("no hashes found"); + return 0; + } + if (!fCrackerType && vLMHash.size() == 0) + { + return 0; + printf("no hashes found"); + } + + if (fCrackerType) + { + int i; + for (i = 0; i < vHash.size(); i++) + hs.AddHash(vHash[i]); + } + else + { + int i; + for (i = 0; i < vLMHash.size(); i++) + { + hs.AddHash(vLMHash[i].substr(0, 16)); + hs.AddHash(vLMHash[i].substr(16, 16)); + } + } + + // Load found hashes from session file + if (resumeSession) + { + vector sSessionData; + if (ReadLinesFromFile(sSessionPathName.c_str(), sSessionData)) + { + int i; + for (i = 0; i < sSessionData.size(); i++) + { + vector vPart; + if (SeperateString(sSessionData[i], "=", vPart)) + { + string sOption = vPart[0]; + string sValue = vPart[1]; + + if (sOption == "sHash") { + vector vPartHash; + if (SeperateString(sValue, "::", vPartHash)) + { + string sHash = vPartHash[0]; + string sBinary = vPartHash[1]; + string sPlain = vPartHash[2]; + + hs.SetPlain(sHash, sPlain, sBinary); + } + } + } + } + } + } + + // (Over)write session data if we are not resuming + if (!resumeSession) + { + FILE* file = fopen(sSessionPathName.c_str(), "w"); + string buffer = ""; + + if (file!=NULL) + { + buffer += "sInputType=" + sInputType + "\n"; + buffer += "sInput=" + sInput + "\n"; + + int i; + for (i = 0; i < vPathName.size(); i++) + { + buffer += "sPathName=" + vPathName[i] + "\n"; + } + + if (writeOutput) + buffer += "outputFile=" + outputFile + "\n"; + + if (keepPrecalcFiles) + buffer += "keepPrecalcFiles=1\n"; + + fputs (buffer.c_str(), file); + fclose (file); + } + file = fopen(sProgressPathName.c_str(), "w"); + fclose (file); + } + + // Run + CCrackEngine ce; + if (writeOutput) + ce.setOutputFile(outputFile); + ce.setSession(sSessionPathName, sProgressPathName, sPrecalcPathName, keepPrecalcFiles); + ce.Run(vPathName, hs, maxThreads, resumeSession, debug); + + // Remove session files + if (debug) printf("Debug: Removing session files.\n"); + if (remove(sSessionPathName.c_str()) == 0) + remove(sProgressPathName.c_str()); + else + if (debug) printf("Debug: Failed removing session files.\n"); + + // Statistics + printf("statistics\n"); + printf("-------------------------------------------------------\n"); + printf("plaintext found: %d of %d (%.2f%%)\n", hs.GetStatHashFound(), + hs.GetStatHashTotal(), + 100.0f * hs.GetStatHashFound() / hs.GetStatHashTotal()); + printf("total disk access time: %.2f s\n", ce.GetStatTotalDiskAccessTime()); + printf("total cryptanalysis time: %.2f s\n", ce.GetStatTotalCryptanalysisTime()); + printf("total chain walk step: %d\n", ce.GetStatTotalChainWalkStep()); + printf("total false alarm: %d\n", ce.GetStatTotalFalseAlarm()); + printf("total chain walk step due to false alarm: %d\n", ce.GetStatTotalChainWalkStepDueToFalseAlarm()); +// printf("total chain walk step skipped due to checkpoints: %d\n", ce.GetStatTotalFalseAlarmSkipped()); // Checkpoints not used - yet + printf("\n"); + + // Result + printf("result\n"); + printf("-------------------------------------------------------\n"); + if (fCrackerType) + { + int i; + for (i = 0; i < vHash.size(); i++) + { + string sPlain, sBinary; + if (!hs.GetPlain(vHash[i], sPlain, sBinary)) + { + sPlain = ""; + sBinary = ""; + } + + printf("%s\t%s\thex:%s\n", vHash[i].c_str(), sPlain.c_str(), sBinary.c_str()); + } + } + else + { + int i; + for (i = 0; i < vLMHash.size(); i++) + { + string sPlain1, sBinary1; + bool fPart1Found = hs.GetPlain(vLMHash[i].substr(0, 16), sPlain1, sBinary1); + if (!fPart1Found) + { + sPlain1 = ""; + sBinary1 = ""; + } + + string sPlain2, sBinary2; + bool fPart2Found = hs.GetPlain(vLMHash[i].substr(16, 16), sPlain2, sBinary2); + if (!fPart2Found) + { + sPlain2 = ""; + sBinary2 = ""; + } + + string sPlain = sPlain1 + sPlain2; + string sBinary = sBinary1 + sBinary2; + + // Correct case + if (fPart1Found && fPart2Found) + { + unsigned char NTLMHash[16]; + int nHashLen; + ParseHash(vNTLMHash[i], NTLMHash, nHashLen); + if (nHashLen != 16) + printf("debug: nHashLen mismatch\n"); + string sNTLMPassword; + if (LMPasswordCorrectCase(sPlain, NTLMHash, sNTLMPassword)) + { + sPlain = sNTLMPassword; + sBinary = HexToStr((const unsigned char*)sNTLMPassword.c_str(), sNTLMPassword.size()); + } + else + { + printf("%-14s\t%s\thex:%s\n", vUserName[i].c_str(), sPlain.c_str(), sBinary.c_str()); + LM2NTLMcorrector corrector; + if (corrector.LMPasswordCorrectUnicode(sBinary, NTLMHash, sNTLMPassword)) + { + sPlain = sNTLMPassword; + sBinary = corrector.getBinary(); + if (writeOutput) + { + if (!writeResultLineToFile(outputFile, vNTLMHash[i].c_str(), sPlain.c_str(), sBinary.c_str())) + printf("Couldn't write final result to file!\n"); + } + } + else { + printf("case correction for password %s failed!\n", sPlain.c_str()); + } + } + } + + // Display + printf("%-14s\t%s\thex:%s\n", vUserName[i].c_str(), + sPlain.c_str(), + sBinary.c_str()); + + } + } + + return 0; +} diff --git a/Client Applications/rcracki_mt/charset.txt b/Client Applications/rcracki_mt/charset.txt new file mode 100644 index 0000000..6e749fa --- /dev/null +++ b/Client Applications/rcracki_mt/charset.txt @@ -0,0 +1,34 @@ +# charset configuration file for DistrRTgen v3.2 by Martin Westergaard (martinwj2005@gmail.com) + +byte = [] +alpha = [ABCDEFGHIJKLMNOPQRSTUVWXYZ] +alpha-space = [ABCDEFGHIJKLMNOPQRSTUVWXYZ ] +alpha-numeric = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789] +alpha-numeric-space = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ] +alpha-numeric-symbol14 = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=] +alpha-numeric-symbol14-space= [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+= ] +all = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/] +all-space = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/ ] +alpha-numeric-symbol32-space = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/ ] +lm-frt-cp437 = [ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`{|}~€Ž’™š›œžŸ¥àáâãäæçèéêëî] +lm-frt-cp850 = [ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`{|}~€Ž’™šœŸ¥µ¶·½¾ÇÏÑÒÓÔÕÖ×ØÞàáâãåæèéêëíï] +lm-frt-cp437-850 = [ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`{|}~€Ž’™š›œžŸ¥µ¶·½¾ÇÏÑÒÓÔÕÖ×ØÞàáâãäåæçèéêëíîï] + +numeric = [0123456789] +numeric-space = [0123456789 ] +loweralpha = [abcdefghijklmnopqrstuvwxyz] +loweralpha-space = [abcdefghijklmnopqrstuvwxyz ] +loweralpha-numeric = [abcdefghijklmnopqrstuvwxyz0123456789] +loweralpha-numeric-space = [abcdefghijklmnopqrstuvwxyz0123456789 ] +loweralpha-numeric-symbol14 = [abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_+=] +loweralpha-numeric-all = [abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/] +loweralpha-numeric-symbol32-space= [abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/ ] + +mixalpha = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ] +mixalpha-space = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ] +mixalpha-numeric = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789] +mixalpha-numeric-space = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ] +mixalpha-numeric-symbol14 = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=] +mixalpha-numeric-all = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/] +mixalpha-numeric-symbol32-space = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/ ] +mixalpha-numeric-all-space = [abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/ ] diff --git a/Client Applications/rcracki_mt/fast_md5.cpp b/Client Applications/rcracki_mt/fast_md5.cpp new file mode 100644 index 0000000..8d60aee --- /dev/null +++ b/Client Applications/rcracki_mt/fast_md5.cpp @@ -0,0 +1,468 @@ +/* + * Fast implementation of the MD5 message-digest algorithm as per RFC + * (see http://tools.ietf.org/html/rfc1321) + * + * Author: Joao Inacio + * License: Use and share as you wish at your own risk, please keep this header ;) + * + * Optimizations: + * - For lengths < 16, transformation steps are "unrolled" using macros/defines + * - Constants used whenever possible, it's the compiler's job to sort them out + * - Padding is done on 4-byte words, and memory copied as last resort. + */ + + +typedef unsigned int UINT4; + + +/* MD5 defines as per RFC reference implementation */ + +#define AC1 0xd76aa478 +#define AC2 0xe8c7b756 +#define AC3 0x242070db +#define AC4 0xc1bdceee +#define AC5 0xf57c0faf +#define AC6 0x4787c62a +#define AC7 0xa8304613 +#define AC8 0xfd469501 +#define AC9 0x698098d8 +#define AC10 0x8b44f7af +#define AC11 0xffff5bb1 +#define AC12 0x895cd7be +#define AC13 0x6b901122 +#define AC14 0xfd987193 +#define AC15 0xa679438e +#define AC16 0x49b40821 +#define AC17 0xf61e2562 +#define AC18 0xc040b340 +#define AC19 0x265e5a51 +#define AC20 0xe9b6c7aa +#define AC21 0xd62f105d +#define AC22 0x02441453 +#define AC23 0xd8a1e681 +#define AC24 0xe7d3fbc8 +#define AC25 0x21e1cde6 +#define AC26 0xc33707d6 +#define AC27 0xf4d50d87 +#define AC28 0x455a14ed +#define AC29 0xa9e3e905 +#define AC30 0xfcefa3f8 +#define AC31 0x676f02d9 +#define AC32 0x8d2a4c8a +#define AC33 0xfffa3942 +#define AC34 0x8771f681 +#define AC35 0x6d9d6122 +#define AC36 0xfde5380c +#define AC37 0xa4beea44 +#define AC38 0x4bdecfa9 +#define AC39 0xf6bb4b60 +#define AC40 0xbebfbc70 +#define AC41 0x289b7ec6 +#define AC42 0xeaa127fa +#define AC43 0xd4ef3085 +#define AC44 0x04881d05 +#define AC45 0xd9d4d039 +#define AC46 0xe6db99e5 +#define AC47 0x1fa27cf8 +#define AC48 0xc4ac5665 +#define AC49 0xf4292244 +#define AC50 0x432aff97 +#define AC51 0xab9423a7 +#define AC52 0xfc93a039 +#define AC53 0x655b59c3 +#define AC54 0x8f0ccc92 +#define AC55 0xffeff47d +#define AC56 0x85845dd1 +#define AC57 0x6fa87e4f +#define AC58 0xfe2ce6e0 +#define AC59 0xa3014314 +#define AC60 0x4e0811a1 +#define AC61 0xf7537e82 +#define AC62 0xbd3af235 +#define AC63 0x2ad7d2bb +#define AC64 0xeb86d391 + +#define S11 7 +#define S12 12 +#define S13 17 +#define S14 22 +#define S21 5 +#define S22 9 +#define S23 14 +#define S24 20 +#define S31 4 +#define S32 11 +#define S33 16 +#define S34 23 +#define S41 6 +#define S42 10 +#define S43 15 +#define S44 21 + +#define Ca 0x67452301 +#define Cb 0xefcdab89 +#define Cc 0x98badcfe +#define Cd 0x10325476 + + +#define F(x, y, z) ((z) ^ ((x) & ((y) ^ (z)))) +#define G(x, y, z) ((y) ^ ((z) & ((x) ^ (y)))) +//#define G(x, y, z) F((z), (x), (y)) +#define H(x, y, z) ((x) ^ (y) ^ (z)) +#define I(x, y, z) ((y) ^ ((x) | ~(z))) + +#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(n)))) + +// md5 step +#define MD5STEP(f, a, b, c, d, AC, x, s) { \ + (a) += f ((b), (c), (d)); \ + (a) += (AC) + (x); \ + (a) = ROTATE_LEFT ((a), (s)); \ + (a) += (b); \ +} + +// full MD5 transformation +#define MD5_steps(w0, w1, w2, w3, w4, w5, w6, w7, w8, w9, w10, w11, w12, w13, w14, w15) { \ + \ + MD5STEP(F, a, b, c, d, AC1, w0, S11);\ + MD5STEP(F, d, a, b, c, AC2, w1, S12);\ + MD5STEP(F, c, d, a, b, AC3, w2, S13);\ + MD5STEP(F, b, c, d, a, AC4, w3, S14);\ + MD5STEP(F, a, b, c, d, AC5, w4, S11);\ + MD5STEP(F, d, a, b, c, AC6, w5, S12);\ + MD5STEP(F, c, d, a, b, AC7, w6, S13);\ + MD5STEP(F, b, c, d, a, AC8, w7, S14);\ + MD5STEP(F, a, b, c, d, AC9, w8, S11);\ + MD5STEP(F, d, a, b, c, AC10, w9, S12);\ + MD5STEP(F, c, d, a, b, AC11, w10, S13);\ + MD5STEP(F, b, c, d, a, AC12, w11, S14);\ + MD5STEP(F, a, b, c, d, AC13, w12, S11);\ + MD5STEP(F, d, a, b, c, AC14, w13, S12);\ + MD5STEP(F, c, d, a, b, AC15, w14, S13);\ + MD5STEP(F, b, c, d, a, AC16, w15, S14);\ + \ + MD5STEP(G, a, b, c, d, AC17, w1, S21);\ + MD5STEP(G, d, a, b, c, AC18, w6, S22);\ + MD5STEP(G, c, d, a, b, AC19, w11, S23);\ + MD5STEP(G, b, c, d, a, AC20, w0, S24);\ + MD5STEP(G, a, b, c, d, AC21, w5, S21);\ + MD5STEP(G, d, a, b, c, AC22, w10, S22);\ + MD5STEP(G, c, d, a, b, AC23, w15, S23);\ + MD5STEP(G, b, c, d, a, AC24, w4, S24);\ + MD5STEP(G, a, b, c, d, AC25, w9, S21);\ + MD5STEP(G, d, a, b, c, AC26, w14, S22);\ + MD5STEP(G, c, d, a, b, AC27, w3, S23);\ + MD5STEP(G, b, c, d, a, AC28, w8, S24);\ + MD5STEP(G, a, b, c, d, AC29, w13, S21);\ + MD5STEP(G, d, a, b, c, AC30, w2, S22);\ + MD5STEP(G, c, d, a, b, AC31, w7, S23);\ + MD5STEP(G, b, c, d, a, AC32, w12, S24);\ + \ + MD5STEP(H, a, b, c, d, AC33, w5, S31);\ + MD5STEP(H, d, a, b, c, AC34, w8, S32);\ + MD5STEP(H, c, d, a, b, AC35, w11, S33);\ + MD5STEP(H, b, c, d, a, AC36, w14, S34);\ + MD5STEP(H, a, b, c, d, AC37, w1, S31);\ + MD5STEP(H, d, a, b, c, AC38, w4, S32);\ + MD5STEP(H, c, d, a, b, AC39, w7, S33);\ + MD5STEP(H, b, c, d, a, AC40, w10, S34);\ + MD5STEP(H, a, b, c, d, AC41, w13, S31);\ + MD5STEP(H, d, a, b, c, AC42, w0, S32);\ + MD5STEP(H, c, d, a, b, AC43, w3, S33);\ + MD5STEP(H, b, c, d, a, AC44, w6, S34);\ + MD5STEP(H, a, b, c, d, AC45, w9, S31);\ + MD5STEP(H, d, a, b, c, AC46, w12, S32);\ + MD5STEP(H, c, d, a, b, AC47, w15, S33);\ + MD5STEP(H, b, c, d, a, AC48, w2, S34);\ + \ + MD5STEP(I, a, b, c, d, AC49, w0, S41);\ + MD5STEP(I, d, a, b, c, AC50, w7, S42);\ + MD5STEP(I, c, d, a, b, AC51, w14, S43);\ + MD5STEP(I, b, c, d, a, AC52, w5, S44);\ + MD5STEP(I, a, b, c, d, AC53, w12, S41);\ + MD5STEP(I, d, a, b, c, AC54, w3, S42);\ + MD5STEP(I, c, d, a, b, AC55, w10, S43);\ + MD5STEP(I, b, c, d, a, AC56, w1, S44);\ + MD5STEP(I, a, b, c, d, AC57, w8, S41);\ + MD5STEP(I, d, a, b, c, AC58, w15, S42);\ + MD5STEP(I, c, d, a, b, AC59, w6, S43);\ + MD5STEP(I, b, c, d, a, AC60, w13, S44);\ + MD5STEP(I, a, b, c, d, AC61, w4, S41);\ + MD5STEP(I, d, a, b, c, AC62, w11, S42);\ + MD5STEP(I, c, d, a, b, AC63, w2, S43);\ + MD5STEP(I, b, c, d, a, AC64, w9, S44);\ +} + +// len >= 56 +#define MD5_transform_add(w0, w1, w2, w3, w4, w5, w6, w7, w8, w9, w10, w11, w12, w13, w14, w15) { \ + \ + a = wOut[0]; b = wOut[1]; c = wOut[2]; d = wOut[3];\ + \ + MD5_steps(w0, w1, w2, w3, w4, w5, w6, w7, w8, w9, w10, w11, w12, w13, w14, w15);\ + \ + wOut[0] += a; wOut[1] += b; wOut[2] += c; wOut[3] += d;\ +} + +// len < 56 +#define MD5_transform_single(w0, w1, w2, w3, w4, w5, w6, w7, w8, w9, w10, w11, w12, w13, w14, w15) { \ + \ + a = CC[0]; b=CC[1]; c=CC[2]; d=CC[3];\ + \ + MD5_steps(w0, w1, w2, w3, w4, w5, w6, w7, w8, w9, w10, w11, w12, w13, w14, w15);\ + \ + wOut[0] = a+Ca; wOut[1] = b+Cb; wOut[2] = c+Cc; wOut[3] = d+Cd;\ +} + +// len < 16 +#define MD5_transform_16(w0, w1, w2, w3, w14) \ + MD5_transform_single(w0, w1, w2, w3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, w14, 0); + + +// pad word and append 0x80 at appropriate location +#define MD5_pad_w0() (0x00000080) +#define MD5_pad_w1(data) (((data) & 0x000000FF) | 0x00008000) +#define MD5_pad_w2(data) (((data) & 0x0000FFFF) | 0x00800000) +#define MD5_pad_w3(data) (((data) & 0x00FFFFFF) | 0x80000000) + + +#ifndef MD5_pad_w1 +static inline UINT4 MD5_pad_w1(UINT4 data) +{ + __asm__ ( + "movb %%al, %%cl \n\t" + "xorl %1, %1 \n\t" + "orb $128, %%ah \n\t" + "movb %%cl, %%al \n\t" + "movl %1, %0 \n\t" + : "=r" (data) + : "a" (data) + : "cl" + ); + return data; +} +#endif + +#ifndef MD5_pad_w3 +static inline UINT4 MD5_pad_w3(UINT4 data) +{ + __asm__ ( + "roll $8, %1 \n\t" + "movb $128, %%al \n\t" + "rorl $8, %1 \n\t" + "movl %1, %0 \n\t" + : "=r" (data) + : "a" (data) + ); + return data; +} +#endif + + +static inline void MD5_copy_pad_block(UINT4 *dData, UINT4 *wIn, int blocklen, int len) +{ + register int cl; + + // copy full words + for (cl = 0; cl < blocklen; cl++) + dData[cl] = wIn[cl]; + + // copy with padding + switch (len & 0x03) { + case 0: + dData[cl] = MD5_pad_w0(); + break; + case 1: + dData[cl] = MD5_pad_w1(wIn[cl]); + break; + case 2: + dData[cl] = MD5_pad_w2(wIn[cl]); + break; + case 3: + dData[cl] = MD5_pad_w3(wIn[cl]); + break; + } + // append 0's + for (cl++; cl < 14; cl++) + dData[cl] = 0; + // append len + dData[cl++] = (len << 3); + dData[cl] = (len >> 29); +} + +// fast initializer array +//__attribute__((aligned(16))) +//__declspec(align(16)) +static const UINT4 CC[4] = {Ca, Cb, Cc, Cd}; + + + +/* + * fast_MD5() + * + */ +void fast_MD5(unsigned char *pData, int len, unsigned char *pDigest) +{ + #define wIn ((UINT4 *)pData) + #define wOut ((UINT4 *)pDigest) + + register UINT4 a; + register UINT4 b; + register UINT4 c; + register UINT4 d; + + switch (len) { + case 0: + MD5_transform_16(MD5_pad_w0(), 0, 0, 0, 8*0); + return; + case 1: + MD5_transform_16(MD5_pad_w1(wIn[0]), 0, 0, 0, 8*1); + return; + case 2: + MD5_transform_16(MD5_pad_w2(wIn[0]), 0, 0, 0, 8*2); + return; + case 3: + MD5_transform_16(MD5_pad_w3(wIn[0]), 0, 0, 0, 8*3); + return; + case 4: + MD5_transform_16(wIn[0], MD5_pad_w0(), 0, 0, 8*4); + return; + case 5: + MD5_transform_16(wIn[0], MD5_pad_w1(wIn[1]), 0, 0, 8*5); + return; + case 6: + MD5_transform_16(wIn[0], MD5_pad_w2(wIn[1]), 0, 0, 8*6); + return; + case 7: + MD5_transform_16(wIn[0], MD5_pad_w3(wIn[1]), 0, 0, 8*7); + return; + case 8: + MD5_transform_16(wIn[0], wIn[1], MD5_pad_w0(), 0, 8*8); + return; + case 9: + MD5_transform_16(wIn[0], wIn[1], MD5_pad_w1(wIn[2]), 0, 8*9); + return; + case 10: + MD5_transform_16(wIn[0], wIn[1], MD5_pad_w2(wIn[2]), 0, 8*10); + return; + case 11: + MD5_transform_16(wIn[0], wIn[1], MD5_pad_w3(wIn[2]), 0, 8*11); + return; + case 12: + MD5_transform_16(wIn[0], wIn[1], wIn[2], MD5_pad_w0(), 8*12); + return; + case 13: + MD5_transform_16(wIn[0], wIn[1], wIn[2], MD5_pad_w1(wIn[3]), 8*13); + return; + case 14: + MD5_transform_16(wIn[0], wIn[1], wIn[2], MD5_pad_w2(wIn[3]), 8*14) + return; + case 15: + MD5_transform_16(wIn[0], wIn[1], wIn[2], MD5_pad_w3(wIn[3]), 8*15) + return; + } + + // data block used for padding + UINT4 dData[16]; + + if (len < 56) { + // 16 < length < 56 + + MD5_copy_pad_block(dData, wIn, (len >> 2), len); + + // redefine data input, point to padded data + #undef wIn + #define wIn dData + + MD5_transform_single ( + wIn[ 0], wIn[ 1], wIn[ 2], wIn[ 3], wIn[ 4], wIn[ 5], wIn[ 6], wIn[ 7], + wIn[ 8], wIn[ 9], wIn[10], wIn[11], wIn[12], wIn[13], wIn[14], wIn[15] + ); + + #undef wIn + return; + } else { + // len >= 56 + + #define wIn ((UINT4 *)pData) + + // original len + int tlen = len; + + // init digest for long lens + wOut[0] = Ca; wOut[1] = Cb; wOut[2] = Cc; wOut[3] = Cd; + + while (tlen >= 64) { + // Process 64-byte chunks + MD5_transform_add( + wIn[ 0], wIn[ 1], wIn[ 2], wIn[ 3], wIn[ 4], wIn[ 5], wIn[ 6], wIn[ 7], + wIn[ 8], wIn[ 9], wIn[10], wIn[11], wIn[12], wIn[13], wIn[14], wIn[15] + ); + + tlen -= 64; + pData += 64; + } + + if (tlen >= 56) { + // Process > 56-byte chunk + + int cl = (tlen >> 2); + // perform padding on last 2 byte + if (cl > 14) { + dData[14] = wIn[14]; + } else { + dData[15] = 0; + } + // copy 1 word with padding byte + switch (len & 0x03) { + case 0: + dData[cl] = MD5_pad_w0(); + break; + case 1: + dData[cl] = MD5_pad_w1(wIn[cl]); + break; + case 2: + dData[cl] = MD5_pad_w2(wIn[cl]); + break; + case 3: + dData[cl] = MD5_pad_w3(wIn[cl]); + break; + } + + // transform + MD5_transform_add( + wIn[ 0], wIn[ 1], wIn[ 2], wIn[ 3], wIn[ 4], wIn[ 5], wIn[ 6], wIn[ 7], + wIn[ 8], wIn[ 9], wIn[10], wIn[11], wIn[12], wIn[13], dData[14], dData[15] + ); + // final transform + #define w14 (len << 3) + #define w15 (len >> 29) + MD5_transform_add( + 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, w14, w15 + ); + #undef w14 + #undef w15 + return; + } else { + // (len mod 64) < 56 + + MD5_copy_pad_block(dData, wIn, (tlen >> 2), len); + + #undef wIn + #define wIn dData + + // transform + MD5_transform_add( + wIn[ 0], wIn[ 1], wIn[ 2], wIn[ 3], wIn[ 4], wIn[ 5], wIn[ 6], wIn[ 7], + wIn[ 8], wIn[ 9], wIn[10], wIn[11], wIn[12], wIn[13], wIn[14], wIn[15] + ); + + #undef wIn + #define wIn ((UINT4 *)pData) + return; + } + } + + /* end of fast_MD5() */ +} + diff --git a/Client Applications/rcracki_mt/fast_md5.h b/Client Applications/rcracki_mt/fast_md5.h new file mode 100644 index 0000000..efea781 --- /dev/null +++ b/Client Applications/rcracki_mt/fast_md5.h @@ -0,0 +1,23 @@ +/* + * Fast implementation of the MD5 message-digest algorithm as per RFC + * (see http://tools.ietf.org/html/rfc1321) + * + * Author: Joao Inacio + * License: Use and share as you wish at your own risk, please keep this header ;) + * + * Optimizations: + * - For lengths < 16, transformation steps are "unrolled" using macros/defines + * - Constants used whenever possible, it's the compiler's job to sort them out + * - Padding is done on 4-byte words, and memory copied as last resort. + */ + + +#ifndef FAST_MD5_H +#define FAST_MD5_H + + +void +fast_MD5(unsigned char *pData, int len, unsigned char *pDigest); + + +#endif // FAST_MD5_H diff --git a/Client Applications/rcracki_mt/libeay32.dll b/Client Applications/rcracki_mt/libeay32.dll new file mode 100644 index 0000000000000000000000000000000000000000..36f6d69280e9157599b6d7a20c5f0065fbc6ad3b GIT binary patch literal 996352 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

o)DhGZSQrha31 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 z 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�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

W=d3sfPb-JGJPoJ7TJ$+{S-1G(M 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 O_Z!XVzf&T^G1W0@U literal 0 HcmV?d00001 diff --git a/Client Applications/rcracki_mt/libeay32.lib b/Client Applications/rcracki_mt/libeay32.lib new file mode 100644 index 0000000000000000000000000000000000000000..93139c673bf7aadd368baeeb7c3e929c43aade2b GIT binary patch literal 673762 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�ejtET}(KViabuc!glx`Oo? zPbWL+hDFeV&$EaQ!-mkO_;bLbhbCOrvbuWO2jK`k;{H05i$%*^^9_~ zh3{CP?*T7dB}s2igEe6>%|_4{fJH1M3%fy3ZWKp~s374~=qNR{bg0o)->84&YexB*vus&dd&Z_KK=pVMX(n8il}4f&!N zFJZ(jpF+T4fUjXy0fc%uJ~6+<%H`DP9PDowxA-d>-v5l6tD9Qzw;Fhu-*xc?r>xE7 zTksWo2Fyd@r!4+eZ4vzz%@F-$Ef9rO;{yRYCL{i{*nrA?>ypG{;9(ks;e47LBg>FZ z5lMEMh%gy+2nS-pe@ z1~0m{%_WG2(?y|mgyUJX?IuWC3M4^s)RTF^Sa_H!C=;K(bz{JNpV(IfU>I}Yu-B!) z{)f&oTo4^hK@vlHOH!TYl3c4hHT147Si!@JP#Y1*F5-16Ak9ht5cN082(Yyi9{7-* zpwLA^Ogk7;VYjH-9l<7EvJ$`L&b(F+j&Jwq;v);UKGAIoex+N8of9c|LpHe7e_QPQ zDndnoVuT0hY;C!->VBT)cSS6Xu_Umg_p*dwAU_0~%wSNr+bRWjG+=OBSBz|%0g-?W z2o}8wQyZT!3C#?V*w1RqQr7VOq{&UpVN|Wo#{Q^0*_6y|L(l3zVfAI_A+tM$@NX6@wWDWuylcJcu zNg{R+BSF?M>Z&i2^gCMou2r)sqM<>=?#f`~2<-$;5yRyRrWau&pn!fUc6jRXqh035vHp&S=UYe*fqIechbVgv$`+4rBT~KR0nuY;fIx zph-9``-qGB9FShd^f0_GaG~49##u-2tRw2M4qyR9P6|Qln2P*zW_+;h z0HMJmj`GB98o=s|x)GseBKQFpd{|>#gy1XQQy)QBeSx{^8Cr zCc=k)SS*6OgH6X41jG3Ndc8-*7GWw;m*PdsiqE_Ft$w6lO!n0O3njH zOx1K5l*+BOPKvvW92k6&-n5gjP*-kv28<1v;5-310l5i7msjB}ULWql_IMvfPxn!B zc}p-hSblPd29iVAPYzK(IYe1<)W|?Cd6N%8-17}@e^6F2MxcZc)~zf=!7wvC2DO*K zg1tBvExG3krSa_U=KigiSZ|_!B%3e&VJvxCj;Bpu~sSu?FI?iXcHg>&~L! z{={GuMew5lyCoc>!+^O3W?_PZLJ`CvlE)cL1>S(gCrJ8m`zaHw7ic)Ole8RI_Jir!{029uc%PcjR&0_POh?;gwQn*41}X!;8f7WN=%+a!IgDshfECwOevRi@-++?n!ML^?XGGoxe z;!%7vQi>;=i`G*jMl1ZhXCkO|8-h)5k`cphh6$7X7h^M;TCoMp(-4Cy%iClUvbIT~ zSR+aGRa|t@LJ8i4c{avo7rtx}O^%zx2lq|Qh}Bb!CBkBEC{1no%mm~3gN~dBBO#SeM%Pm5ZUu)5eX5rl&#=}E zig%kFH#j1Q0yi>11@J@>P3%E%Vi}w1B$(Ya2DaNCPL?QEvb5tC&Xh2J5o_9r>GU+0 zNlrt|>qSgFiQGs%443v9l<8=V&43+WBDVKpOhzz{>k!O=Wu3f= z#%mCdrMnHXgk?b6c2;SFK6Z;wv9VQ=n}@`)Rjmb5@G5Y%gkll!V=+k3%NmBAR>w>b zE`pJ@2=gR{yAsg5GFX$PF*QE7+K3R#a>#%kG)YOvIi{kYN&r@N$^NaaCT%suf>XD|6eMM>kp;o7v8e%dg(FCxq=9@{ zG$&t3!$sYiXo}>-GDA1vhjtk{r3X7T#9Jt)6nGt^Jc_m(*I6AV{J6u75(Wl0kU>yN ztv2G261Tz1@i>m8kknZ^i5au2ucYks8|R~Qd0dHi!{SgccCRu`31}nBFq2K^tMJ=b$C#O(f_q}XYaPV;oP)## zAEc#*xEzw3>?q?F-ee9^ zbP2GgK3KDs-dqihUsB~7c zZQrnCo6iIlixszEH^;L?rZwloIQWxGghld}`aMFqkcLE)4;pQcwEsqPc zSac6jh*lp9U#0Fre=3hz`eMcEKv1ZBpQydDsX9$dSMVi1O7v)8OEtM3O7`RiSOQ*Z zf$iL25l;a&kT#M-#j`Q!ZNNM_Bn7kPrZBbXz*S)9S#MQUaU+c=Fx}N!^HN9u!d1I4 zAy`BhMb2vnV=V>kh_T4d!8mmm##nNV!Z9sUq(y=fH{tkHn812u%S39a2Ol$V5~E%m zjy}P3Dn1g+s5r{@>_;H3csh)$-R?0xfEH3jel^~I*ZE@jtWz&hIl zwG)k|mLxV>aA?(1QBd7VfT&*th=$CMI3M%O&CH8yA7x4+Y_~K5!&bv$qGp7R!89A% zM-R3P%G+Lpa@7s$s|bo)sbfZLFFy=NCs}b}P}f2Xm@<%OPQ@Ke;0(}E^1APnCflkDVC?$5VX4*T4T-kTx+ynVtKrjF!(kD{%cizZ2gWx9_1ZXXZBG&rfjrW~*)WD? zh^TLsRuKT&O9A-k7%nBsFx!nGmu1PCVsMVHce5aMx#~lxZul;7(GOYCd3`dI3-C*K z%gnL}v!FM!v%Uq)cL0s+c@4zt_^2%q*B0`_mXtF^w?C#?ouL*+jDX=vuuWL6k(mO5 z{T)F-cd@U&>#+{0h7`>V`()e7pdQW4orOp+;{(sqk-{FCP0s~sHF4F4mz}WP$D%wy zpz2y<7XhoLP=?UR=3|n9W~j_SXNasQym?lb84@Gn&wC?keW4h@dfG`_FEA3uD1i@} zl{Iuh_zr2eXF8=98G(eiZD#nw(jg7C!vsC7d#S0kG;!-90%M4C>(S zNj!l^+8BZd+Ki@MM%RVp_(!DZlElF@gmdy8bZTN!Ytg4 zEpyTdDLo&kKF`fmpg{E3xomcPmQoW10c>?k%Qn*x--CXGhX#r^{`-8Kl+1>4SJdYdplo&z1&z9S0?uL z!J7vIjQkWABwQ&#U~^c4lK@u_#aJhRSK8w{Fo$M{0b#c<1_&kU$rKZ|61HKTeH*s> z1xAxq>U{k`OmpJU^c37aIW|5!3Ws#z3%7Z2Vq|>y2)?M&oSZ)hYt=3X5a3DSW^;IS zbbNMJM>R*vYsol>uO(6wDyeYy)k3EUS4lv(D-S*z3Ou?MgyC^Ecxo>c0Vp+i9e+>p zi+47)+MpOL?bW2C&t4i`ts~hC_H$K}Sva*_lbU|9$B4y7Ln;`v+Isi2Hpc8$u%!>aZt2#T{l41Hv#3ogYSq+R~2fdJ6UXvVRDR=APw< zh0W38QmSxFFle1ZXlvS!TpQER&Y@{>ELQfcJf}RCTAEXpX4rf9V-7M@MA0C5Ss65L^+-08_ z-X#Um``_ZDmMLoJoG`U_tTaUTtAiv5NN(AAg4|r zw-l8a-*>4`^wc5Lu>xUkg3x2*;~4#G8Z@Jp?;uS9QBGQ~7x zNEtZ?#7O#4H%FMv7v&L$h?YlKL_O)nr3$Nv*ltabvE7;`VX+s-m*tkaWQU;xeV_Uf zJWr4@us>JxHft^1IPS+?g+pC9hgL@syB2(^TZ}SEzp>^77+Qx?5+953;fLRgep0SS zN{Il&6ncB-#LOtO)7%k#@uQ2nwToEM z$6=p)v%9$2#yL$o;1!6uHG`Kc)WTC=f-nQ^CV(DuN-dD7PR;qr37BP{9X?p+2rh$D zHZIxCkV}VB2pDUAZnVZrG)2y4H|?RTB71(M2(G#^Ax}+-`wpc9xrM^;aE|uwsWmCo zT}kuQ(-c?3!xOU;TXcpt*%50KUCB5*(S>PCIGj7c*-z$UVkrX7_Tln5evsRp6l|`; zxgZ>=gBR8?!R#}94Z&UOOfF(ho2#biI2W$svamirE)Rf&NXK_LQOqh3W5*keU7Zkf zbQ0Gf;{h2ScN4Ba4rNMlho#Wnm;pgf9!UsJMTSzvo{DyQxat6b&LjnJx3npNu#}*P zpsCOVb@qajw98>_f~w$s&AwU0gr}Pwai_A+t!5w@|Js5)7bGq+3Q@p|HejO&BZW23%}mT45j#8Oe59p7kb||1K|0q*Gr*nq`YgP(xMV!2Bt+v0JU#@6q*C>%vAysn5sn7o~Z=HxkpkY+_PAHUbFTufMtg4T3y_F6ASE@6cc{z0n8r=CFH@HuN(Ronp7cG|LW4$V?Ok|2%F2WSOK>l^?F@hB{5mv&Zsc>f+a&edTug`v1m0K7Y>7PNCqAvfZ?v`Aw`0) z^+0T2GlG`!t-bb{JGpSc2FuI1XvX=}&Bz>E(?bkQ0A7~Fw=(dgz8!TPZmG199-Jm< zEtmleMTh4h>&>?eTg{Gk2dn4~j`z@}2L3HY(pcZC!uaSM*8@Kb&yD;{j-khT<3KNezbpYsrRD_>7H!1)Q2GFDnpx&`e|ryM@3TJ}@a7z;8zoMZei- z;eje66LA={uG5)T8>Y(U@-AD>h_S_906VH(Cy)znTSbR=#rYl~uAgDzu=%i}A)u!l zuo%UiF4WFgjI=MAE>D0JU5g^GEMch-VoBZTTE0TxL6-g-@TQ1cavN~91WyS@ELQou zndt|Ls?P`Fm_K^Z(k-DrRRC-cd3yb(T|f|~{Tn8yeJlz)iraF)L#SRwWgmN_QcbZM>wfuQCd}S)#*4Vua}c-K6Ya2W z(Oy!dx)xIyvDtx%2CG4oxOgblq(yhHcv(Jf4T!)Qj{6xs-Vfy7cJayP2;AZhFIexx z+71Ip)8_dkHa9rJso=aY)|LCYrQ(ckY07YHukCy}#Lc5vEof`4FSS#vt)SE>3vG_} z50;$oRt|AXUBuOKOfH@}U{e5KEkqnc$fF5PG|SaQJX>dsChy$RR)K}EQMkj2_pp=A zeS3#s+1AXKgBAkn^@dTutMScWK;qF%3htUM z+8Vdh*07y6zmgs&0$_^GjN~Sr+v(5SxPU2U-&`MvY}XN-QNA4s6l1wILHrQjI~Sp&v0XwVcQMv!FpY$zT(wO}1n zM0!pOE`Y<=o-A#lr|}V9%qRhN#JWs_g`jGVheI=Gd$^-IsO`kCdjP81sDWLvHEh>t z16x&D!*(6kuw8lA*C9QYTio#G__Tst-Q5YjNqeakd>m@7Jskv)cs|Ez`x%Pe0^W?T zi_KxhpwH8WX(G40du|mL0I$M0__cc&MAq9YaIo(;{*g|?0sYvPEm46z_hw(7F|X}ymc0FbQlgY2BxzG9-7c5 ziZi86SYT3H;P$jOVZn)QqM#$NiR@8tCL3=Vo7g)s3fnH}E{_S=C(P{~qMLc}5S7__ zbn1{l{M4Y!h>vK%EHw1B;+-Gi1jG*A5mqjr&@(fp#CXwaN4Jm~a3>bvr88JYz&2GS@P((l3N-CI;9~E z!rB$e4zp7*K}oMwNYHTx4tgU!E679xiH+?of|nU3Oz6+%^sH!j*STW_T9K7^o3f%n zt(Cutd1cFXNVfJA;2mva6VMV(PeGIH)Mtmr>as)O)pO1!_`4B z(*ff~Yp$Q(!-bWe1*jq1d?F&kSWlepnnhXznPv@{5n#d>_iX5W8Jq;ux^*;|yQ&e` zgBM?5&H?jKBNxqFqp7@Udg(%X)&P&4%hHqi1mlDaBT-rhScHrF^nhLFCtx&$YNQbf z3&_j?NI7U_{DwxNp7V9IL>`#~b@!T@9o~Xd-Lm~Zu>P-!+pUc-Au1O(A)}ztSKDi_ z&_}l)1hfVb;MP#WOJ*K`nFzKKZIKVs-)cyWZo=xcasp|n$1~jGL|qx@sn}qdb}M~w znMN$XZY9WYg`F35LY`BojVxOwgJ!Mse@p`Dn02pmz}GR#7Td7QN}VhfjN+7IuuTx4 zGzb5BmvSUs7~d6$$+J~G6$M~u*^aq|h}sg))|uTXY@u0_F#ll(#*Y}(%T1@IiNjSZ zYNDD>Ho|S2MD1a*)CtdXv7F!2Jh$rBi{<4jzI--%yg^?)V{?c6Y)T5Pl%=4BHVB9QZsV_NDfY&<7x=L0fBo!x>^-?%E`FnLUzgv?f~c3y|clFItQ33bU3R zC5ZOWa}W&EQ@ISYjI?Z>bVV*`)lWd%$-g}j#)9ZWQ?Exz2(AY{m=Ukd6A(fsbo?Df zY}AOxrKP6lb2xzmm*%tYWt2hdokJTiIKvqg-AZecqHwRl8svzPkm%@a11J)_Cx-6o z6T2{U^Zi%sGQ`XDh9E6VF+*~+I2kg?e)AZNbgTVBO`Rnf#%lqrd;tz0?E_e8=IQLW z2K!_CVUW)s4c2LBnC7qAa4Uhy1dC*-(5^F;a99!kETSa6UcjK<7!XK+G1 zmQ!tlNOZa#8O4{wcIX0+xOLSePWh$91vA+`wx6SHcri8si*s=J{YYTDzDqOTdM<@$ zeqwg|;P8<-xaQg}Muu}ihT9e*zdprHy8JuFe3_bCcBM<`Z&pDG3#^f4>7)|p65!!p z{pOKO4jE-i= zyf%=4TJMxp*F6mkxwSuvFfWb?kjHUlV4{h1uBbb+j*_;hIFcGr4I}yKxut+%ly43q zP=dUMK@v_C1H>yjUcXp=ILxcv>=aB*!zS*r=8|5?8ROvcqF#$;IN!d-V0>Vx-wz2o zzGm7)BmP8Zovyi{+bmEHtbB`SB#r74JdTg6D6fUB$YMtkO<3}8Sro!Qf-r1N>=D4` za4@_@3oNO)qs>hQW8u^n+?7~IcFTQ=BJg~`61G{3L0v3w6+0_^DO))r?A-&!LK=lU zQE+3{lu6AZEvjRC-1sQ8^G@qSSfKkPyxy{!>{JukkaEulHJTV^=J zK#*Y?GliQYJpyr!F@0bfuWqF=l-(x74j_-l8Zsc)M|3DwG_h|@EXOSzm$1Iv%9L5BSiz8eW=h7VIuQ`Yi<@# z$mvuRIF%-+irMfPEKayxYZ0>REFw;gMMw{=eUYLn_qx16rnHCvLtXQBf$G{AnY~Es zQpurRR~E`Zj|Fo!*4RsC5UUgDC|g@=p-pm#r(aLOWcw;6x|OFQz24OX6>2D}5gN1m z3xu&mLq4f!Sj|IL!FY96K^p7^@rnrX`Vt~)T>-g+H#OA90)Q(g;mDQK1k*w*-`5T0 zAu!ltO3u#gBMAP6Q5}cvk};U=+(O3Eg8pRCjJC@QKF8?=h?zMXwkF|S!+5rLu?tN# zbf2(85xZ|sVdQTu!veX>YPDQOc97Q>i+eA_77}L$JUyTTgu4ypfqgxptMd zA%Cze0_9fA>z5m{svSGf@7mr|Bf6G9EFNYy>xvl`4eQGih~~%vSQI^XVbEFK>`2GZ zpVZ@H6L1;&+!6L7m29aw!Avb#{M-j7_f1U7hl!*BjbKy141-~QJ;k`7$~)?<7;-m- zE_T7WxCXmi;d%Iz?Ztt-2;Ppx)-R=S{F;Xy=z6N%ft~F}l4|dNQ6L}N34PF{W}Zv( z5jZ>SsE#OnwCG7O#!TNb0rr{U$*~X|luhp*1i0SPe!{4ZNt< zZb?$)#iRJft!SDHc?G-ru)9(45f}wcr zizWpcHcqRL7--UTM87@Lq)?ZkiMR#OYou*zy+RmytK3NX)&jQ56$;oQXGlI}?nDRZ zRuLXjIQo}Cd5l#hgi?19oicE1o1 z4cQ*?urY{IGo~OK4&iDVWTeZkJ75mgsRzxXiNX9TYK@r~dCTZEW>e9_=2O&qb19Cn zdoZJf$G3uE%OMT1(2&NhAxH_2Opvnm(1SPvLkz^dAqIh43^9;Sozp4C5{7Tfv4m!G zx{9q_FEI8%G4*4B!Mbi4Jg4L|$O;F30VtH=R|WRZP;WW-RdX5_H9GKR3TI#vT8HfM{r-EeFFz$^wY(AWer`nDFSt|7#!HO~d0 z(v4gQD+hDk18p-W59sK`^nQ3X0WZj*)0@`yq~kV&=tp&tIz-4moHE;js^7qrU-(XZ zK0|7g>?sR}#^*k55_UzcjSbs{Y!++c!yz5VwQ6>WykiWUBHEIHe}vnj*V%y5rqB^} zkX&O$Ebvq02wAqW7t&9uIx@j@2fv5X$vs`eQkM>`AVMXjy?KGGZ0TrqLa8+IaZGcE z64ME8Ua2jNEwdXg3(_3h8O%x`2UHNX%2q ziDd*o@k3+c_AI}hXOuu2uc&;19Lk5mj>?Jx9j@)Yk|58aaRW$7$EhC@W@~IF;b224 zBZONwAck8mAZ%bGn@+*E@3H8eUkzH37<0w#JX>u`&S0zSJHeMz)mp5E58kdDf2`)rv`%i05? z^n*@sJD)nWaW7nw|bon}@6MYSy zK*cka)Z2zjz!^l5+w^HGpx*oHSs!Y4&}ae=7>x)uMk5-Zd{RbpYc{Fo*6mri&%mqO z2)Z?R7LG}HjECF3&hmvGjHi3CwmVxEKry8FgLFj23>P<53$_vA`;TzoEC|EvkahTw z)kJ7P%L_pqPGW`x!688pK5Hnb4#FXIBpy&lP<(X&52*uiKpnW}E~E~@0d*Aat0O6% zI*135`Z3vhn4iHDuB7Bmz?IMrZWe`w)KLd_EnhbgT#ImuuN@u&4y(AsEe0v5MkT*!6@OTK zNV-!(AmF5znz_#eyP>6i-!emcaj9>X@__-mF1Rzv+(?g+u!$EQGvOIL8xO8!knzHE$IW&sMXq%RcY3ic5!Ec)jl_iy~UyC&TXzv zh@QDKggPxMGI~`NK}U6j9L;-+mZ}g0MYy(f_8H75X7(&fX9F%#+kU3S4xL#uX!QP3 ztDqrhc>;vl1%hZqM9kfR5@FW{N@Uk|WBT*v#^Kq>G1`AUKRdi{+}`W$li9bfPh)Z;POJ0licCx_-BRoSQ*v-2Z!Gvl@mT$-=2ip7%Je`t7A z3CG`|k2H<*4uAmJY|3|J~>yDIYtZ!RPkzL2C^vRG56C- zgDfwbqx;8456r@|IQ+|kVrYt^mBw9_;HLDj!4$y}q~L%Y{4n$s0)E7ODTum4@cGnH zZ$mI;%#a*WhTuw@n}DR}e3c~b$dRZgMo<%-`V+>H%lEjI`l z$4KI?$)+Bx8j5q>BqPwetgRldP5TJHCsV|yHEdU5Zj|x4+0kKm4HRz(ZR$6Ktt^FE zn9;)wp;Tt44?xcplrBgCse(`=ZK4U^KCr)vza2cO^nsXy4g*&9wy;gFQ)YsOw6JB9 zEyLI`!@5rJhRTj$4FGHsjmWl0i%)OaG3^t^lT*+%jnBZV+*ZCc%5>HkGc7K>Qyqf2 z0_9#BbEXhA4hO_xJEO-gV0iYXw`tDM>PS!*ycm2`q8ULudl$K;h-FkR1!p+ycMFjj zHpaGki~6!q2C+d4qJa#u$wK0==AsQEQ`Jk(NMQ%OFu1xt#MYP)!JN5JXK83v?*sZj z#C-{zq)Acl>~b%c+&ApP!UDT2Gd<^W_jLEnHZ#-R+ugJ5AXrpaSI-pF-PK#wH9NDY zC<;Cm1yMxdp@@nHKJlT5h#+!`k3$iWQ$X%Z1O!i>FCx##$jq2d^6Po~`@wWY=J)-- zh>VPkjEu}wm4E^)Q7++`v0+dND)5&hi9|~ARm12DpaOpmNfZyWE!4e$^HcB_2zVC= z4Hl!vynaMgu!j5Ku+&6E^A)Jt&W6u|%4l$MGh|#v07v_aA0I|B)33lvAhZk{3JxvK+5&jcR*0l$ z%QEd{i&NjI-kEJN`=n`?px?5xRR2#@;k`dmCE04cUfgW9Ml5i}V@}|K`(Rrxx;4lY zEX*B*v%wNw9PPL+ir{TQ`~eGd(Y(*$sFK9H6g~B-l(E3C0(#;#Kux^_<_2NV#C?w{ zNxVqWv#&}C_xjl*u#q&=XMACV<%>An!qoir;GZ3x4V_^1?WByok(5L)gd1_=zV5s|owkf!#bN%aeZ*o;K_cB2upg5-8eE+yd{8 zxwi$duswp!cKi{zI|Z(WHjjn8!5TOukB$a@K83M;*mBV$*v-s&*y%E5n^Xr#muJw_do!v&gexzBZ5qK*j9EIp*)%L*-5oP2 z^i3o?Q(S{)wT5Rpkogz%#JQ=Ng$2Bg0`{s9Ardk!F*$Ax9p~G)lM%8I`Y;VTwWe;> zb*C=P=Busu@w5g0J~aXN_k-Ezv1-p9v}LKi_U^GxdjpU7=I;pt3Faf9D|QEGdc?+& zg3ZxM(yL5?ik;c*%I2;RjF_ zMddj@mPmv7mKHyb8$(*kE9DG^CH$*>sbZBEFX6TTeTX)>-v>Vf;^Wa7{+fO|81xja z-#P_`!k;9EMD)XOA=vCOz;CzR0*mq5wICZ3iJUk54HfDUz_R`l{Qq1w=H>3-cpytM>=QG9gN7Dr` z$&Lz`Vk^-AEw5LqP?UtJkz?2tXLJlp&!cCiN?zA=1qpwPI)^Vx>zyr$bm4 zbdOL)GJCQv;tQ}wRv%3TNkmD##OJcQ=?e4u>8m7k)D<#4jfNp@tW%cHl;qUY6(<;X zWwB!FqP$kR@?@LY(k$lrl~KPU(nL=V)R2(V_9|I{uDhTiC6)4;Y$`=+Z0LeKvI?vp z&1tVI%}SH&t$re|Nj!?yP~=q-9@`Z(luEsP(6xg(k5=%Rz; zhr>`lD$A}hSeXTSx;C8=>B^WC7=`i8i(FasGFOs%;gKoyIpHf@AGc6YvT$v(3?_&; zGi6U86*4V)XW*1yR)jK1GipkLB`w2{EsFTD1u;7~U52RF4Bi#c9=f1{c_Eh4_$eW; z4B%L{SmOag%=X43hmENw)}o`cnJk z*jeg<$3+nOWS`anFWGOuGbm=mQ)?K1G>u`H+R&u1Kb;E{XN7ItR1~*37Ey_@Pom)+ z0}(ZIZ&TgEruIX&NWy@tkN2XDEn_Y_Zh+(n`1D2_F0Vsbg4|d+u#KOcP!n4cw{fg+ zK*39?*t->Md$f5f)r_ieV?R9~z;I+rfS+U`M3p(t5(YVA-Z2#^ZY`j~IXE$Wv@U+H zDNcT|D@%W~4*n(}QH95hJ~N)M2vj&(+B$alkjrLAq3u;0BcUJBmuMn(IBtos1OrYj zmEXK@?Kpec#!?qf7x8IL8Um;>@ywWlPND2?jV~_F!;?Y578W1#Muv# z+rzjh&wHOM2s?-)Go{=Q7ssnB0242=CHzg6o_bXaaxNj=KlNSkm@7@Z(v>A%dp#_m zLds&y>(q=XieG37qPI;iEF6b(FYtI5SZ19bKgzbqY3atbV(_>Q|BARq^f_=z*z}x^ z?!^eCkiVJ~N$+IpxnJqoRG3kuIYtG90*+(I5r(4A=RTa4Cf{hD6knVCcF@=^~WpJlOZv)SF zjbG-9!g#Cd_{tA}h%&5i`GY}q8`>f`_FJ=({8F{<=hj{Illb+}zu=NZU7Em!MVU=J zj5d-Sy`4(G4F@DR;(?^#dU}x2?#V$YT=9u7xn6CA4dui3UYl2_(;74fj`d)m-B0r~ z^+O3)V1L5MfO7&XYq(hIj~LP~upUisDH1dmnZ;nZyb?x)0oJ&djgAY zt2PfpJ1_{_7gEY%t}ROUXzg&&w;c$l!jUrY@=(&el*#>oG9lmtjD~H0MH;eo02A7| zXLcavsvb}$Lxm?Ys14|PW8EB#XmImgIFi6tnxK?^G%ur{JbQF{;zX1UHRs9XMV=VF z;kx7FM>B76Mf^>!AbK0R3CT?&`n!T+{??!{e)F;MxjD#n3g*{}ua+qZc|9cBj%Be`=wI_%*bF}*ovI0$wo%32|JY2Z$%RiM$LcN9`YyO zjW$2AM_DlXz%&HpC&`B8c}oa)mU%Mu6+AWCxaNz(HT57Isc${PR&ZZU*H@_15I*Po z4UJv$`gVi{v>BaF4EF~Q&TyXZ$#I^zdBu01lE^#S!l z+_(|!sM9!#47LgUq2*8j_`>)_Yu&XzbYgn$8NP^GH~lm5EFK4tAe-~?)L@Q-_pa9L z_|zO_JFYReupn1JN2lfD3;2ogOH>`VJCxS}WjZsqJBNabl`DfJL2p(FvepHeMOr7% zLsTotg|3z7Lzm|`(WMbDc-CjYxH|mPZ;(`C)aw`A38O{aAflM`q{#)ll%}y-BmS=q-d04|=V~Sjd2Vf&5bd^0t zey@JYSUb`OAeLs~X;=;a4sE`oP;;*ck)>DE(8vRcoLr%QMel|h!DeMsEq;?f@dB&B zF+IU7*3j5@VztzlB0WMNCuqRi;8%ozG=_kr=uPD04R{m$ir$1Y_9i5yz7^>aLi9rZ zw&bh$dyY*XgG1^DtB`6&4hUROWR<6b*?Ue)JXuWxL;5D!U8rB6{iU#K;K1skmnUZG zvzt{sRypW+6$ZI|g%{Idke9)51SiLkZ1QAG7PegNg@PzYYNpQQ3~NREXA%0&K5l{|;0g3P0-bRI6raL&IJji=NMSf2kzER{bH zYb3w!nDRWrwu2pJQxjoqTz{`Ai1^TJam@PbM`+YdQ_S|8_5e;n9FVj3gVIEpGA#Fz z%7C7df&ttx!zb|?gGb|AkZdt1F5F-ij%~Uu?pn^5BrBG>t}BT?0DZ!YIIt)y3suMk zfkZYsTl}Pu4`;_FgEMS51Es!;nK5wojs&l6<{=5=nStv@AI!v(oBRp^~%nJO?} z^}CE{9oTu0`37B*#D=0ACKTnch{Q6OtVRl(R>^z=t&;r~*Fd>X2`VJN#Mj7uh_8|O z4y|x158K3GqAO!`L(z($|r)>bqQ>upWrbj|ZLI9A%K#$ny9X`HKhevNZgx1e#V?iL#p z>uyEku-;ZQ4(n|}Q$&V<(7Utc&N7F^ z7_|x`!P?3pJ>?+4%mb_)E@r~{r+g@9g=`F=rSbSdOA}*$&w`C+hF`$oD`|B=QO_v0|vwAcPfb?^_xoMh9%yG9)$Mw=}q82~W|7DL$bbUz|RwH@j`z zlp%v9gW#YOCcFmoDfIn3$s*hUo_?sejyDM{_4_y!5;%OJE=#^}1l$HeZ}SZ%jut%w zDH%W;b#TT&kJE+6k~2r7liPOSC+tp5%)zh#Vt^Ueu_(>DE=jZQ%OW}xP%{~9%!Cp;Ls;#Df)eSGvX#}*kff4? z58~y@xd*W~=gL&KP5|Oi0Xy20AA@DtkHNy+$6#6RW3Vjx7-GhO-FO%WBJOnU`h;Jg z;G5FxUZ#+ZjfNUEwf@>bn<1T1p9UDL&mH$m0QNAKxP2T6(3>0qw^G0z zb&$BwnwUST>?7UQpD2cd82z??QjYtF&>EhnIQKZoJs>Z|7s4d5?Q#iNSq2OrLl@p^ zHhW6=hL$RWtoX#EEct=FH1ioqraN`W6C|IVP@$<3xM+dMDTAawIm3@obL?r>(r*F> z$uFyscPTo#Q;!tEDJ{?)++b)*%qa+%ci0Ug0Hz$81}^^cXAgQZm}^L^YY$+AJ_~t? zc=Q5qc5GLG9l6y_^0cC>5t@n6J){a-k@EWTSOmUo)H&65hReXJ_NC*Qq5JR0z+WU+ zHKL5U4J76vq^3otN&-)YJd$M_pVEc#7w8E?qKB9d2<(jkL;Iu{Ud5yYCSz5&>GB)M zBPnGx;}Vx#Yy9Zp*?F3+h40Z+nubBB=~pPHf_|ZShc}nx6~tT;DloJ&d;{e4PaizK z2uob_=owqgHSw&=QbALoR7%uTaA#>P4YU;xOCr(<#=Cjm>LiiW7tV3 zhUp$XEXhAga#uVNPLz(6Lr)k3vdgE91_f7Q=fw%DnySMa)Yst_)0afL<%_VLlS&X) ziOg46oUmTL0#gWIz}3Q+U~8V|tFVgjRal((sq(H1Zp+Teu z6B;Suf+Iyqy=CP&Sajwg34P!)n^gm=hh0%>Oo(eFWgfgEDR4ggsTbSvFa2SOAy7ZX z#y~|>%q9F&RhVu}HBhCYu}FolvN8#3BxQm%Fqunyg{_c$1D|Z@o|4j?q}D(tEaXcE z^F{rJ*yboH=@HcDQF#@yC2TUR-v(+KSO8$f<^|!T3Afn=b6Gr?9xL>g&!T8j2F%nL zbYbQPnW-H0e?BrBDvo(i##IBe=x(wZ_ zKt_hln$l1sWOZ5z2HV&>=I3VN7-{HxNqQn=1D~m%f$s^Yc(fqcn4-iOlnx^=iWFm0 z`NJOg!>S?0$783FzFc@StQ>?fFUKpF8wTsrgSjhV?c(UXWlY>Jyg67g9h4y3eA*jT z096f|F{;4Ls;Q8P7`5VJ9!OJFbf!6U@H1vBM)VQJNaNaVT&8xa#$;xp@ms(W>cCd= zGon6-kARlKJZr7pb9+slY|*$TzsMHkWKPRdB6sDnCYnzQISEZ$R3%*;-pk{dN~m2* z<6`rTu+~OLjiC$tCIJVB{zT9!@yBA7%*SGpvE8x3zz@O-shN=~<1-^9!cp1yZ4m>B z$W# z;hXq$+rA-EIsI6ycAAcDiYXCrFaU(8CwaWjzE$alnzhV~)|UK&m{L7B*dQJ!k;uLU zN&Gu>lF7v44g9tv{brR@j-^rC`3FH}JM~@Nfl}}a{ncLQTx*k0iGpfyVEL)GPfBOs z06-A!S4XJlkcF8{2}w(ef@QfT#(J`Tr31EjeX7F?W&3rc+VfgkbKkmWP!SI9$8?OR1f1{)QW6qTq820K^3JP zNuLKaEbRfSfZ0WxvfEJmTDnA z745h?+zC;+QDK-vp17J)?JI8$|ma>9bBQX3E2pNaG*Ff<5uK;XBe)lqqVTvU)Zp) zJFOcwUQ~mxBBUxnocav^s1PSwz=&R>&R3D%V*?(k4@!AehyZjjUJ2h<7ls3jp<(m! z&<`o%6F^dwocP)DczCoWe4>Z+-0CNmC1&@Yto@emCOIoisT|hOt5S*iohsC;Qn9f< zxrW^aygGL$ta_pOLa*V`a(P@MijEUDbC07p(uyApn+`T3np?2~HPqzD&?&c2sXt6N z;1VY`iu>YBQR*Q+Mq<~4Pl^LS+O^OJodh3i3RWR{zN&0CTpzX^`td;(EKS76O&wJV z?W!iuFdI!lkvg%z6TRog5sVuvJ+4@$9!|Ssb4Ux-$0+Vn-=dz^-;3YEU4iIDD)(7Y zrK(z(ao0;Ui#nHst)%EU92gN6iqmvXRJUof)8!lU4e~%QAxsRAWGIGsKT5{z`|6Vke>XZI7fmyCo<6yXe2V~{6S&V`-h{A z4Ry;mdOSKr9Wb0USSD79A@r~^`fzaP@Gu{fD+Z)a8Vp#w>SHZA{jIb#|H{~Go!PCz1}sJk)U<~N1&9<^ zH`K((`9~7$hJ~qdoYV-+$y1Nc&d@k$t3MpBwsu~#55633w}RnO#(@78b9gqKPuzg4m$SdET)R#NWbC*f{Sefa3w3CEpuNCnE<^ zga~3MRJ|0hdK<%&@o(x6mR&%Py#*`TI_Y-A-8(J6y)X6rO>CD}SO>?|EE`zZhbSq8 zz{zE^>;)?C9+&0D;5`{m>^`f09_wtXQQ(*vNCaz5!hIonu1-Id6b@iNG4Wj6aOr`% z2@%EvNFuSKYmfCbd1~hPv8nm-#i_}th;2x9kAx?PA$fXkd~y=*kzSzhaKzTk1f}=z zY&%C7cE-rv2`UHzr)%~6rU6Ad+}&L0!ik*Z&SFJ}H-#~OMTI09@F^0nfrCEV%S#>` zA}&Cp#{;V80VZ&!9g(iTI3jGh!^0kex8fUy?K6ycw$<@FIrQ^qVS9_)U!_PmhIUT% z;pS3s4_6@=)pw4OD~EXij9?o+7NJT|MKez>!QB-gs-S}bZMkG6)BKP+SHv{Z(L>#a8GUPfVgl3=d&>kI z1iA>P>{@PADI6}=igA3=vAIymeaY*Lr3W2UyvRD|2S*az4W zABnJ!KqdyOt5(jPM}YOFCJ>UV3sTugxYm5IW?(nu06gmemE#KhA>hBN)Pn)$o#>*t?@Y$QoyhE z)Pu8=Cn&rwfnJ5zq9qF;Up_}qzHH*!sfi;C$B#u1!F4xD5TKKLiQVU-<(%NsQlGmx z4G+X0wRmKae~^6nAVRqs3v)-tolnL~rYSReOZoiNp@7)k9Kr=DUA(uC($z)v$^d~c zI2V;D>l2tU^#GC=7RMKl2W_j1=8uMUPf=%KJoQl|{Cq_Q8fK|Rus}Z!_Bugdm^%n2 zDu%_c=dEWT7UmKkg!SQGf+)!{7 zxM$L}_ry~k-EHlRsMfYan!8s$AmicI&f`NVtFxf>C4_NBxFtbfH<&0gckm@jm_0EF zp-BqPakbxJZ?xj?bT?Wh3+ydZsX~3PP+St-;uKf$w=uNqiEolEO$n#w)U0N`g;uH;=?rdy7a= zlDj!0uB5jw1oYq%R3&A-(SUQIsf-Ob8V9d*R6a(Nwqq|!c`smy{R0#rDBu`jVF-g| zIV4L@z0Z|JufySoeOkif0^E$VK}y1Rt8=gDn-w9n)Bea4S`k+U_;0=aKTQpW3bn+7 z=P|3D{_z9;hI>>MRom_jk1DGIdh5M^1O|_|y1$IpR|Mys4>TGS3YdmEdMHRmb~{5O zR96yl*jwQ?Qr{u}>Y~w4d4=YYV{`Rf-XZIDX=a*yP^P z!`Ou*hm%o=uH~Xit|$V4h-o%_gqO&wcxoIz@!BzUPH`du7o$CDJS70_qHf}`a!NDo?YqkVyVT!kPMgwJLJK3J%xTHMw*(yu#QOt zK*Kl&GYt43F$(x-;@puquwzQ1fRCX&r;&bn5Y!>#5`TsagSv=0VF8f~Ar#hmxPW1fnF$v&2xDq0Z* zd|ZjLJ}%%Bki&qFFQNe-M-2l$jto8>b$BVA27Cye1$=@M8t@4U{6r!k(|`{thyp&Y zEDreiA|CJ|B|PAxig>^WiBZ7E5QBh^rbPiCMGgW!o&qDx;h-0qC=CzzkSAEchm2)%~=Cs|b*}@;s)4($Almb5l$A2Jk7}mE)6X90u}F zgkc~?55quVVH5`P#R*x`Fp#ZC;ylxMWO3p#UL_phkULW2JTGA53x60+lsw-Huu9?! z(g7*QWmufVU{z8WDd9vPlL<(vPl*Cjp2`DKs^okDDPJiJNGWZHpwHL%ONG7m`E*S6pg!{{Z-bI2CZfRua91PMraq7O(> zS`ecN3Rpi=pRSJPb5U$p-G!Z^uXiP}7-&Gsy(tbzxgr{n^2DfrsqZ8KDOVNaOWYZ; zmAT$HdZ>|xtQ?4lRT7YLm?R+OXeqf;m_AHH65VK+O9tzWMMbS3`NLI+qA2FUR4z$x zY*PdB0K%DkY~@U5x)9R6CM=vFxR8D7Q!1hVG_f8l-@*pu#$t_p~>57>gyuzfP~3@PGIj@DpP zad&MNVuq3$daK*md(x`YW4PvXj8j+IPOGS1~ z_F-8d(Hl3Ay+Hb!Lf*6isgNVs@B`Z&EuJNj^EV7BY&c7V{VQ#fT4=~I2E9PWRNClv z-N6Hv)OU80A_(g?cenR@96%$g3h~Q@^ z9wZD~L$$qyJVWFHHQ*Oq-sd|IlKf@?__g81p?`7E4Y)3WydG>r_zRU#-JnIur+O1|K z5q4{+BDzn*5%>;`sK8iK_@=Ok8GT+zvgpGiv#}r`l06s!o$bEhWjPGJmm=5=5I&mP zYZ2GrBT`ty@2`mHc4q}INU?6ji_1Q#>bp7J?Vt#1hkGZ2B1mj^yC#AHwqGJB6Il=U zNQBS1p*kS5eGx%fup=TU3HCyyN`_sv7bGl-_CLhMWamSo5U(^!k^NF!P>P<2-aHVI zgB=cG=_VNTlXP!Gra19twx5A)R-ii>2-)pnh;}cyO$cg#kA<#)WWK(N0wAQO)aMSpK2M^ z{q*_wp2RcneTiL7B^1Ao>WFLw)zQt`sryZH>lM+hlm<(wVUbxxRYaCakF>;+Dw5T5 z247571$-G5iGBf9{o+ffnn)H+4Z$s!hQG~1sUn6;q!CHaa$+)u0W8%9#T>;2zDx}p z*i!KXMk6oM3!kRkE_vclve>DAhRd9WMiw{?#RVDlm&J>kyq*e1YGS~HU#WB~c#`EH z%u`oyNi0|*J#=9UD`GrXSTdyVhI&MiaAgRSjPGOJw1xQ!XEj?0-T6A;-vfSus zcA?P|>=GkVa*K;WnORokG+0nnB)^oXeg=z(Na4$ej%F7Q1A<*L^hCW_=ziN}LPu~5 zgp{I}1_{M23I;U292k&rAuu55B|t(Vi+_$vm;F4^FZdCfU+PmtzsQF_$?~50X%_bM zFS4Yk2xc+Q|817>2*EGl5u#hVBQ)28a4~1snCo(C*-Ohr{pptI?6V{rJ0STyY)ZBZ za-No0it~kZxy@7ULK~ylCAN@E7T0`1z^z_TvxU(rSgODp7q#*gE;)Hw@#N?Lloy6? zWL14(v@E5*jx0#|-+n1d(ejH>zSu55DT)b<`@j95W6orEpT#UXUtm(NaCN+Dg(Fn3 zFr=jzkUV@ywqJqN_>GnlKJBRFVZBs@-wJOE#u@)Rc#9oB?K{kp5Wc}J2H_9741~XN z5kT{&mIKVvk1a8mp3w?^xyM(+g&z0IFY$yVy}09PYFWqs#04Gt%dBn$B&Uh$TkZ0V ztKybt$eSF^44LXly;$R(qsugos26DbPojb99cod=75n9wfE0c(RgUQp(>VN~4JBa^$B7JZwV+_`#W za_4Dka_4`l$({QdWykswJCh?6Ka+DrHj{I7Gm}%l)04Ka$V}Rhn3$j;IXOX71$=^r zL_a}OzxV`A6UhY45ZnYU{B0&^iWpANB9a~`VltW#OSOZLqqsrG)UX4LvO7U^Q&CtjM%~0G>t-maupz(Uj#A;%|gP)B#7Cgyv5Khq4TM`pAq=yqU zPJz(|Npyl1{?@ZBPjeHrfTSj9oWdUU6Es)RP0%PsP0$>HOwb(7PS8BTPSB8&o1g_{ zW`f3PFhNr!KS5JJg9#c^_yo<->;x?!*a?~^>Is_rZ6|1s;3jC4q9C(pf}Wre5}BYmDxIKtqMx7Kg|S9{~{AKMKBXI|F@Z-5rUtf z5u%%*5t{2kWP)akA(PVm=_Y8N;<6_LlAoYavYnuLT4I9c3w4&H|4k=so@ys-jAAEj zA(>3rd_lmyp0L?MGGX(%kGVo?bkxL+&r=c)Im^Z$a5;{thirDEE8|ndOo1OY5);et zQ+QR+STsdcU}TEufBPw-qUEQEzSvF?6~#E{{%`VCs?2{g8&i^^cXj+@;TRcA{It#o zBo7~wt#FVUztK{{ryZ3%tfz>`F1#ri>HP2DEp`OA?=VwDe1n@J;tx7S#NRko(fp}N zi|%EA~^wfE0ePog$JdW{T)2YKrK7sVSoS6~0V2 zG|Rwq`E%h^B%5{T>XZ3VGSe=~vFnW`vg?q@U8j(Otq|qXX-b$-p=d$=oTk{!IrWPz z(`%Ytf>*zyJUK@VGUPDh?R>d$>8vNVGC!=)>`#|%W(W$`{f+mDnIAg0%>KYM zD*Lz2CvzENPW>GvoGnAXlWk@9r_LM0pO`TQ|7r%zA1WmY|5l8^AC?LH)8~Z2FZK2M zUy}!hKQIFf{#ChO`d|Mlo$m!ymFcDbB{^P5(8*i)m&)scKU_u^{B3f%;4huU#qzgY z<`(8zMcb2k^3{$Or$8s?BoxQ9k4_()8b7gntc9V9*5b9tXO6U#<9&%Oxq5kZ_0gAJ zdg-pQy*qdA-?Q(UUGRhax6}N+=b8iNuV-9x^rBnrn0Uo=o_wc^cI>$A4)xzfS1)&$ zMkg;{&_8$VI0%0{-~KTFK557I9lW}SXC_}hW{d6)f4mR=_m75f3;6d*J9fUs)Z1ss zJMM&k0G_RfKcBSY(zjd;|K4rK?eOQ0J5Z*s*m1Y-yA2TWh4>#2vK-l5x?DZ6+Uxxo@{=>KL*zp+i3;(%z z$0GcHt2KRWZgzgr9iTWn-?Co~g-RQu8iKmmXSb>?V|%R{p|)JCwB=9L*WowrNNUTn zD)RqFv}L!YqPD!s{xJWdwrr0UY^7x%0AG<6XmKwaJ7D{p?`0nX1l`VQxe2{&uN4() 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 R*#lRDADU=1FQ1VX{XYy?!vO#Q literal 0 HcmV?d00001 diff --git a/Client Applications/rcracki_mt/lm2ntlm.cpp b/Client Applications/rcracki_mt/lm2ntlm.cpp new file mode 100644 index 0000000..1b80e9c --- /dev/null +++ b/Client Applications/rcracki_mt/lm2ntlm.cpp @@ -0,0 +1,2256 @@ +/* +* Copyright (C) Daniël Niggebrugge +* All rights reserved. +* +* Redistribution and use in source and binary forms, with or without +* modification, are permitted provided that the following conditions are met: +* * Redistributions of source code must retain the above copyright +* notice, this list of conditions and the following disclaimer. +* * Redistributions in binary form must reproduce the above copyright +* notice, [...] etc :p +*/ + +#ifdef _WIN32 + #pragma warning(disable : 4786 4267 4018) +#endif + +#include "lm2ntlm.h" + +LM2NTLMcorrector::LM2NTLMcorrector() +{ + progressCurrentCombination = 0; + totalCurrentCombination = 1; + counterOverall = 0; + countCombinations = 0; + countTotalCombinations = 0; + counter = 0; + fillMapW(); + aborting = false; + sBinary = ""; + +} + +string LM2NTLMcorrector::getBinary() +{ + return sBinary; +} + +bool LM2NTLMcorrector::LMPasswordCorrectUnicode(string hexPassword, unsigned char* pNTLMHash, string& sNTLMPassword) //, unsigned char* pLMPassword +{ + string sPlain = ""; + + int i; + for (i = 0; i < hexPassword.size() / 2; i++) + { + string sSub = hexPassword.substr(i * 2, 2); + int nValue; + sscanf(sSub.c_str(), "%02x", &nValue); + sPlain += (unsigned char)nValue; + } + + memcpy(NTLMHash, pNTLMHash, 16); + + + int tmpLength = sPlain.size() * 2; + unsigned char* pLMPassword = new unsigned char[tmpLength]; + + //printf("Searching for unicode password.\n"); + printf("Failed case correction, trying unicode correction for: %s\n", sPlain.c_str()); + //printf("NTLM hash: %s\n\n", sNTLMHash.c_str()); + + setvbuf(stdout, NULL, _IONBF,0); + + startClock = clock(); + previousClock = clock(); + +#ifndef _WIN32 + tty_init(); +#endif + + if (startCorrecting(sPlain, NTLMHash, sNTLMPassword, pLMPassword)) + { + sBinary = ByteToStr(pLMPassword, tmpLength).c_str(); + //printf("\nFound unicode password: %s\n", sNTLMPassword.c_str()); + //printf("Password in hex: %s\n", sBinary.c_str()); + writeEndStats(); +#ifndef _WIN32 + tty_done(); +#endif + return true; + } + else + { + //printf("\ncase correction for password %s fail!\n", sPlain.c_str()); + writeEndStats(); +#ifndef _WIN32 + tty_done(); +#endif + return false; + } +} + +bool LM2NTLMcorrector::startCorrecting(string sLMPassword, unsigned char* pNTLMHash, string& sNTLMPassword, unsigned char* pLMPassword) +{ + if (sLMPassword.size() == 0) + { + sNTLMPassword = ""; + return true; + } + + string muteMe = sLMPassword; + int length = muteMe.size(); + + unsigned char* pMuteMe = new unsigned char[length]; + unsigned char* pTempMute = new unsigned char[length * 2]; + + int i; + for (i = 0; i < length; i++) + { + pMuteMe[i] = muteMe[i]; + pTempMute[i * 2 ] = muteMe[i]; + pTempMute[i * 2 + 1] = 0x00; + unsigned char muteChar = pMuteMe[i]; + int sizeMapForChar = m_mapChar[muteChar].size(); + int j; + for (j = 0; j < sizeMapForChar; j++) + { + currentCharmap[i][j] = m_mapChar[muteChar][j]; + } + } + + int* jAtPos = new int[length]; + int* sizeAtPos = new int[length]; + bool* fullAtPos = new bool[length]; + + int setSize; + for (setSize = 0; setSize <= length; setSize++) + { + int cntFull = 0; + + // clear all 'fullatpos' before new setSize + int i; + for (i=0; i < length; i++) + { + fullAtPos[i] = false; + } + + //printf("Trying full unicode map for %d/%d characters...\t\t\n", setSize, length); + printf("Trying full unicode map for %d/%d characters...%-20s\n", setSize, length, ""); + + bool notFirst = true; + + // start at end and set 'full' combination + countCombinations = 0; + countTotalCombinations = calculateTotalCombinations(length, setSize); + + int sPos = length - 1; + while (sPos >= 0 && notFirst) // finding combinations for current 'setSize' + { + if (aborting) + return false; + + if (cntFull < setSize) + { + if (fullAtPos[sPos] == false) + { + fullAtPos[sPos] = true; + cntFull++; + } + sPos--; + } + else + { + if (fullAtPos[sPos] == false && setSize > 0) + { + fullAtPos[sPos] = true; + cntFull++; + + // reset positions after sPos + int k; + for (k = sPos+1; k < length; k++) + { + if (fullAtPos[k] == true) + { + fullAtPos[k] = false; + cntFull--; + } + } + // start at end again + sPos = length - 1; + } + else + { + sPos--; + } + } + // we have a combination + if (cntFull == setSize) + { + countCombinations++; + + setupCombinationAtPositions(length, pMuteMe, pTempMute, jAtPos, fullAtPos, sizeAtPos); + + if (checkPermutations(length, pMuteMe, pTempMute, jAtPos, sizeAtPos, pLMPassword, sNTLMPassword)) + { + return true; + } + } + + if (setSize == 0) + notFirst = false; + } + } + return false; +} + +// set up combination at positions +void LM2NTLMcorrector::setupCombinationAtPositions(int length, unsigned char* pMuteMe, unsigned char* pTempMute, int* jAtPos, bool* fullAtPos, int* sizeAtPos) +{ + progressCurrentCombination = 0; + totalCurrentCombination = 1; + + int i; + for (i=0; i < length; i++) + { + pTempMute[i*2] = currentCharmap[i][0]; + pTempMute[i*2+1] = currentCharmap[i][1]; // reset to first char in map + + jAtPos[i] = 0; // reset charcounter for this char (that is all chars) + + // based on combination, set full map or only upper/lowercase + if (fullAtPos[i] == true) + { + unsigned char muteChar = pMuteMe[i]; + int sizeMapForChar = m_mapChar[muteChar].size()/2; // 2 bytes per char + sizeAtPos[i] = sizeMapForChar; + } + else + { + sizeAtPos[i] = 2; + } + + totalCurrentCombination *= sizeAtPos[i]; + } + //printf("Trying %I64u passwords for current combination\t\t\r", totalCurrentCombination); +} + +// go check all permutations for this combination +bool LM2NTLMcorrector::checkPermutations(int length, unsigned char* pMuteMe, unsigned char* pTempMute, int* jAtPos, int* sizeAtPos, unsigned char* pLMPassword, string& sNTLMPassword) +{ + int pos = length - 1; + + while (pos >= 0) + { + counter++; + + pos = length - 1; + + int jAtCurPos = jAtPos[pos]; + int sizeMapForCharPos = sizeAtPos[pos]; + // move to start of string and find character with permutations left + while (jAtCurPos >= sizeMapForCharPos-1 && pos >= -1) + { + pos--; + if (pos >= 0 ) + { + jAtCurPos = jAtPos[pos]; + sizeMapForCharPos = sizeAtPos[pos]; + } + } + if (pos < 0) + continue; + + // next permutation for character + jAtCurPos++; + jAtPos[pos] = jAtCurPos; + + pTempMute[pos*2] = currentCharmap[pos][jAtCurPos*2]; + pTempMute[pos*2+1] = currentCharmap[pos][jAtCurPos*2+1]; + + // reset positions after pos + int k; + for (k = pos+1; k < length; k++) + { + jAtPos[k] = 0; + pTempMute[k*2] = currentCharmap[k][0]; // reset to first char in map + pTempMute[k*2+1] = currentCharmap[k][1]; + } + + if (checkNTLMPassword(pTempMute, length, sNTLMPassword) == true) + { + int i; + for (i = 0; i < length*2; i++) + pLMPassword[i] = pTempMute[i]; + return true; + } + + if (counter > 10000) // don't check clocks too often + { + clock_t currentClock = clock(); + float fTime = 1.0f * (currentClock - previousClock); + if (fTime > 1.0f * CLOCKS_PER_SEC) + { + float progressPercentageCurrentCombination = progressCurrentCombination * 100.0f / totalCurrentCombination; + float fTime = 1.0f * (currentClock - startClock) / CLOCKS_PER_SEC; + float currentSpeed = (counterOverall + progressCurrentCombination) / fTime / 1000000; + + //printf("%.2f%% of combination %d/%d (%.2f Mhashes/s)\t\t\t\t\r", progressPercentageCurrentCombination, countCombinations, countTotalCombinations, currentSpeed); + printf("%.2f%% of combination %d/%d (%.2f Mhashes/s)%-30s\r", progressPercentageCurrentCombination, countCombinations, countTotalCombinations, currentSpeed, ""); + + previousClock = clock(); + #ifdef _WIN32 + if (_kbhit()) + { + int ch = _getch(); + ch = toupper(ch); + if (ch == 'S') + { + aborting = true; + printf( "\nAborting unicode correction for this hash...\n"); + } + else + { + printf( "\nPress 'S' to skip unicode correction for this hash...\n"); + } + } + #else + int c = tty_getchar(); + if (c >= 0) { + tty_flush(); + if (c==115) { // = s + aborting = true; + printf( "\nAborting unicode correction for this hash...\n"); + } + else { + printf( "\nPress 's' to skip unicode correction for this hash...\n"); + } + } + #endif + if (aborting) + return false; + } + counter = 0; + } + + progressCurrentCombination++; + counterOverall++; + } + return false; +} + +// check password, maybe integrate this function in checkPermutations() for performance reasons. +bool LM2NTLMcorrector::checkNTLMPassword(unsigned char* pLMPassword, int nLMPasswordLen, string& sNTLMPassword) +{ + unsigned char md[16]; + + //MD4(pLMPassword, nLMPasswordLen * 2, md); + MD4_CTX ctx; + MD4_Init(&ctx); + MD4_Update(&ctx, pLMPassword, nLMPasswordLen * 2); + MD4_Final(md, &ctx); + + if (memcmp(md, NTLMHash, 16) == 0) + { + sNTLMPassword = ""; + int i; + for (i = 0; i < nLMPasswordLen; i++) { + sNTLMPassword += char(pLMPassword[i * 2]); + } + return true; + } + else + return false; +} + +void LM2NTLMcorrector::checkAbort() +{ +#ifdef _WIN32 + if (_kbhit()) + { + int ch = _getch(); + ch = toupper(ch); + if (ch == 'S') + { + aborting = true; + printf( "\nAborting unicode correction for this hash...\n"); + } + else + { + printf( "\nPress 'S' to skip unicode correction for this hash...\n"); + } + } +#endif +} + +void LM2NTLMcorrector::writeEndStats() +{ + clock_t endClock = clock(); + if (endClock - startClock > 0) + { + float fTime = 1.0f * (endClock - startClock) / CLOCKS_PER_SEC; + float speedOverall = counterOverall / fTime / 1000000; + printf("\nTried %s passwords in %.2f s (%.2f Mhashes/s)\n", uint64tostr(counterOverall).c_str(), fTime, speedOverall); + } + + printf("\n"); +} + +int LM2NTLMcorrector::calculateTotalCombinations(int length, int setSize) +{ + return factorial(length) / (factorial(setSize) * factorial(length-setSize)); +} + + +int LM2NTLMcorrector::factorial (int num) +{ + int result = 1; + int i; + for (i = 1; i <= num; ++i) + result *= i; + return result; +} + +// convert some bytes into a string +string LM2NTLMcorrector::ByteToStr(const unsigned char* pData, int nLen) +{ + string sRet = ""; + int i; + for (i = 0; i < nLen/2; i++) + { + char szByte[3]; + sprintf(szByte, "%02x", pData[i*2+1]); // swap 2-byte characters again + sRet += szByte; + sprintf(szByte, "%02x", pData[i*2]); + sRet += szByte; + } + + return sRet; +} + +void LM2NTLMcorrector::addToMapW(unsigned char key, unsigned char value1, unsigned char value2) +{ + int cnt = m_mapChar[key].size(); + m_mapChar[key][cnt] = value2; + m_mapChar[key][cnt+1] = value1; //reverse for endiannes +} + +// construct the mappings, would be nicer in a separate (importable) file +void LM2NTLMcorrector::fillMapW() +{ + addToMapW(0x01, 0x00, 0x01); + addToMapW(0x01, 0x26, 0x3A); + addToMapW(0x02, 0x00, 0x02); + addToMapW(0x02, 0x26, 0x3B); + addToMapW(0x03, 0x00, 0x03); + addToMapW(0x03, 0x26, 0x65); + addToMapW(0x04, 0x00, 0x04); + addToMapW(0x04, 0x26, 0x66); + addToMapW(0x05, 0x00, 0x05); + addToMapW(0x05, 0x26, 0x63); + addToMapW(0x06, 0x00, 0x06); + addToMapW(0x06, 0x26, 0x60); + addToMapW(0x07, 0x00, 0x07); + addToMapW(0x07, 0x00, 0xB7); + addToMapW(0x07, 0x20, 0x22); + addToMapW(0x07, 0x20, 0x24); + addToMapW(0x07, 0x20, 0x26); + addToMapW(0x07, 0x22, 0x19); + addToMapW(0x07, 0x22, 0xC5); + addToMapW(0x07, 0x30, 0xFB); + addToMapW(0x08, 0x00, 0x08); + addToMapW(0x08, 0x25, 0xD8); + addToMapW(0x09, 0x00, 0x09); + addToMapW(0x09, 0x20, 0xDD); + addToMapW(0x09, 0x25, 0xCB); + addToMapW(0x09, 0x30, 0x07); + addToMapW(0x0a, 0x00, 0x0A); + addToMapW(0x0a, 0x25, 0xD9); + addToMapW(0x0b, 0x00, 0x0B); + addToMapW(0x0b, 0x26, 0x42); + addToMapW(0x0c, 0x00, 0x0C); + addToMapW(0x0c, 0x26, 0x40); + addToMapW(0x0d, 0x00, 0x0D); + addToMapW(0x0d, 0x26, 0x6A); + addToMapW(0x0e, 0x00, 0x0E); + addToMapW(0x0e, 0x26, 0x6B); + addToMapW(0x0f, 0x00, 0x0F); + addToMapW(0x0f, 0x00, 0xA4); + addToMapW(0x0f, 0x26, 0x3C); + addToMapW(0x10, 0x00, 0x10); + addToMapW(0x10, 0x25, 0xBA); + addToMapW(0x11, 0x00, 0x11); + addToMapW(0x11, 0x25, 0xC4); + addToMapW(0x12, 0x00, 0x12); + addToMapW(0x12, 0x21, 0x95); + addToMapW(0x13, 0x00, 0x13); + addToMapW(0x13, 0x20, 0x3C); + addToMapW(0x14, 0x00, 0x14); + addToMapW(0x14, 0x00, 0xB6); + addToMapW(0x15, 0x00, 0x15); + addToMapW(0x15, 0x00, 0xA7); + addToMapW(0x16, 0x00, 0x16); + addToMapW(0x16, 0x02, 0xC9); + addToMapW(0x16, 0x25, 0xAC); + addToMapW(0x17, 0x00, 0x17); + addToMapW(0x17, 0x21, 0xA8); + addToMapW(0x18, 0x00, 0x18); + addToMapW(0x18, 0x21, 0x91); + addToMapW(0x19, 0x00, 0x19); + addToMapW(0x19, 0x21, 0x93); + addToMapW(0x1a, 0x00, 0x1A); + addToMapW(0x1a, 0x21, 0x92); + addToMapW(0x1b, 0x00, 0x1B); + addToMapW(0x1b, 0x21, 0x90); + addToMapW(0x1c, 0x00, 0x1C); + addToMapW(0x1c, 0x22, 0x1F); + addToMapW(0x1d, 0x00, 0x1D); + addToMapW(0x1d, 0x21, 0x94); + addToMapW(0x1e, 0x00, 0x1E); + addToMapW(0x1e, 0x25, 0xB2); + addToMapW(0x1f, 0x00, 0x1F); + addToMapW(0x1f, 0x25, 0xBC); + addToMapW(0x20, 0x00, 0x20); + addToMapW(0x20, 0x20, 0x00); + addToMapW(0x20, 0x20, 0x01); + addToMapW(0x20, 0x20, 0x02); + addToMapW(0x20, 0x20, 0x03); + addToMapW(0x20, 0x20, 0x04); + addToMapW(0x20, 0x20, 0x05); + addToMapW(0x20, 0x20, 0x06); + addToMapW(0x20, 0x30, 0x00); + addToMapW(0x21, 0x00, 0x21); + addToMapW(0x21, 0x00, 0xA1); + addToMapW(0x21, 0x01, 0xC3); + addToMapW(0x21, 0xFF, 0x01); + addToMapW(0x22, 0x00, 0x22); + addToMapW(0x22, 0x00, 0xA8); + addToMapW(0x22, 0x02, 0xBA); + addToMapW(0x22, 0x03, 0x08); + addToMapW(0x22, 0x03, 0x0E); + addToMapW(0x22, 0x20, 0x1C); + addToMapW(0x22, 0x20, 0x1D); + addToMapW(0x22, 0x20, 0x1E); + addToMapW(0x22, 0x20, 0x33); + addToMapW(0x22, 0x20, 0x35); + addToMapW(0x22, 0x27, 0x5D); + addToMapW(0x22, 0x27, 0x5E); + addToMapW(0x22, 0x30, 0x1D); + addToMapW(0x22, 0x30, 0x1E); + addToMapW(0x22, 0x30, 0x1F); + addToMapW(0x22, 0xFF, 0x02); + addToMapW(0x23, 0x00, 0x23); + addToMapW(0x23, 0xFF, 0x03); + addToMapW(0x24, 0x00, 0x24); + addToMapW(0x24, 0xFF, 0x04); + addToMapW(0x25, 0x00, 0x25); + addToMapW(0x25, 0x06, 0x6A); + addToMapW(0x25, 0x20, 0x30); + addToMapW(0x25, 0xFF, 0x05); + addToMapW(0x26, 0x00, 0x26); + addToMapW(0x26, 0xFF, 0x06); + addToMapW(0x27, 0x00, 0x27); + addToMapW(0x27, 0x00, 0xB4); + addToMapW(0x27, 0x02, 0xB9); + addToMapW(0x27, 0x02, 0xBB); + addToMapW(0x27, 0x02, 0xBC); + addToMapW(0x27, 0x02, 0xC8); + addToMapW(0x27, 0x02, 0xCA); + addToMapW(0x27, 0x02, 0xCB); + addToMapW(0x27, 0x03, 0x00); + addToMapW(0x27, 0x03, 0x01); + addToMapW(0x27, 0x20, 0x18); + addToMapW(0x27, 0x20, 0x19); + addToMapW(0x27, 0x20, 0x1A); + addToMapW(0x27, 0x20, 0x32); + addToMapW(0x27, 0x27, 0x5B); + addToMapW(0x27, 0x27, 0x5C); + addToMapW(0x27, 0xFF, 0x07); + addToMapW(0x28, 0x00, 0x28); + addToMapW(0x28, 0x23, 0x20); + addToMapW(0x28, 0xFF, 0x08); + addToMapW(0x29, 0x00, 0x29); + addToMapW(0x29, 0x23, 0x21); + addToMapW(0x29, 0xFF, 0x09); + addToMapW(0x2a, 0x00, 0x2A); + addToMapW(0x2a, 0x22, 0x17); + addToMapW(0x2a, 0xFF, 0x0A); + addToMapW(0x2b, 0x00, 0x2B); + addToMapW(0x2b, 0x00, 0xB1); + addToMapW(0x2b, 0x20, 0x20); + addToMapW(0x2b, 0x20, 0x21); + addToMapW(0x2b, 0xFF, 0x0B); + addToMapW(0x2c, 0x00, 0x2C); + addToMapW(0x2c, 0x00, 0xB8); + addToMapW(0x2c, 0x03, 0x27); + addToMapW(0x2c, 0x20, 0x1A); + addToMapW(0x2c, 0x20, 0x1E); + addToMapW(0x2c, 0xFF, 0x0C); + addToMapW(0x2d, 0x00, 0x2D); + addToMapW(0x2d, 0x00, 0xAC); + addToMapW(0x2d, 0x00, 0xAD); + addToMapW(0x2d, 0x20, 0x10); + addToMapW(0x2d, 0x20, 0x11); + addToMapW(0x2d, 0x20, 0x13); + addToMapW(0x2d, 0x20, 0x14); + addToMapW(0x2d, 0x22, 0x12); + addToMapW(0x2d, 0x22, 0x13); + addToMapW(0x2d, 0xFF, 0x0D); + addToMapW(0x2e, 0x00, 0x2E); + addToMapW(0x2e, 0x20, 0x26); + addToMapW(0x2e, 0xFF, 0x0E); + addToMapW(0x2f, 0x00, 0x2F); + addToMapW(0x2f, 0x20, 0x44); + addToMapW(0x2f, 0x22, 0x15); + addToMapW(0x2f, 0x22, 0x16); + addToMapW(0x2f, 0xFF, 0x0F); + addToMapW(0x30, 0x00, 0x30); + addToMapW(0x30, 0x20, 0x70); + addToMapW(0x30, 0x20, 0x80); + addToMapW(0x30, 0xFF, 0x10); + addToMapW(0x31, 0x00, 0x31); + addToMapW(0x31, 0x00, 0xB9); + addToMapW(0x31, 0x00, 0xBC); + addToMapW(0x31, 0x00, 0xBD); + addToMapW(0x31, 0x20, 0x81); + addToMapW(0x31, 0xFF, 0x11); + addToMapW(0x32, 0x00, 0x32); + addToMapW(0x32, 0x00, 0xB2); + addToMapW(0x32, 0x20, 0x82); + addToMapW(0x32, 0xFF, 0x12); + addToMapW(0x33, 0x00, 0x33); + addToMapW(0x33, 0x00, 0xB3); + addToMapW(0x33, 0x00, 0xBE); + addToMapW(0x33, 0x20, 0x83); + addToMapW(0x33, 0xFF, 0x13); + addToMapW(0x34, 0x00, 0x34); + addToMapW(0x34, 0x20, 0x74); + addToMapW(0x34, 0x20, 0x84); + addToMapW(0x34, 0xFF, 0x14); + addToMapW(0x35, 0x00, 0x35); + addToMapW(0x35, 0x20, 0x75); + addToMapW(0x35, 0x20, 0x85); + addToMapW(0x35, 0xFF, 0x15); + addToMapW(0x36, 0x00, 0x36); + addToMapW(0x36, 0x20, 0x76); + addToMapW(0x36, 0x20, 0x86); + addToMapW(0x36, 0xFF, 0x16); + addToMapW(0x37, 0x00, 0x37); + addToMapW(0x37, 0x20, 0x77); + addToMapW(0x37, 0x20, 0x87); + addToMapW(0x37, 0xFF, 0x17); + addToMapW(0x38, 0x00, 0x38); + addToMapW(0x38, 0x20, 0x78); + addToMapW(0x38, 0x20, 0x88); + addToMapW(0x38, 0x22, 0x1E); + addToMapW(0x38, 0xFF, 0x18); + addToMapW(0x39, 0x00, 0x39); + addToMapW(0x39, 0x20, 0x78); + addToMapW(0x39, 0x20, 0x89); + addToMapW(0x39, 0xFF, 0x19); + addToMapW(0x3a, 0x00, 0x3A); + addToMapW(0x3a, 0x05, 0x89); + addToMapW(0x3a, 0x20, 0x26); + addToMapW(0x3a, 0x22, 0x36); + addToMapW(0x3a, 0xFF, 0x1A); + addToMapW(0x3b, 0x00, 0x3B); + addToMapW(0x3b, 0x03, 0x7E); + addToMapW(0x3b, 0xFF, 0x1B); + addToMapW(0x3c, 0x00, 0x3C); + addToMapW(0x3c, 0x00, 0xAB); + addToMapW(0x3c, 0x20, 0x39); + addToMapW(0x3c, 0x23, 0x29); + addToMapW(0x3c, 0x30, 0x08); + addToMapW(0x3c, 0xFF, 0x1C); + addToMapW(0x3d, 0x00, 0x3D); + addToMapW(0x3d, 0x22, 0x61); + addToMapW(0x3d, 0x22, 0x64); + addToMapW(0x3d, 0x22, 0x65); + addToMapW(0x3d, 0xFF, 0x1D); + addToMapW(0x3e, 0x00, 0x3E); + addToMapW(0x3e, 0x00, 0xBB); + addToMapW(0x3e, 0x20, 0x3A); + addToMapW(0x3e, 0x23, 0x2A); + addToMapW(0x3e, 0x30, 0x09); + addToMapW(0x3e, 0xFF, 0x1E); + addToMapW(0x3f, 0x00, 0x3F); + addToMapW(0x40, 0x00, 0x40); + addToMapW(0x40, 0xFF, 0x20); + addToMapW(0x41, 0x00, 0x41); + addToMapW(0x41, 0x00, 0x61); + addToMapW(0x41, 0x00, 0xAA); + addToMapW(0x41, 0x00, 0xC0); + addToMapW(0x41, 0x00, 0xC1); + addToMapW(0x41, 0x00, 0xC2); + addToMapW(0x41, 0x00, 0xC3); + addToMapW(0x41, 0x00, 0xC4); + addToMapW(0x41, 0x00, 0xC5); + addToMapW(0x41, 0x00, 0xC6); + addToMapW(0x41, 0x00, 0xE0); + addToMapW(0x41, 0x00, 0xE1); + addToMapW(0x41, 0x00, 0xE2); + addToMapW(0x41, 0x00, 0xE3); + addToMapW(0x41, 0x00, 0xE4); + addToMapW(0x41, 0x00, 0xE5); + addToMapW(0x41, 0x00, 0xE6); + addToMapW(0x41, 0x01, 0x00); + addToMapW(0x41, 0x01, 0x01); + addToMapW(0x41, 0x01, 0x02); + addToMapW(0x41, 0x01, 0x03); + addToMapW(0x41, 0x01, 0x04); + addToMapW(0x41, 0x01, 0x05); + addToMapW(0x41, 0x01, 0xCD); + addToMapW(0x41, 0x01, 0xCE); + addToMapW(0x41, 0x01, 0xDE); + addToMapW(0x41, 0x01, 0xDF); + addToMapW(0x41, 0x03, 0xB1); + addToMapW(0x41, 0x21, 0x2B); + addToMapW(0x41, 0xFF, 0x21); + addToMapW(0x41, 0xFF, 0x41); + addToMapW(0x42, 0x00, 0x42); + addToMapW(0x42, 0x00, 0x62); + addToMapW(0x42, 0x01, 0x80); + addToMapW(0x42, 0x21, 0x2C); + addToMapW(0x42, 0xFF, 0x22); + addToMapW(0x42, 0xFF, 0x42); + addToMapW(0x43, 0x00, 0x43); + addToMapW(0x43, 0x00, 0x63); + addToMapW(0x43, 0x00, 0xA2); + addToMapW(0x43, 0x00, 0xA9); + addToMapW(0x43, 0x00, 0xC7); + addToMapW(0x43, 0x00, 0xE7); + addToMapW(0x43, 0x00, 0xE8); + addToMapW(0x43, 0x01, 0x06); + addToMapW(0x43, 0x01, 0x07); + addToMapW(0x43, 0x01, 0x08); + addToMapW(0x43, 0x01, 0x09); + addToMapW(0x43, 0x01, 0x0A); + addToMapW(0x43, 0x01, 0x0B); + addToMapW(0x43, 0x01, 0x0C); + addToMapW(0x43, 0x01, 0x0D); + addToMapW(0x43, 0x21, 0x02); + addToMapW(0x43, 0x21, 0x2D); + addToMapW(0x43, 0xFF, 0x23); + addToMapW(0x43, 0xFF, 0x43); + addToMapW(0x44, 0x00, 0x44); + addToMapW(0x44, 0x00, 0x64); + addToMapW(0x44, 0x00, 0xD0); + addToMapW(0x44, 0x00, 0xF0); + addToMapW(0x44, 0x01, 0x0E); + addToMapW(0x44, 0x01, 0x0F); + addToMapW(0x44, 0x01, 0x10); + addToMapW(0x44, 0x01, 0x11); + addToMapW(0x44, 0x01, 0x89); + addToMapW(0x44, 0x03, 0xB4); + addToMapW(0x44, 0x26, 0x6A); + addToMapW(0x44, 0x26, 0x6B); + addToMapW(0x44, 0xFF, 0x24); + addToMapW(0x44, 0xFF, 0x44); + addToMapW(0x45, 0x00, 0x45); + addToMapW(0x45, 0x00, 0x65); + addToMapW(0x45, 0x00, 0xC8); + addToMapW(0x45, 0x00, 0xC9); + addToMapW(0x45, 0x00, 0xCA); + addToMapW(0x45, 0x00, 0xCB); + addToMapW(0x45, 0x00, 0xE8); + addToMapW(0x45, 0x00, 0xE9); + addToMapW(0x45, 0x00, 0xEA); + addToMapW(0x45, 0x00, 0xEB); + addToMapW(0x45, 0x01, 0x12); + addToMapW(0x45, 0x01, 0x13); + addToMapW(0x45, 0x01, 0x14); + addToMapW(0x45, 0x01, 0x15); + addToMapW(0x45, 0x01, 0x16); + addToMapW(0x45, 0x01, 0x17); + addToMapW(0x45, 0x01, 0x18); + addToMapW(0x45, 0x01, 0x19); + addToMapW(0x45, 0x01, 0x1A); + addToMapW(0x45, 0x01, 0x1B); + addToMapW(0x45, 0x03, 0xB5); + addToMapW(0x45, 0x21, 0x07); + addToMapW(0x45, 0x21, 0x2E); + addToMapW(0x45, 0x21, 0x2F); + addToMapW(0x45, 0x21, 0x30); + addToMapW(0x45, 0xFF, 0x25); + addToMapW(0x45, 0xFF, 0x45); + addToMapW(0x46, 0x00, 0x46); + addToMapW(0x46, 0x00, 0x66); + addToMapW(0x46, 0x01, 0x91); + addToMapW(0x46, 0x01, 0x92); + addToMapW(0x46, 0x03, 0xA6); + addToMapW(0x46, 0x03, 0xC6); + addToMapW(0x46, 0x21, 0x31); + addToMapW(0x46, 0xFF, 0x26); + addToMapW(0x46, 0xFF, 0x46); + addToMapW(0x47, 0x00, 0x47); + addToMapW(0x47, 0x00, 0x67); + addToMapW(0x47, 0x01, 0x1C); + addToMapW(0x47, 0x01, 0x1D); + addToMapW(0x47, 0x01, 0x1E); + addToMapW(0x47, 0x01, 0x1F); + addToMapW(0x47, 0x01, 0x20); + addToMapW(0x47, 0x01, 0x21); + addToMapW(0x47, 0x01, 0x22); + addToMapW(0x47, 0x01, 0x23); + addToMapW(0x47, 0x01, 0xE4); + addToMapW(0x47, 0x01, 0xE5); + addToMapW(0x47, 0x01, 0xE6); + addToMapW(0x47, 0x01, 0xE7); + addToMapW(0x47, 0x02, 0x61); + addToMapW(0x47, 0x03, 0x93); + addToMapW(0x47, 0x21, 0x0A); + addToMapW(0x47, 0xFF, 0x27); + addToMapW(0x47, 0xFF, 0x47); + addToMapW(0x48, 0x00, 0x48); + addToMapW(0x48, 0x00, 0x68); + addToMapW(0x48, 0x01, 0x24); + addToMapW(0x48, 0x01, 0x25); + addToMapW(0x48, 0x01, 0x26); + addToMapW(0x48, 0x01, 0x27); + addToMapW(0x48, 0x04, 0xBB); + addToMapW(0x48, 0x21, 0x0B); + addToMapW(0x48, 0x21, 0x0C); + addToMapW(0x48, 0x21, 0x0D); + addToMapW(0x48, 0x21, 0x0E); + addToMapW(0x48, 0xFF, 0x28); + addToMapW(0x48, 0xFF, 0x48); + addToMapW(0x49, 0x00, 0x49); + addToMapW(0x49, 0x00, 0x69); + addToMapW(0x49, 0x00, 0xCC); + addToMapW(0x49, 0x00, 0xCD); + addToMapW(0x49, 0x00, 0xCE); + addToMapW(0x49, 0x00, 0xCF); + addToMapW(0x49, 0x00, 0xEC); + addToMapW(0x49, 0x00, 0xED); + addToMapW(0x49, 0x00, 0xEE); + addToMapW(0x49, 0x00, 0xEF); + addToMapW(0x49, 0x01, 0x28); + addToMapW(0x49, 0x01, 0x29); + addToMapW(0x49, 0x01, 0x2A); + addToMapW(0x49, 0x01, 0x2B); + addToMapW(0x49, 0x01, 0x2C); + addToMapW(0x49, 0x01, 0x2D); + addToMapW(0x49, 0x01, 0x2E); + addToMapW(0x49, 0x01, 0x2F); + addToMapW(0x49, 0x01, 0x30); + addToMapW(0x49, 0x01, 0x31); + addToMapW(0x49, 0x01, 0x97); + addToMapW(0x49, 0x01, 0xCF); + addToMapW(0x49, 0x01, 0xD0); + addToMapW(0x49, 0x21, 0x10); + addToMapW(0x49, 0x21, 0x11); + addToMapW(0x49, 0xFF, 0x29); + addToMapW(0x49, 0xFF, 0x49); + addToMapW(0x4a, 0x00, 0x4A); + addToMapW(0x4a, 0x00, 0x6A); + addToMapW(0x4a, 0x01, 0x34); + addToMapW(0x4a, 0x01, 0x35); + addToMapW(0x4a, 0x01, 0xF0); + addToMapW(0x4a, 0xFF, 0x2A); + addToMapW(0x4a, 0xFF, 0x4A); + addToMapW(0x4b, 0x00, 0x4B); + addToMapW(0x4b, 0x00, 0x6B); + addToMapW(0x4b, 0x01, 0x36); + addToMapW(0x4b, 0x01, 0x37); + addToMapW(0x4b, 0x01, 0xE8); + addToMapW(0x4b, 0x01, 0xE9); + addToMapW(0x4b, 0x21, 0x2A); + addToMapW(0x4b, 0xFF, 0x2B); + addToMapW(0x4b, 0xFF, 0x4B); + addToMapW(0x4c, 0x00, 0x4C); + addToMapW(0x4c, 0x00, 0x6C); + addToMapW(0x4c, 0x00, 0xA3); + addToMapW(0x4c, 0x01, 0x39); + addToMapW(0x4c, 0x01, 0x3A); + addToMapW(0x4c, 0x01, 0x3B); + addToMapW(0x4c, 0x01, 0x3C); + addToMapW(0x4c, 0x01, 0x3D); + addToMapW(0x4c, 0x01, 0x3E); + addToMapW(0x4c, 0x01, 0x41); + addToMapW(0x4c, 0x01, 0x42); + addToMapW(0x4c, 0x01, 0x9A); + addToMapW(0x4c, 0x20, 0xA4); + addToMapW(0x4c, 0x21, 0x12); + addToMapW(0x4c, 0x21, 0x13); + addToMapW(0x4c, 0xFF, 0x2C); + addToMapW(0x4c, 0xFF, 0x4C); + addToMapW(0x4d, 0x00, 0x4D); + addToMapW(0x4d, 0x00, 0x6D); + addToMapW(0x4d, 0x21, 0x33); + addToMapW(0x4d, 0xFF, 0x2D); + addToMapW(0x4d, 0xFF, 0x4D); + addToMapW(0x4e, 0x00, 0x4E); + addToMapW(0x4e, 0x00, 0x6E); + addToMapW(0x4e, 0x00, 0xD1); + addToMapW(0x4e, 0x00, 0xF1); + addToMapW(0x4e, 0x01, 0x43); + addToMapW(0x4e, 0x01, 0x44); + addToMapW(0x4e, 0x01, 0x45); + addToMapW(0x4e, 0x01, 0x46); + addToMapW(0x4e, 0x01, 0x47); + addToMapW(0x4e, 0x01, 0x48); + addToMapW(0x4e, 0x20, 0x7F); + addToMapW(0x4e, 0x21, 0x15); + addToMapW(0x4e, 0x22, 0x29); + addToMapW(0x4e, 0xFF, 0x2E); + addToMapW(0x4e, 0xFF, 0x4E); + addToMapW(0x4f, 0x00, 0x4F); + addToMapW(0x4f, 0x00, 0x6F); + addToMapW(0x4f, 0x00, 0xB0); + addToMapW(0x4f, 0x00, 0xBA); + addToMapW(0x4f, 0x00, 0xD2); + addToMapW(0x4f, 0x00, 0xD3); + addToMapW(0x4f, 0x00, 0xD4); + addToMapW(0x4f, 0x00, 0xD5); + addToMapW(0x4f, 0x00, 0xD6); + addToMapW(0x4f, 0x00, 0xD8); + addToMapW(0x4f, 0x00, 0xF2); + addToMapW(0x4f, 0x00, 0xF3); + addToMapW(0x4f, 0x00, 0xF4); + addToMapW(0x4f, 0x00, 0xF5); + addToMapW(0x4f, 0x00, 0xF6); + addToMapW(0x4f, 0x00, 0xF8); + addToMapW(0x4f, 0x01, 0x4C); + addToMapW(0x4f, 0x01, 0x4D); + addToMapW(0x4f, 0x01, 0x4E); + addToMapW(0x4f, 0x01, 0x4F); + addToMapW(0x4f, 0x01, 0x50); + addToMapW(0x4f, 0x01, 0x51); + addToMapW(0x4f, 0x01, 0x52); + addToMapW(0x4f, 0x01, 0x53); + addToMapW(0x4f, 0x01, 0x9F); + addToMapW(0x4f, 0x01, 0xA0); + addToMapW(0x4f, 0x01, 0xA1); + addToMapW(0x4f, 0x01, 0xD1); + addToMapW(0x4f, 0x01, 0xD2); + addToMapW(0x4f, 0x01, 0xEA); + addToMapW(0x4f, 0x01, 0xEB); + addToMapW(0x4f, 0x01, 0xEC); + addToMapW(0x4f, 0x01, 0xED); + addToMapW(0x4f, 0x03, 0xA9); + addToMapW(0x4f, 0x20, 0xDD); + addToMapW(0x4f, 0x21, 0x26); + addToMapW(0x4f, 0x21, 0x34); + addToMapW(0x4f, 0x22, 0x05); + addToMapW(0x4f, 0x30, 0x07); + addToMapW(0x4f, 0xFF, 0x2F); + addToMapW(0x4f, 0xFF, 0x4F); + addToMapW(0x50, 0x00, 0x50); + addToMapW(0x50, 0x00, 0x70); + addToMapW(0x50, 0x03, 0xC0); + addToMapW(0x50, 0x20, 0xA7); + addToMapW(0x50, 0x21, 0x18); + addToMapW(0x50, 0x21, 0x19); + addToMapW(0x50, 0xFF, 0x30); + addToMapW(0x50, 0xFF, 0x50); + addToMapW(0x51, 0x00, 0x51); + addToMapW(0x51, 0x00, 0x71); + addToMapW(0x51, 0x21, 0x1A); + addToMapW(0x51, 0xFF, 0x31); + addToMapW(0x51, 0xFF, 0x51); + addToMapW(0x52, 0x00, 0x52); + addToMapW(0x52, 0x00, 0x72); + addToMapW(0x52, 0x00, 0xAE); + addToMapW(0x52, 0x01, 0x54); + addToMapW(0x52, 0x01, 0x55); + addToMapW(0x52, 0x01, 0x56); + addToMapW(0x52, 0x01, 0x57); + addToMapW(0x52, 0x01, 0x58); + addToMapW(0x52, 0x01, 0x59); + addToMapW(0x52, 0x21, 0x1B); + addToMapW(0x52, 0x21, 0x1C); + addToMapW(0x52, 0x21, 0x1D); + addToMapW(0x52, 0xFF, 0x32); + addToMapW(0x52, 0xFF, 0x52); + addToMapW(0x53, 0x00, 0x53); + addToMapW(0x53, 0x00, 0x73); + addToMapW(0x53, 0x00, 0xDF); + addToMapW(0x53, 0x01, 0x5A); + addToMapW(0x53, 0x01, 0x5B); + addToMapW(0x53, 0x01, 0x5C); + addToMapW(0x53, 0x01, 0x5D); + addToMapW(0x53, 0x01, 0x5E); + addToMapW(0x53, 0x01, 0x5F); + addToMapW(0x53, 0x01, 0x60); + addToMapW(0x53, 0x01, 0x61); + addToMapW(0x53, 0x01, 0xA9); + addToMapW(0x53, 0x03, 0xA3); + addToMapW(0x53, 0x03, 0xC3); + addToMapW(0x53, 0x22, 0x11); + addToMapW(0x53, 0xFF, 0x33); + addToMapW(0x53, 0xFF, 0x53); + addToMapW(0x54, 0x00, 0x54); + addToMapW(0x54, 0x00, 0x74); + addToMapW(0x54, 0x00, 0xDE); + addToMapW(0x54, 0x00, 0xFE); + addToMapW(0x54, 0x01, 0x62); + addToMapW(0x54, 0x01, 0x63); + addToMapW(0x54, 0x01, 0x64); + addToMapW(0x54, 0x01, 0x65); + addToMapW(0x54, 0x01, 0x66); + addToMapW(0x54, 0x01, 0x67); + addToMapW(0x54, 0x01, 0xAB); + addToMapW(0x54, 0x01, 0xAE); + addToMapW(0x54, 0x03, 0xC4); + addToMapW(0x54, 0x21, 0x22); + addToMapW(0x54, 0xFF, 0x34); + addToMapW(0x54, 0xFF, 0x54); + addToMapW(0x55, 0x00, 0x55); + addToMapW(0x55, 0x00, 0x75); + addToMapW(0x55, 0x00, 0xB5); + addToMapW(0x55, 0x00, 0xD9); + addToMapW(0x55, 0x00, 0xDA); + addToMapW(0x55, 0x00, 0xDB); + addToMapW(0x55, 0x00, 0xDC); + addToMapW(0x55, 0x00, 0xF9); + addToMapW(0x55, 0x00, 0xFA); + addToMapW(0x55, 0x00, 0xFB); + addToMapW(0x55, 0x00, 0xFC); + addToMapW(0x55, 0x01, 0x68); + addToMapW(0x55, 0x01, 0x69); + addToMapW(0x55, 0x01, 0x6A); + addToMapW(0x55, 0x01, 0x6B); + addToMapW(0x55, 0x01, 0x6C); + addToMapW(0x55, 0x01, 0x6D); + addToMapW(0x55, 0x01, 0x6E); + addToMapW(0x55, 0x01, 0x6F); + addToMapW(0x55, 0x01, 0x70); + addToMapW(0x55, 0x01, 0x71); + addToMapW(0x55, 0x01, 0x72); + addToMapW(0x55, 0x01, 0x73); + addToMapW(0x55, 0x01, 0xAF); + addToMapW(0x55, 0x01, 0xB0); + addToMapW(0x55, 0x01, 0xD3); + addToMapW(0x55, 0x01, 0xD4); + addToMapW(0x55, 0x01, 0xD5); + addToMapW(0x55, 0x01, 0xD6); + addToMapW(0x55, 0x01, 0xD7); + addToMapW(0x55, 0x01, 0xD8); + addToMapW(0x55, 0x01, 0xD9); + addToMapW(0x55, 0x01, 0xDA); + addToMapW(0x55, 0x01, 0xDB); + addToMapW(0x55, 0x01, 0xDC); + addToMapW(0x55, 0x03, 0xBC); + addToMapW(0x55, 0xFF, 0x35); + addToMapW(0x55, 0xFF, 0x55); + addToMapW(0x56, 0x00, 0x56); + addToMapW(0x56, 0x00, 0x76); + addToMapW(0x56, 0x22, 0x1A); + addToMapW(0x56, 0x27, 0x13); + addToMapW(0x56, 0xFF, 0x36); + addToMapW(0x56, 0xFF, 0x56); + addToMapW(0x57, 0x00, 0x57); + addToMapW(0x57, 0x00, 0x77); + addToMapW(0x57, 0x01, 0x74); + addToMapW(0x57, 0x01, 0x75); + addToMapW(0x57, 0xFF, 0x37); + addToMapW(0x57, 0xFF, 0x57); + addToMapW(0x58, 0x00, 0x58); + addToMapW(0x58, 0x00, 0x78); + addToMapW(0x58, 0x00, 0xD7); + addToMapW(0x58, 0xFF, 0x38); + addToMapW(0x58, 0xFF, 0x58); + addToMapW(0x59, 0x00, 0x59); + addToMapW(0x59, 0x00, 0x79); + addToMapW(0x59, 0x00, 0xA5); + addToMapW(0x59, 0x00, 0xDD); + addToMapW(0x59, 0x00, 0xFD); + addToMapW(0x59, 0x00, 0xFF); + addToMapW(0x59, 0x01, 0x76); + addToMapW(0x59, 0x01, 0x77); + addToMapW(0x59, 0x01, 0x78); + addToMapW(0x59, 0xFF, 0x39); + addToMapW(0x59, 0xFF, 0x59); + addToMapW(0x5a, 0x00, 0x5A); + addToMapW(0x5a, 0x00, 0x7A); + addToMapW(0x5a, 0x01, 0x79); + addToMapW(0x5a, 0x01, 0x7A); + addToMapW(0x5a, 0x01, 0x7B); + addToMapW(0x5a, 0x01, 0x7C); + addToMapW(0x5a, 0x01, 0x7D); + addToMapW(0x5a, 0x01, 0x7E); + addToMapW(0x5a, 0x01, 0xB6); + addToMapW(0x5a, 0x21, 0x24); + addToMapW(0x5a, 0x21, 0x28); + addToMapW(0x5a, 0xFF, 0x3A); + addToMapW(0x5a, 0xFF, 0x5A); + addToMapW(0x5b, 0x00, 0x5B); + addToMapW(0x5b, 0x30, 0x1A); + addToMapW(0x5b, 0xFF, 0x3B); + addToMapW(0x5c, 0x00, 0x5C); + addToMapW(0x5c, 0x00, 0xA5); + addToMapW(0x5c, 0x22, 0x16); + addToMapW(0x5c, 0xFF, 0x3C); + addToMapW(0x5d, 0x00, 0x5D); + addToMapW(0x5d, 0x30, 0x1B); + addToMapW(0x5d, 0xFF, 0x3D); + addToMapW(0x5e, 0x00, 0x5E); + addToMapW(0x5e, 0x02, 0xC4); + addToMapW(0x5e, 0x02, 0xC6); + addToMapW(0x5e, 0x02, 0xC7); + addToMapW(0x5e, 0x02, 0xD8); + addToMapW(0x5e, 0x03, 0x02); + addToMapW(0x5e, 0x03, 0x06); + addToMapW(0x5e, 0x03, 0x0C); + addToMapW(0x5e, 0x23, 0x03); + addToMapW(0x5e, 0xFF, 0x3E); + addToMapW(0x5f, 0x00, 0x5F); + addToMapW(0x5f, 0x00, 0xAF); + addToMapW(0x5f, 0x00, 0xBE); + addToMapW(0x5f, 0x00, 0xDE); + addToMapW(0x5f, 0x00, 0xFE); + addToMapW(0x5f, 0x02, 0xCD); + addToMapW(0x5f, 0x03, 0x31); + addToMapW(0x5f, 0x03, 0x32); + addToMapW(0x5f, 0x20, 0x17); + addToMapW(0x5f, 0x30, 0xFC); + addToMapW(0x5f, 0xFF, 0x3F); + addToMapW(0x60, 0x00, 0x60); + addToMapW(0x60, 0x02, 0xCB); + addToMapW(0x60, 0x03, 0x00); + addToMapW(0x60, 0x20, 0x18); + addToMapW(0x60, 0x20, 0x35); + addToMapW(0x60, 0xFF, 0x40); + addToMapW(0x7b, 0x00, 0x7B); + addToMapW(0x7b, 0xFF, 0x5B); + addToMapW(0x7c, 0x00, 0x7C); + addToMapW(0x7c, 0x00, 0xA6); + addToMapW(0x7c, 0x01, 0xC0); + addToMapW(0x7c, 0x22, 0x23); + addToMapW(0x7c, 0x27, 0x58); + addToMapW(0x7c, 0xFF, 0x5C); + addToMapW(0x7d, 0x00, 0x7D); + addToMapW(0x7d, 0x30, 0x1B); + addToMapW(0x7d, 0xFF, 0x5D); + addToMapW(0x7e, 0x00, 0x7E); + addToMapW(0x7e, 0x02, 0xDC); + addToMapW(0x7e, 0x03, 0x03); + addToMapW(0x7e, 0x22, 0x3C); + addToMapW(0x7e, 0x22, 0x48); + addToMapW(0x7e, 0xFF, 0x5E); + addToMapW(0x7f, 0x00, 0x7F); + addToMapW(0x7f, 0x23, 0x02); + addToMapW(0x7f, 0x26, 0x60); + addToMapW(0x7f, 0x26, 0x63); + addToMapW(0x7f, 0x26, 0x65); + addToMapW(0x7f, 0x26, 0x66); + addToMapW(0x80, 0x00, 0x80); + addToMapW(0x80, 0x00, 0xC7); + addToMapW(0x80, 0x00, 0xE7); + addToMapW(0x80, 0x01, 0x06); + addToMapW(0x80, 0x01, 0x07); + addToMapW(0x80, 0x03, 0x91); + addToMapW(0x80, 0x03, 0xB1); + addToMapW(0x80, 0x04, 0x10); + addToMapW(0x80, 0x04, 0x30); + addToMapW(0x80, 0x05, 0xD0); + addToMapW(0x80, 0x20, 0xAC); + addToMapW(0x81, 0x00, 0x81); + addToMapW(0x81, 0x03, 0x92); + addToMapW(0x81, 0x03, 0xB2); + addToMapW(0x81, 0x04, 0x02); + addToMapW(0x81, 0x04, 0x11); + addToMapW(0x81, 0x04, 0x31); + addToMapW(0x81, 0x04, 0x52); + addToMapW(0x81, 0x05, 0xD1); + addToMapW(0x82, 0x00, 0x82); + addToMapW(0x82, 0x03, 0x93); + addToMapW(0x82, 0x03, 0xB3); + addToMapW(0x82, 0x04, 0x12); + addToMapW(0x82, 0x04, 0x32); + addToMapW(0x82, 0x05, 0xD2); + addToMapW(0x82, 0x20, 0x1A); + addToMapW(0x83, 0x00, 0x83); + addToMapW(0x83, 0x03, 0x94); + addToMapW(0x83, 0x03, 0xB4); + addToMapW(0x83, 0x04, 0x03); + addToMapW(0x83, 0x04, 0x13); + addToMapW(0x83, 0x04, 0x33); + addToMapW(0x83, 0x04, 0x53); + addToMapW(0x83, 0x05, 0xD3); + addToMapW(0x84, 0x00, 0x84); + addToMapW(0x84, 0x03, 0x95); + addToMapW(0x84, 0x03, 0xB5); + addToMapW(0x84, 0x04, 0x14); + addToMapW(0x84, 0x04, 0x34); + addToMapW(0x84, 0x05, 0xD4); + addToMapW(0x84, 0x20, 0x1E); + addToMapW(0x85, 0x03, 0x96); + addToMapW(0x85, 0x03, 0xB6); + addToMapW(0x85, 0x04, 0x01); + addToMapW(0x85, 0x04, 0x15); + addToMapW(0x85, 0x04, 0x35); + addToMapW(0x85, 0x04, 0x51); + addToMapW(0x85, 0x05, 0xD5); + addToMapW(0x85, 0x20, 0x26); + addToMapW(0x86, 0x00, 0x86); + addToMapW(0x86, 0x03, 0x97); + addToMapW(0x86, 0x03, 0xB7); + addToMapW(0x86, 0x04, 0x16); + addToMapW(0x86, 0x04, 0x36); + addToMapW(0x86, 0x05, 0xD6); + addToMapW(0x86, 0x20, 0x20); + addToMapW(0x87, 0x00, 0x87); + addToMapW(0x87, 0x03, 0x98); + addToMapW(0x87, 0x03, 0xB8); + addToMapW(0x87, 0x04, 0x04); + addToMapW(0x87, 0x04, 0x17); + addToMapW(0x87, 0x04, 0x37); + addToMapW(0x87, 0x04, 0x54); + addToMapW(0x87, 0x05, 0xD7); + addToMapW(0x87, 0x20, 0x21); + addToMapW(0x88, 0x00, 0x88); + addToMapW(0x88, 0x02, 0xC6); + addToMapW(0x88, 0x03, 0x99); + addToMapW(0x88, 0x03, 0xB9); + addToMapW(0x88, 0x04, 0x18); + addToMapW(0x88, 0x04, 0x38); + addToMapW(0x88, 0x05, 0xD8); + addToMapW(0x89, 0x00, 0x89); + addToMapW(0x89, 0x03, 0x9A); + addToMapW(0x89, 0x03, 0xBA); + addToMapW(0x89, 0x04, 0x05); + addToMapW(0x89, 0x04, 0x19); + addToMapW(0x89, 0x04, 0x39); + addToMapW(0x89, 0x04, 0x55); + addToMapW(0x89, 0x05, 0xD9); + addToMapW(0x89, 0x20, 0x30); + addToMapW(0x8a, 0x00, 0x8A); + addToMapW(0x8a, 0x01, 0x50); + addToMapW(0x8a, 0x01, 0x51); + addToMapW(0x8a, 0x01, 0x56); + addToMapW(0x8a, 0x01, 0x57); + addToMapW(0x8a, 0x03, 0x9B); + addToMapW(0x8a, 0x03, 0xBB); + addToMapW(0x8a, 0x04, 0x1A); + addToMapW(0x8a, 0x04, 0x3A); + addToMapW(0x8a, 0x05, 0xDA); + addToMapW(0x8b, 0x00, 0x8B); + addToMapW(0x8b, 0x03, 0x9C); + addToMapW(0x8b, 0x03, 0xBC); + addToMapW(0x8b, 0x04, 0x06); + addToMapW(0x8b, 0x04, 0x1B); + addToMapW(0x8b, 0x04, 0x3B); + addToMapW(0x8b, 0x04, 0x56); + addToMapW(0x8b, 0x05, 0xDB); + addToMapW(0x8b, 0x20, 0x39); + addToMapW(0x8c, 0x00, 0x8C); + addToMapW(0x8c, 0x01, 0x52); + addToMapW(0x8c, 0x01, 0x53); + addToMapW(0x8c, 0x03, 0x9D); + addToMapW(0x8c, 0x03, 0xBD); + addToMapW(0x8c, 0x04, 0x1C); + addToMapW(0x8c, 0x04, 0x3C); + addToMapW(0x8c, 0x05, 0xDC); + addToMapW(0x8d, 0x00, 0x8D); + addToMapW(0x8d, 0x01, 0x31); + addToMapW(0x8d, 0x01, 0x79); + addToMapW(0x8d, 0x01, 0x7A); + addToMapW(0x8d, 0x03, 0x9E); + addToMapW(0x8d, 0x03, 0xBE); + addToMapW(0x8d, 0x04, 0x07); + addToMapW(0x8d, 0x04, 0x1D); + addToMapW(0x8d, 0x04, 0x3D); + addToMapW(0x8d, 0x04, 0x57); + addToMapW(0x8d, 0x05, 0xDD); + addToMapW(0x8e, 0x00, 0x8E); + addToMapW(0x8e, 0x00, 0xC4); + addToMapW(0x8e, 0x00, 0xE4); + addToMapW(0x8e, 0x03, 0x9F); + addToMapW(0x8e, 0x03, 0xBF); + addToMapW(0x8e, 0x04, 0x1E); + addToMapW(0x8e, 0x04, 0x3E); + addToMapW(0x8e, 0x05, 0xDE); + addToMapW(0x8f, 0x00, 0x8F); + addToMapW(0x8f, 0x00, 0xC5); + addToMapW(0x8f, 0x00, 0xE5); + addToMapW(0x8f, 0x01, 0x06); + addToMapW(0x8f, 0x01, 0x07); + addToMapW(0x8f, 0x03, 0xA0); + addToMapW(0x8f, 0x03, 0xC0); + addToMapW(0x8f, 0x04, 0x08); + addToMapW(0x8f, 0x04, 0x1F); + addToMapW(0x8f, 0x04, 0x3F); + addToMapW(0x8f, 0x04, 0x58); + addToMapW(0x8f, 0x05, 0xDF); + addToMapW(0x8f, 0x21, 0x2B); + addToMapW(0x90, 0x00, 0x90); + addToMapW(0x90, 0x00, 0xC9); + addToMapW(0x90, 0x00, 0xE9); + addToMapW(0x90, 0x03, 0xA1); + addToMapW(0x90, 0x03, 0xC1); + addToMapW(0x90, 0x04, 0x20); + addToMapW(0x90, 0x04, 0x40); + addToMapW(0x90, 0x05, 0xE0); + addToMapW(0x91, 0x01, 0x39); + addToMapW(0x91, 0x01, 0x3A); + addToMapW(0x91, 0x03, 0xA3); + addToMapW(0x91, 0x03, 0xC2); + addToMapW(0x91, 0x03, 0xC3); + addToMapW(0x91, 0x04, 0x09); + addToMapW(0x91, 0x04, 0x21); + addToMapW(0x91, 0x04, 0x41); + addToMapW(0x91, 0x04, 0x59); + addToMapW(0x91, 0x05, 0xE1); + addToMapW(0x91, 0x06, 0x51); + addToMapW(0x91, 0x20, 0x18); + addToMapW(0x91, 0xFE, 0x7C); + addToMapW(0x91, 0xFE, 0x7D); + addToMapW(0x92, 0x00, 0xC6); + addToMapW(0x92, 0x00, 0xE6); + addToMapW(0x92, 0x03, 0xA4); + addToMapW(0x92, 0x03, 0xC4); + addToMapW(0x92, 0x04, 0x22); + addToMapW(0x92, 0x04, 0x42); + addToMapW(0x92, 0x05, 0xE2); + addToMapW(0x92, 0x06, 0x52); + addToMapW(0x92, 0x20, 0x19); + addToMapW(0x92, 0xFE, 0x7E); + addToMapW(0x92, 0xFE, 0x7F); + addToMapW(0x93, 0x03, 0xA5); + addToMapW(0x93, 0x03, 0xC5); + addToMapW(0x93, 0x04, 0x0A); + addToMapW(0x93, 0x04, 0x23); + addToMapW(0x93, 0x04, 0x43); + addToMapW(0x93, 0x04, 0x5A); + addToMapW(0x93, 0x05, 0xE3); + addToMapW(0x93, 0x20, 0x1C); + addToMapW(0x94, 0x00, 0xA4); + addToMapW(0x94, 0x03, 0xA6); + addToMapW(0x94, 0x03, 0xC6); + addToMapW(0x94, 0x04, 0x24); + addToMapW(0x94, 0x04, 0x44); + addToMapW(0x94, 0x05, 0xE4); + addToMapW(0x94, 0x20, 0x1D); + addToMapW(0x95, 0x01, 0x22); + addToMapW(0x95, 0x01, 0x23); + addToMapW(0x95, 0x01, 0x3D); + addToMapW(0x95, 0x01, 0x3E); + addToMapW(0x95, 0x03, 0xA7); + addToMapW(0x95, 0x03, 0xC7); + addToMapW(0x95, 0x04, 0x0B); + addToMapW(0x95, 0x04, 0x25); + addToMapW(0x95, 0x04, 0x45); + addToMapW(0x95, 0x04, 0x5B); + addToMapW(0x95, 0x05, 0xE5); + addToMapW(0x95, 0x06, 0x40); + addToMapW(0x95, 0x20, 0x22); + addToMapW(0x96, 0x00, 0xA2); + addToMapW(0x96, 0x03, 0xA8); + addToMapW(0x96, 0x03, 0xC8); + addToMapW(0x96, 0x04, 0x26); + addToMapW(0x96, 0x04, 0x46); + addToMapW(0x96, 0x05, 0xE6); + addToMapW(0x96, 0x20, 0x13); + addToMapW(0x97, 0x00, 0xB5); + addToMapW(0x97, 0x01, 0x5A); + addToMapW(0x97, 0x01, 0x5B); + addToMapW(0x97, 0x03, 0xA9); + addToMapW(0x97, 0x03, 0xC9); + addToMapW(0x97, 0x04, 0x0C); + addToMapW(0x97, 0x04, 0x27); + addToMapW(0x97, 0x04, 0x47); + addToMapW(0x97, 0x04, 0x5C); + addToMapW(0x97, 0x05, 0xE7); + addToMapW(0x97, 0x20, 0x14); + addToMapW(0x98, 0x00, 0x98); + addToMapW(0x98, 0x01, 0x30); + addToMapW(0x98, 0x02, 0xDC); + addToMapW(0x98, 0x04, 0x28); + addToMapW(0x98, 0x04, 0x48); + addToMapW(0x98, 0x05, 0xE8); + addToMapW(0x98, 0x06, 0x21); + addToMapW(0x98, 0xFE, 0x80); + addToMapW(0x99, 0x00, 0x99); + addToMapW(0x99, 0x00, 0xD6); + addToMapW(0x99, 0x00, 0xF6); + addToMapW(0x99, 0x04, 0x0E); + addToMapW(0x99, 0x04, 0x29); + addToMapW(0x99, 0x04, 0x49); + addToMapW(0x99, 0x04, 0x5E); + addToMapW(0x99, 0x05, 0xE9); + addToMapW(0x99, 0x06, 0x22); + addToMapW(0x99, 0x21, 0x22); + addToMapW(0x99, 0xFE, 0x81); + addToMapW(0x99, 0xFE, 0x82); + addToMapW(0x9a, 0x00, 0x9A); + addToMapW(0x9a, 0x00, 0xDC); + addToMapW(0x9a, 0x00, 0xFC); + addToMapW(0x9a, 0x04, 0x2A); + addToMapW(0x9a, 0x04, 0x4A); + addToMapW(0x9a, 0x05, 0xEA); + addToMapW(0x9a, 0x06, 0x23); + addToMapW(0x9a, 0xFE, 0x83); + addToMapW(0x9a, 0xFE, 0x84); + addToMapW(0x9b, 0x00, 0x9B); + addToMapW(0x9b, 0x00, 0xA2); + addToMapW(0x9b, 0x01, 0x64); + addToMapW(0x9b, 0x01, 0x65); + addToMapW(0x9b, 0x04, 0x0F); + addToMapW(0x9b, 0x04, 0x2B); + addToMapW(0x9b, 0x04, 0x4B); + addToMapW(0x9b, 0x04, 0x5F); + addToMapW(0x9b, 0x06, 0x24); + addToMapW(0x9b, 0x20, 0x3A); + addToMapW(0x9b, 0xFE, 0x85); + addToMapW(0x9b, 0xFE, 0x86); + addToMapW(0x9c, 0x00, 0x9C); + addToMapW(0x9c, 0x00, 0xA3); + addToMapW(0x9c, 0x04, 0x2C); + addToMapW(0x9c, 0x04, 0x4C); + addToMapW(0x9c, 0x20, 0xA4); + addToMapW(0x9d, 0x00, 0x9D); + addToMapW(0x9d, 0x00, 0xA5); + addToMapW(0x9d, 0x00, 0xD8); + addToMapW(0x9d, 0x00, 0xF8); + addToMapW(0x9d, 0x01, 0x41); + addToMapW(0x9d, 0x01, 0x42); + addToMapW(0x9d, 0x02, 0x78); + addToMapW(0x9d, 0x03, 0x98); + addToMapW(0x9d, 0x04, 0x2D); + addToMapW(0x9d, 0x04, 0x2E); + addToMapW(0x9d, 0x04, 0x4D); + addToMapW(0x9d, 0x04, 0x4E); + addToMapW(0x9d, 0x06, 0x25); + addToMapW(0x9d, 0x22, 0x05); + addToMapW(0x9d, 0xFE, 0x87); + addToMapW(0x9d, 0xFE, 0x88); + addToMapW(0x9e, 0x00, 0x9E); + addToMapW(0x9e, 0x00, 0xD7); + addToMapW(0x9e, 0x01, 0x5E); + addToMapW(0x9e, 0x01, 0x5F); + addToMapW(0x9e, 0x04, 0x2E); + addToMapW(0x9e, 0x04, 0x4E); + addToMapW(0x9e, 0x06, 0x26); + addToMapW(0x9e, 0x20, 0xA7); + addToMapW(0x9e, 0xFE, 0x89); + addToMapW(0x9e, 0xFE, 0x8A); + addToMapW(0x9e, 0xFE, 0x8B); + addToMapW(0x9e, 0xFE, 0x8C); + addToMapW(0x9f, 0x00, 0x9F); + addToMapW(0x9f, 0x00, 0xA4); + addToMapW(0x9f, 0x00, 0xFF); + addToMapW(0x9f, 0x01, 0x78); + addToMapW(0x9f, 0x01, 0x91); + addToMapW(0x9f, 0x01, 0x92); + addToMapW(0x9f, 0x04, 0x2A); + addToMapW(0x9f, 0x04, 0x2F); + addToMapW(0x9f, 0x04, 0x4A); + addToMapW(0x9f, 0x04, 0x4F); + addToMapW(0x9f, 0x06, 0x27); + addToMapW(0x9f, 0xFE, 0x8D); + addToMapW(0x9f, 0xFE, 0x8E); + addToMapW(0xa0, 0x00, 0xA0); + addToMapW(0xa0, 0x01, 0x00); + addToMapW(0xa0, 0x01, 0x01); + addToMapW(0xa0, 0x06, 0x28); + addToMapW(0xa0, 0xF8, 0xF0); + addToMapW(0xa0, 0xFE, 0x8F); + addToMapW(0xa0, 0xFE, 0x90); + addToMapW(0xa0, 0xFE, 0x91); + addToMapW(0xa0, 0xFE, 0x92); + addToMapW(0xa1, 0x00, 0xA1); + addToMapW(0xa1, 0x01, 0x2A); + addToMapW(0xa1, 0x01, 0x2B); + addToMapW(0xa1, 0x04, 0x10); + addToMapW(0xa1, 0x04, 0x30); + addToMapW(0xa1, 0x06, 0x29); + addToMapW(0xa1, 0x0E, 0x01); + addToMapW(0xa1, 0xFE, 0x93); + addToMapW(0xa1, 0xFE, 0x94); + addToMapW(0xa1, 0xFF, 0x61); + addToMapW(0xa2, 0x00, 0xA2); + addToMapW(0xa2, 0x06, 0x2A); + addToMapW(0xa2, 0x0E, 0x02); + addToMapW(0xa2, 0xFE, 0x95); + addToMapW(0xa2, 0xFE, 0x96); + addToMapW(0xa2, 0xFE, 0x97); + addToMapW(0xa2, 0xFE, 0x98); + addToMapW(0xa2, 0xFF, 0x62); + addToMapW(0xa3, 0x00, 0xA3); + addToMapW(0xa3, 0x01, 0x7B); + addToMapW(0xa3, 0x01, 0x7C); + addToMapW(0xa3, 0x04, 0x11); + addToMapW(0xa3, 0x04, 0x31); + addToMapW(0xa3, 0x06, 0x2B); + addToMapW(0xa3, 0x0E, 0x03); + addToMapW(0xa3, 0xFE, 0x99); + addToMapW(0xa3, 0xFE, 0x9A); + addToMapW(0xa3, 0xFE, 0x9B); + addToMapW(0xa3, 0xFE, 0x9C); + addToMapW(0xa3, 0xFF, 0x63); + addToMapW(0xa4, 0x00, 0xA4); + addToMapW(0xa4, 0x01, 0x04); + addToMapW(0xa4, 0x01, 0x05); + addToMapW(0xa4, 0x06, 0x2C); + addToMapW(0xa4, 0x0E, 0x04); + addToMapW(0xa4, 0xFE, 0x9D); + addToMapW(0xa4, 0xFE, 0x9E); + addToMapW(0xa4, 0xFE, 0x9F); + addToMapW(0xa4, 0xFE, 0xA0); + addToMapW(0xa4, 0xFF, 0x64); + addToMapW(0xa5, 0x00, 0xA5); + addToMapW(0xa5, 0x00, 0xD1); + addToMapW(0xa5, 0x00, 0xF1); + addToMapW(0xa5, 0x04, 0x26); + addToMapW(0xa5, 0x04, 0x46); + addToMapW(0xa5, 0x06, 0x2D); + addToMapW(0xa5, 0x0E, 0x05); + addToMapW(0xa5, 0xFE, 0xA1); + addToMapW(0xa5, 0xFE, 0xA2); + addToMapW(0xa5, 0xFE, 0xA3); + addToMapW(0xa5, 0xFE, 0xA4); + addToMapW(0xa5, 0xFF, 0x65); + addToMapW(0xa6, 0x00, 0xA6); + addToMapW(0xa6, 0x00, 0xAA); + addToMapW(0xa6, 0x01, 0x1E); + addToMapW(0xa6, 0x01, 0x1F); + addToMapW(0xa6, 0x01, 0x7D); + addToMapW(0xa6, 0x01, 0x7E); + addToMapW(0xa6, 0x06, 0x2E); + addToMapW(0xa6, 0x0E, 0x06); + addToMapW(0xa6, 0x20, 0x1D); + addToMapW(0xa6, 0xFE, 0xA5); + addToMapW(0xa6, 0xFE, 0xA6); + addToMapW(0xa6, 0xFE, 0xA7); + addToMapW(0xa6, 0xFE, 0xA8); + addToMapW(0xa6, 0xFF, 0x66); + addToMapW(0xa7, 0x00, 0xA6); + addToMapW(0xa7, 0x00, 0xA7); + addToMapW(0xa7, 0x00, 0xBA); + addToMapW(0xa7, 0x04, 0x14); + addToMapW(0xa7, 0x04, 0x34); + addToMapW(0xa7, 0x06, 0x2F); + addToMapW(0xa7, 0x0E, 0x07); + addToMapW(0xa7, 0xFE, 0xA9); + addToMapW(0xa7, 0xFE, 0xAA); + addToMapW(0xa7, 0xFF, 0x67); + addToMapW(0xa8, 0x00, 0xA8); + addToMapW(0xa8, 0x00, 0xA9); + addToMapW(0xa8, 0x00, 0xBF); + addToMapW(0xa8, 0x01, 0x18); + addToMapW(0xa8, 0x01, 0x19); + addToMapW(0xa8, 0x06, 0x30); + addToMapW(0xa8, 0x0E, 0x08); + addToMapW(0xa8, 0xFE, 0xAB); + addToMapW(0xa8, 0xFE, 0xAC); + addToMapW(0xa8, 0xFF, 0x68); + addToMapW(0xa9, 0x00, 0xA9); + addToMapW(0xa9, 0x00, 0xAE); + addToMapW(0xa9, 0x04, 0x15); + addToMapW(0xa9, 0x04, 0x35); + addToMapW(0xa9, 0x06, 0x31); + addToMapW(0xa9, 0x0E, 0x09); + addToMapW(0xa9, 0x23, 0x10); + addToMapW(0xa9, 0xFE, 0xAD); + addToMapW(0xa9, 0xFE, 0xAE); + addToMapW(0xa9, 0xFF, 0x69); + addToMapW(0xaa, 0x00, 0xAA); + addToMapW(0xaa, 0x00, 0xAC); + addToMapW(0xaa, 0x06, 0x32); + addToMapW(0xaa, 0x0E, 0x0A); + addToMapW(0xaa, 0x23, 0x10); + addToMapW(0xaa, 0xFE, 0xAF); + addToMapW(0xaa, 0xFE, 0xB0); + addToMapW(0xaa, 0xFF, 0x6A); + addToMapW(0xab, 0x00, 0xAB); + addToMapW(0xab, 0x00, 0xBD); + addToMapW(0xab, 0x04, 0x24); + addToMapW(0xab, 0x04, 0x44); + addToMapW(0xab, 0x06, 0x33); + addToMapW(0xab, 0x0E, 0x0B); + addToMapW(0xab, 0xFE, 0xB1); + addToMapW(0xab, 0xFE, 0xB2); + addToMapW(0xab, 0xFE, 0xB3); + addToMapW(0xab, 0xFE, 0xB4); + addToMapW(0xab, 0xFF, 0x6B); + addToMapW(0xac, 0x00, 0xAC); + addToMapW(0xac, 0x00, 0xBC); + addToMapW(0xac, 0x01, 0x0C); + addToMapW(0xac, 0x01, 0x0D); + addToMapW(0xac, 0x06, 0x34); + addToMapW(0xac, 0x0E, 0x0C); + addToMapW(0xac, 0xFE, 0xB5); + addToMapW(0xac, 0xFE, 0xB6); + addToMapW(0xac, 0xFE, 0xB7); + addToMapW(0xac, 0xFE, 0xB8); + addToMapW(0xac, 0xFF, 0x6C); + addToMapW(0xad, 0x00, 0xA1); + addToMapW(0xad, 0x00, 0xAD); + addToMapW(0xad, 0x01, 0x41); + addToMapW(0xad, 0x01, 0x42); + addToMapW(0xad, 0x04, 0x13); + addToMapW(0xad, 0x04, 0x33); + addToMapW(0xad, 0x06, 0x35); + addToMapW(0xad, 0x0E, 0x0D); + addToMapW(0xad, 0xFE, 0xB9); + addToMapW(0xad, 0xFE, 0xBA); + addToMapW(0xad, 0xFE, 0xBB); + addToMapW(0xad, 0xFE, 0xBC); + addToMapW(0xad, 0xFF, 0x6D); + addToMapW(0xae, 0x00, 0xAB); + addToMapW(0xae, 0x00, 0xAE); + addToMapW(0xae, 0x0E, 0x0E); + addToMapW(0xae, 0x22, 0x6A); + addToMapW(0xae, 0x30, 0x0A); + addToMapW(0xae, 0xFF, 0x6E); + addToMapW(0xaf, 0x00, 0xAF); + addToMapW(0xaf, 0x00, 0xBB); + addToMapW(0xaf, 0x0E, 0x0F); + addToMapW(0xaf, 0x22, 0x6B); + addToMapW(0xaf, 0x30, 0x0B); + addToMapW(0xaf, 0xFF, 0x6F); + addToMapW(0xb0, 0x00, 0xB0); + addToMapW(0xb0, 0x0E, 0x10); + addToMapW(0xb0, 0x25, 0x91); + addToMapW(0xb0, 0xFF, 0x70); + addToMapW(0xb1, 0x00, 0xB1); + addToMapW(0xb1, 0x0E, 0x11); + addToMapW(0xb1, 0x25, 0x92); + addToMapW(0xb1, 0xFF, 0x71); + addToMapW(0xb2, 0x00, 0xB2); + addToMapW(0xb2, 0x0E, 0x12); + addToMapW(0xb2, 0x25, 0x93); + addToMapW(0xb2, 0xFF, 0x72); + addToMapW(0xb3, 0x00, 0xA6); + addToMapW(0xb3, 0x00, 0xB3); + addToMapW(0xb3, 0x01, 0xC0); + addToMapW(0xb3, 0x0E, 0x13); + addToMapW(0xb3, 0x22, 0x23); + addToMapW(0xb3, 0x25, 0x02); + addToMapW(0xb3, 0x27, 0x58); + addToMapW(0xb3, 0xFF, 0x73); + addToMapW(0xb4, 0x00, 0xB4); + addToMapW(0xb4, 0x0E, 0x14); + addToMapW(0xb4, 0x25, 0x24); + addToMapW(0xb4, 0xFF, 0x74); + addToMapW(0xb5, 0x00, 0xB5); + addToMapW(0xb5, 0x00, 0xC1); + addToMapW(0xb5, 0x00, 0xE1); + addToMapW(0xb5, 0x01, 0x04); + addToMapW(0xb5, 0x01, 0x05); + addToMapW(0xb5, 0x0E, 0x15); + addToMapW(0xb5, 0x25, 0x61); + addToMapW(0xb5, 0xFF, 0x75); + addToMapW(0xb6, 0x00, 0xB6); + addToMapW(0xb6, 0x00, 0xC2); + addToMapW(0xb6, 0x00, 0xE2); + addToMapW(0xb6, 0x01, 0x0C); + addToMapW(0xb6, 0x01, 0x0D); + addToMapW(0xb6, 0x04, 0x25); + addToMapW(0xb6, 0x04, 0x45); + addToMapW(0xb6, 0x0E, 0x16); + addToMapW(0xb6, 0x25, 0x62); + addToMapW(0xb6, 0xFF, 0x76); + addToMapW(0xb7, 0x00, 0xB7); + addToMapW(0xb7, 0x00, 0xC0); + addToMapW(0xb7, 0x00, 0xE0); + addToMapW(0xb7, 0x01, 0x18); + addToMapW(0xb7, 0x01, 0x19); + addToMapW(0xb7, 0x01, 0x1A); + addToMapW(0xb7, 0x01, 0x1B); + addToMapW(0xb7, 0x0E, 0x17); + addToMapW(0xb7, 0x25, 0x56); + addToMapW(0xb7, 0xFF, 0x77); + addToMapW(0xb8, 0x00, 0xA9); + addToMapW(0xb8, 0x00, 0xB8); + addToMapW(0xb8, 0x01, 0x16); + addToMapW(0xb8, 0x01, 0x17); + addToMapW(0xb8, 0x01, 0x5E); + addToMapW(0xb8, 0x01, 0x5F); + addToMapW(0xb8, 0x04, 0x18); + addToMapW(0xb8, 0x04, 0x38); + addToMapW(0xb8, 0x0E, 0x18); + addToMapW(0xb8, 0x25, 0x55); + addToMapW(0xb8, 0xFF, 0x78); + addToMapW(0xb9, 0x00, 0xB9); + addToMapW(0xb9, 0x0E, 0x19); + addToMapW(0xb9, 0x25, 0x61); + addToMapW(0xb9, 0x25, 0x62); + addToMapW(0xb9, 0x25, 0x63); + addToMapW(0xb9, 0xFF, 0x79); + addToMapW(0xba, 0x00, 0xBA); + addToMapW(0xba, 0x0E, 0x1A); + addToMapW(0xba, 0x25, 0x51); + addToMapW(0xba, 0xFF, 0x7A); + addToMapW(0xbb, 0x00, 0xBB); + addToMapW(0xbb, 0x0E, 0x1B); + addToMapW(0xbb, 0x25, 0x55); + addToMapW(0xbb, 0x25, 0x56); + addToMapW(0xbb, 0x25, 0x57); + addToMapW(0xbb, 0xFF, 0x7B); + addToMapW(0xbc, 0x00, 0xBC); + addToMapW(0xbc, 0x0E, 0x1C); + addToMapW(0xbc, 0x25, 0x5B); + addToMapW(0xbc, 0x25, 0x5C); + addToMapW(0xbc, 0x25, 0x5D); + addToMapW(0xbc, 0xFF, 0x7C); + addToMapW(0xbd, 0x00, 0xA2); + addToMapW(0xbd, 0x00, 0xBD); + addToMapW(0xbd, 0x01, 0x2E); + addToMapW(0xbd, 0x01, 0x2F); + addToMapW(0xbd, 0x01, 0x7B); + addToMapW(0xbd, 0x01, 0x7C); + addToMapW(0xbd, 0x0E, 0x1D); + addToMapW(0xbd, 0x25, 0x5C); + addToMapW(0xbd, 0xFF, 0x7D); + addToMapW(0xbe, 0x00, 0xA5); + addToMapW(0xbe, 0x00, 0xBE); + addToMapW(0xbe, 0x01, 0x60); + addToMapW(0xbe, 0x01, 0x61); + addToMapW(0xbe, 0x04, 0x19); + addToMapW(0xbe, 0x04, 0x39); + addToMapW(0xbe, 0x0E, 0x1E); + addToMapW(0xbe, 0x25, 0x5B); + addToMapW(0xbe, 0xFF, 0x7E); + addToMapW(0xbf, 0x00, 0xAC); + addToMapW(0xbf, 0x00, 0xBF); + addToMapW(0xbf, 0x0E, 0x1F); + addToMapW(0xbf, 0x25, 0x10); + addToMapW(0xbf, 0xFF, 0x7F); + addToMapW(0xc0, 0x00, 0xC0); + addToMapW(0xc0, 0x00, 0xE0); + addToMapW(0xc0, 0x0E, 0x20); + addToMapW(0xc0, 0x25, 0x14); + addToMapW(0xc0, 0xFF, 0x80); + addToMapW(0xc1, 0x00, 0xC1); + addToMapW(0xc1, 0x00, 0xE1); + addToMapW(0xc1, 0x0E, 0x21); + addToMapW(0xc1, 0x25, 0x34); + addToMapW(0xc1, 0xFF, 0x81); + addToMapW(0xc2, 0x00, 0xC2); + addToMapW(0xc2, 0x00, 0xE2); + addToMapW(0xc2, 0x0E, 0x22); + addToMapW(0xc2, 0x25, 0x2C); + addToMapW(0xc2, 0xFF, 0x82); + addToMapW(0xc3, 0x01, 0x02); + addToMapW(0xc3, 0x01, 0x03); + addToMapW(0xc3, 0x0E, 0x23); + addToMapW(0xc3, 0x25, 0x1C); + addToMapW(0xc3, 0xFF, 0x83); + addToMapW(0xc4, 0x00, 0xAF); + addToMapW(0xc4, 0x00, 0xC4); + addToMapW(0xc4, 0x00, 0xE4); + addToMapW(0xc4, 0x02, 0xC9); + addToMapW(0xc4, 0x03, 0x04); + addToMapW(0xc4, 0x03, 0x05); + addToMapW(0xc4, 0x0E, 0x24); + addToMapW(0xc4, 0x25, 0x00); + addToMapW(0xc4, 0xFF, 0x84); + addToMapW(0xc5, 0x00, 0xC5); + addToMapW(0xc5, 0x00, 0xE5); + addToMapW(0xc5, 0x0E, 0x25); + addToMapW(0xc5, 0x20, 0x20); + addToMapW(0xc5, 0x20, 0x21); + addToMapW(0xc5, 0x25, 0x3C); + addToMapW(0xc5, 0xFF, 0x85); + addToMapW(0xc6, 0x00, 0xC6); + addToMapW(0xc6, 0x00, 0xE6); + addToMapW(0xc6, 0x01, 0x02); + addToMapW(0xc6, 0x01, 0x03); + addToMapW(0xc6, 0x01, 0x72); + addToMapW(0xc6, 0x01, 0x73); + addToMapW(0xc6, 0x0E, 0x26); + addToMapW(0xc6, 0x25, 0x5E); + addToMapW(0xc6, 0xFF, 0x86); + addToMapW(0xc7, 0x00, 0xC3); + addToMapW(0xc7, 0x00, 0xC7); + addToMapW(0xc7, 0x00, 0xE3); + addToMapW(0xc7, 0x00, 0xE7); + addToMapW(0xc7, 0x01, 0x6A); + addToMapW(0xc7, 0x01, 0x6B); + addToMapW(0xc7, 0x04, 0x1A); + addToMapW(0xc7, 0x04, 0x3A); + addToMapW(0xc7, 0x0E, 0x27); + addToMapW(0xc7, 0x25, 0x5F); + addToMapW(0xc7, 0xFF, 0x87); + addToMapW(0xc8, 0x00, 0xC8); + addToMapW(0xc8, 0x00, 0xE8); + addToMapW(0xc8, 0x0E, 0x28); + addToMapW(0xc8, 0x25, 0x58); + addToMapW(0xc8, 0x25, 0x59); + addToMapW(0xc8, 0x25, 0x5A); + addToMapW(0xc8, 0xFF, 0x88); + addToMapW(0xc9, 0x00, 0xC9); + addToMapW(0xc9, 0x00, 0xE9); + addToMapW(0xc9, 0x0E, 0x29); + addToMapW(0xc9, 0x25, 0x52); + addToMapW(0xc9, 0x25, 0x53); + addToMapW(0xc9, 0x25, 0x54); + addToMapW(0xc9, 0xFF, 0x89); + addToMapW(0xca, 0x00, 0xCA); + addToMapW(0xca, 0x00, 0xEA); + addToMapW(0xca, 0x0E, 0x2A); + addToMapW(0xca, 0x25, 0x67); + addToMapW(0xca, 0x25, 0x68); + addToMapW(0xca, 0x25, 0x69); + addToMapW(0xca, 0xFF, 0x8A); + addToMapW(0xcb, 0x00, 0xCB); + addToMapW(0xcb, 0x00, 0xEB); + addToMapW(0xcb, 0x0E, 0x2B); + addToMapW(0xcb, 0x25, 0x64); + addToMapW(0xcb, 0x25, 0x65); + addToMapW(0xcb, 0x25, 0x66); + addToMapW(0xcb, 0xFF, 0x8B); + addToMapW(0xcc, 0x03, 0x00); + addToMapW(0xcc, 0x0E, 0x2C); + addToMapW(0xcc, 0x25, 0x5E); + addToMapW(0xcc, 0x25, 0x5F); + addToMapW(0xcc, 0x25, 0x60); + addToMapW(0xcc, 0xFF, 0x8C); + addToMapW(0xcd, 0x00, 0xCD); + addToMapW(0xcd, 0x00, 0xED); + addToMapW(0xcd, 0x0E, 0x2D); + addToMapW(0xcd, 0x25, 0x50); + addToMapW(0xcd, 0xFF, 0x8D); + addToMapW(0xce, 0x00, 0xCE); + addToMapW(0xce, 0x00, 0xEE); + addToMapW(0xce, 0x0E, 0x2E); + addToMapW(0xce, 0x20, 0x21); + addToMapW(0xce, 0x25, 0x6A); + addToMapW(0xce, 0x25, 0x6B); + addToMapW(0xce, 0x25, 0x6C); + addToMapW(0xce, 0xFF, 0x8E); + addToMapW(0xcf, 0x00, 0xA4); + addToMapW(0xcf, 0x00, 0xCF); + addToMapW(0xcf, 0x00, 0xEF); + addToMapW(0xcf, 0x01, 0x7D); + addToMapW(0xcf, 0x01, 0x7E); + addToMapW(0xcf, 0x0E, 0x2F); + addToMapW(0xcf, 0x25, 0x67); + addToMapW(0xcf, 0xFF, 0x8F); + addToMapW(0xd0, 0x00, 0xBA); + addToMapW(0xd0, 0x01, 0x10); + addToMapW(0xd0, 0x01, 0x11); + addToMapW(0xd0, 0x0E, 0x30); + addToMapW(0xd0, 0x25, 0x68); + addToMapW(0xd0, 0xFF, 0x90); + addToMapW(0xd1, 0x00, 0xAA); + addToMapW(0xd1, 0x00, 0xD0); + addToMapW(0xd1, 0x00, 0xD1); + addToMapW(0xd1, 0x00, 0xF0); + addToMapW(0xd1, 0x00, 0xF1); + addToMapW(0xd1, 0x01, 0x10); + addToMapW(0xd1, 0x01, 0x11); + addToMapW(0xd1, 0x01, 0x89); + addToMapW(0xd1, 0x04, 0x1B); + addToMapW(0xd1, 0x04, 0x3B); + addToMapW(0xd1, 0x0E, 0x31); + addToMapW(0xd1, 0x25, 0x64); + addToMapW(0xd1, 0xFF, 0x91); + addToMapW(0xd2, 0x00, 0xCA); + addToMapW(0xd2, 0x00, 0xEA); + addToMapW(0xd2, 0x01, 0x0E); + addToMapW(0xd2, 0x01, 0x0F); + addToMapW(0xd2, 0x03, 0x09); + addToMapW(0xd2, 0x0E, 0x32); + addToMapW(0xd2, 0x25, 0x65); + addToMapW(0xd2, 0xFF, 0x92); + addToMapW(0xd3, 0x00, 0xCB); + addToMapW(0xd3, 0x00, 0xD3); + addToMapW(0xd3, 0x00, 0xEB); + addToMapW(0xd3, 0x00, 0xF3); + addToMapW(0xd3, 0x04, 0x1C); + addToMapW(0xd3, 0x04, 0x3C); + addToMapW(0xd3, 0x0E, 0x33); + addToMapW(0xd3, 0x25, 0x59); + addToMapW(0xd3, 0xFF, 0x93); + addToMapW(0xd4, 0x00, 0xC8); + addToMapW(0xd4, 0x00, 0xD4); + addToMapW(0xd4, 0x00, 0xE8); + addToMapW(0xd4, 0x00, 0xF4); + addToMapW(0xd4, 0x0E, 0x34); + addToMapW(0xd4, 0x25, 0x58); + addToMapW(0xd4, 0xFF, 0x94); + addToMapW(0xd5, 0x01, 0x31); + addToMapW(0xd5, 0x01, 0x47); + addToMapW(0xd5, 0x01, 0x48); + addToMapW(0xd5, 0x01, 0xA0); + addToMapW(0xd5, 0x01, 0xA1); + addToMapW(0xd5, 0x04, 0x1D); + addToMapW(0xd5, 0x04, 0x3D); + addToMapW(0xd5, 0x0E, 0x35); + addToMapW(0xd5, 0x25, 0x52); + addToMapW(0xd5, 0xF8, 0xBB); + addToMapW(0xd5, 0xFF, 0x95); + addToMapW(0xd6, 0x00, 0xCD); + addToMapW(0xd6, 0x00, 0xD6); + addToMapW(0xd6, 0x00, 0xED); + addToMapW(0xd6, 0x00, 0xF6); + addToMapW(0xd6, 0x0E, 0x36); + addToMapW(0xd6, 0x25, 0x53); + addToMapW(0xd6, 0xFF, 0x96); + addToMapW(0xd7, 0x00, 0xCE); + addToMapW(0xd7, 0x00, 0xD7); + addToMapW(0xd7, 0x00, 0xEE); + addToMapW(0xd7, 0x04, 0x1E); + addToMapW(0xd7, 0x04, 0x3E); + addToMapW(0xd7, 0x0E, 0x37); + addToMapW(0xd7, 0x25, 0x6B); + addToMapW(0xd7, 0xFF, 0x97); + addToMapW(0xd8, 0x00, 0xCF); + addToMapW(0xd8, 0x00, 0xD8); + addToMapW(0xd8, 0x00, 0xEF); + addToMapW(0xd8, 0x00, 0xF8); + addToMapW(0xd8, 0x0E, 0x38); + addToMapW(0xd8, 0x20, 0x21); + addToMapW(0xd8, 0x25, 0x6A); + addToMapW(0xd8, 0xFF, 0x98); + addToMapW(0xd9, 0x00, 0xD9); + addToMapW(0xd9, 0x00, 0xF9); + addToMapW(0xd9, 0x0E, 0x39); + addToMapW(0xd9, 0x25, 0x18); + addToMapW(0xd9, 0xFF, 0x99); + addToMapW(0xda, 0x00, 0xDA); + addToMapW(0xda, 0x00, 0xFA); + addToMapW(0xda, 0x0E, 0x3A); + addToMapW(0xda, 0x25, 0x0C); + addToMapW(0xda, 0xFF, 0x9A); + addToMapW(0xdb, 0x00, 0xDB); + addToMapW(0xdb, 0x00, 0xFB); + addToMapW(0xdb, 0x25, 0x88); + addToMapW(0xdb, 0x25, 0x8C); + addToMapW(0xdb, 0x25, 0x90); + addToMapW(0xdb, 0xF8, 0xC1); + addToMapW(0xdb, 0xFF, 0x9B); + addToMapW(0xdc, 0x00, 0xDC); + addToMapW(0xdc, 0x00, 0xFC); + addToMapW(0xdc, 0x25, 0x84); + addToMapW(0xdc, 0xF8, 0xC2); + addToMapW(0xdc, 0xFF, 0x9C); + addToMapW(0xdd, 0x00, 0xA6); + addToMapW(0xdd, 0x01, 0x62); + addToMapW(0xdd, 0x01, 0x63); + addToMapW(0xdd, 0x01, 0xAF); + addToMapW(0xdd, 0x01, 0xB0); + addToMapW(0xdd, 0x04, 0x1F); + addToMapW(0xdd, 0x04, 0x3F); + addToMapW(0xdd, 0x25, 0x8C); + addToMapW(0xdd, 0xF8, 0xC3); + addToMapW(0xdd, 0xFF, 0x9D); + addToMapW(0xde, 0x00, 0xCC); + addToMapW(0xde, 0x00, 0xEC); + addToMapW(0xde, 0x01, 0x6E); + addToMapW(0xde, 0x01, 0x6F); + addToMapW(0xde, 0x03, 0x03); + addToMapW(0xde, 0x25, 0x90); + addToMapW(0xde, 0xF8, 0xC4); + addToMapW(0xde, 0xFF, 0x9E); + addToMapW(0xdf, 0x00, 0xDF); + addToMapW(0xdf, 0x0E, 0x3F); + addToMapW(0xdf, 0x25, 0x80); + addToMapW(0xdf, 0xFF, 0x9F); + addToMapW(0xe0, 0x00, 0xD3); + addToMapW(0xe0, 0x00, 0xF3); + addToMapW(0xe0, 0x03, 0x91); + addToMapW(0xe0, 0x03, 0xB1); + addToMapW(0xe0, 0x04, 0x2F); + addToMapW(0xe0, 0x04, 0x4F); + addToMapW(0xe0, 0x06, 0x36); + addToMapW(0xe0, 0x0E, 0x40); + addToMapW(0xe0, 0xFE, 0xBD); + addToMapW(0xe0, 0xFE, 0xBE); + addToMapW(0xe0, 0xFE, 0xBF); + addToMapW(0xe0, 0xFE, 0xC0); + addToMapW(0xe1, 0x00, 0xDF); + addToMapW(0xe1, 0x03, 0xB2); + addToMapW(0xe1, 0x06, 0x37); + addToMapW(0xe1, 0x0E, 0x41); + addToMapW(0xe1, 0xFE, 0xC1); + addToMapW(0xe1, 0xFE, 0xC2); + addToMapW(0xe1, 0xFE, 0xC3); + addToMapW(0xe1, 0xFE, 0xC4); + addToMapW(0xe2, 0x00, 0xD4); + addToMapW(0xe2, 0x00, 0xF4); + addToMapW(0xe2, 0x01, 0x4C); + addToMapW(0xe2, 0x01, 0x4D); + addToMapW(0xe2, 0x03, 0x93); + addToMapW(0xe2, 0x04, 0x20); + addToMapW(0xe2, 0x04, 0x40); + addToMapW(0xe2, 0x06, 0x38); + addToMapW(0xe2, 0x0E, 0x42); + addToMapW(0xe2, 0xFE, 0xC5); + addToMapW(0xe2, 0xFE, 0xC6); + addToMapW(0xe2, 0xFE, 0xC7); + addToMapW(0xe2, 0xFE, 0xC8); + addToMapW(0xe3, 0x00, 0xD2); + addToMapW(0xe3, 0x00, 0xF2); + addToMapW(0xe3, 0x01, 0x43); + addToMapW(0xe3, 0x01, 0x44); + addToMapW(0xe3, 0x03, 0xA0); + addToMapW(0xe3, 0x03, 0xC0); + addToMapW(0xe3, 0x06, 0x39); + addToMapW(0xe3, 0x0E, 0x43); + addToMapW(0xe3, 0xFE, 0xC9); + addToMapW(0xe3, 0xFE, 0xCA); + addToMapW(0xe3, 0xFE, 0xCB); + addToMapW(0xe3, 0xFE, 0xCC); + addToMapW(0xe4, 0x01, 0xA9); + addToMapW(0xe4, 0x03, 0xA3); + addToMapW(0xe4, 0x03, 0xC3); + addToMapW(0xe4, 0x04, 0x21); + addToMapW(0xe4, 0x04, 0x41); + addToMapW(0xe4, 0x06, 0x3A); + addToMapW(0xe4, 0x0E, 0x44); + addToMapW(0xe4, 0x22, 0x11); + addToMapW(0xe4, 0xFE, 0xCD); + addToMapW(0xe4, 0xFE, 0xCE); + addToMapW(0xe4, 0xFE, 0xCF); + addToMapW(0xe4, 0xFE, 0xD0); + addToMapW(0xe5, 0x00, 0xD5); + addToMapW(0xe5, 0x00, 0xF5); + addToMapW(0xe5, 0x06, 0x41); + addToMapW(0xe5, 0x0E, 0x45); + addToMapW(0xe5, 0xFE, 0xD1); + addToMapW(0xe5, 0xFE, 0xD2); + addToMapW(0xe5, 0xFE, 0xD3); + addToMapW(0xe5, 0xFE, 0xD4); + addToMapW(0xe6, 0x00, 0xB5); + addToMapW(0xe6, 0x01, 0x60); + addToMapW(0xe6, 0x01, 0x61); + addToMapW(0xe6, 0x03, 0xBC); + addToMapW(0xe6, 0x04, 0x22); + addToMapW(0xe6, 0x04, 0x42); + addToMapW(0xe6, 0x0E, 0x46); + addToMapW(0xe7, 0x03, 0xA4); + addToMapW(0xe7, 0x03, 0xC4); + addToMapW(0xe7, 0x06, 0x42); + addToMapW(0xe7, 0x0E, 0x47); + addToMapW(0xe7, 0xF8, 0xBC); + addToMapW(0xe7, 0xFE, 0xD5); + addToMapW(0xe7, 0xFE, 0xD6); + addToMapW(0xe7, 0xFE, 0xD7); + addToMapW(0xe7, 0xFE, 0xD8); + addToMapW(0xe8, 0x00, 0xD7); + addToMapW(0xe8, 0x00, 0xDE); + addToMapW(0xe8, 0x00, 0xFE); + addToMapW(0xe8, 0x01, 0x36); + addToMapW(0xe8, 0x01, 0x37); + addToMapW(0xe8, 0x01, 0x54); + addToMapW(0xe8, 0x01, 0x55); + addToMapW(0xe8, 0x02, 0x78); + addToMapW(0xe8, 0x03, 0xA6); + addToMapW(0xe8, 0x03, 0xC6); + addToMapW(0xe8, 0x04, 0x23); + addToMapW(0xe8, 0x04, 0x43); + addToMapW(0xe8, 0x06, 0x43); + addToMapW(0xe8, 0x0E, 0x48); + addToMapW(0xe8, 0x22, 0x05); + addToMapW(0xe8, 0xFE, 0xD9); + addToMapW(0xe8, 0xFE, 0xDA); + addToMapW(0xe8, 0xFE, 0xDB); + addToMapW(0xe8, 0xFE, 0xDC); + addToMapW(0xe9, 0x00, 0xDA); + addToMapW(0xe9, 0x00, 0xFA); + addToMapW(0xe9, 0x03, 0x98); + addToMapW(0xe9, 0x06, 0x44); + addToMapW(0xe9, 0x0E, 0x49); + addToMapW(0xe9, 0xFE, 0xDD); + addToMapW(0xe9, 0xFE, 0xDE); + addToMapW(0xe9, 0xFE, 0xDF); + addToMapW(0xe9, 0xFE, 0xE0); + addToMapW(0xea, 0x00, 0xDB); + addToMapW(0xea, 0x00, 0xFB); + addToMapW(0xea, 0x01, 0x3B); + addToMapW(0xea, 0x01, 0x3C); + addToMapW(0xea, 0x03, 0x86); + addToMapW(0xea, 0x03, 0xA9); + addToMapW(0xea, 0x03, 0xAC); + addToMapW(0xea, 0x04, 0x16); + addToMapW(0xea, 0x04, 0x36); + addToMapW(0xea, 0x06, 0x45); + addToMapW(0xea, 0x0E, 0x4A); + addToMapW(0xea, 0x21, 0x26); + addToMapW(0xea, 0xFE, 0xE1); + addToMapW(0xea, 0xFE, 0xE2); + addToMapW(0xea, 0xFE, 0xE3); + addToMapW(0xea, 0xFE, 0xE4); + addToMapW(0xeb, 0x00, 0xD9); + addToMapW(0xeb, 0x00, 0xF9); + addToMapW(0xeb, 0x01, 0x70); + addToMapW(0xeb, 0x01, 0x71); + addToMapW(0xeb, 0x03, 0x88); + addToMapW(0xeb, 0x03, 0x94); + addToMapW(0xeb, 0x03, 0xAD); + addToMapW(0xeb, 0x03, 0xB4); + addToMapW(0xeb, 0x06, 0x46); + addToMapW(0xeb, 0x0E, 0x4B); + addToMapW(0xeb, 0xFE, 0xE5); + addToMapW(0xeb, 0xFE, 0xE6); + addToMapW(0xeb, 0xFE, 0xE7); + addToMapW(0xeb, 0xFE, 0xE8); + addToMapW(0xec, 0x03, 0x01); + addToMapW(0xec, 0x03, 0x89); + addToMapW(0xec, 0x03, 0xAE); + addToMapW(0xec, 0x04, 0x12); + addToMapW(0xec, 0x04, 0x32); + addToMapW(0xec, 0x06, 0x47); + addToMapW(0xec, 0x0E, 0x4C); + addToMapW(0xec, 0x22, 0x1E); + addToMapW(0xec, 0xFE, 0xE9); + addToMapW(0xec, 0xFE, 0xEA); + addToMapW(0xec, 0xFE, 0xEB); + addToMapW(0xec, 0xFE, 0xEC); + addToMapW(0xed, 0x00, 0xDD); + addToMapW(0xed, 0x00, 0xFD); + addToMapW(0xed, 0x01, 0x12); + addToMapW(0xed, 0x01, 0x13); + addToMapW(0xed, 0x03, 0x8A); + addToMapW(0xed, 0x03, 0xAF); + addToMapW(0xed, 0x06, 0x48); + addToMapW(0xed, 0x0E, 0x4D); + addToMapW(0xed, 0xFE, 0xED); + addToMapW(0xed, 0xFE, 0xEE); + addToMapW(0xee, 0x00, 0xAF); + addToMapW(0xee, 0x01, 0x45); + addToMapW(0xee, 0x01, 0x46); + addToMapW(0xee, 0x03, 0x04); + addToMapW(0xee, 0x03, 0x05); + addToMapW(0xee, 0x03, 0x8C); + addToMapW(0xee, 0x03, 0x95); + addToMapW(0xee, 0x03, 0xB5); + addToMapW(0xee, 0x03, 0xCC); + addToMapW(0xee, 0x04, 0x2C); + addToMapW(0xee, 0x04, 0x4C); + addToMapW(0xee, 0x06, 0x49); + addToMapW(0xee, 0x0E, 0x4E); + addToMapW(0xee, 0xFE, 0xEF); + addToMapW(0xee, 0xFE, 0xF0); + addToMapW(0xef, 0x00, 0xB4); + addToMapW(0xef, 0x02, 0xB9); + addToMapW(0xef, 0x02, 0xCA); + addToMapW(0xef, 0x03, 0x01); + addToMapW(0xef, 0x03, 0x8E); + addToMapW(0xef, 0x03, 0xCD); + addToMapW(0xef, 0x06, 0x4A); + addToMapW(0xef, 0x0E, 0x4F); + addToMapW(0xef, 0x20, 0x19); + addToMapW(0xef, 0x20, 0x32); + addToMapW(0xef, 0x20, 0x35); + addToMapW(0xef, 0x21, 0x16); + addToMapW(0xef, 0x22, 0x29); + addToMapW(0xef, 0xFE, 0xF1); + addToMapW(0xef, 0xFE, 0xF2); + addToMapW(0xef, 0xFE, 0xF3); + addToMapW(0xef, 0xFE, 0xF4); + addToMapW(0xf0, 0x00, 0xAD); + addToMapW(0xf0, 0x03, 0x8F); + addToMapW(0xf0, 0x03, 0xCE); + addToMapW(0xf0, 0x04, 0x01); + addToMapW(0xf0, 0x04, 0x51); + addToMapW(0xf0, 0x0E, 0x50); + addToMapW(0xf0, 0x22, 0x61); + addToMapW(0xf1, 0x00, 0xB1); + addToMapW(0xf1, 0x02, 0xDD); + addToMapW(0xf1, 0x06, 0x4B); + addToMapW(0xf1, 0x0E, 0x51); + addToMapW(0xf1, 0x22, 0x13); + addToMapW(0xf1, 0xFE, 0x70); + addToMapW(0xf1, 0xFE, 0x71); + addToMapW(0xf2, 0x02, 0xDB); + addToMapW(0xf2, 0x03, 0x23); + addToMapW(0xf2, 0x04, 0x04); + addToMapW(0xf2, 0x04, 0x2B); + addToMapW(0xf2, 0x04, 0x4B); + addToMapW(0xf2, 0x04, 0x54); + addToMapW(0xf2, 0x06, 0x4C); + addToMapW(0xf2, 0x0E, 0x52); + addToMapW(0xf2, 0x20, 0x17); + addToMapW(0xf2, 0x20, 0x1C); + addToMapW(0xf2, 0x22, 0x65); + addToMapW(0xf2, 0xF8, 0xBD); + addToMapW(0xf2, 0xFE, 0x72); + addToMapW(0xf3, 0x00, 0xBE); + addToMapW(0xf3, 0x02, 0xC7); + addToMapW(0xf3, 0x03, 0x0C); + addToMapW(0xf3, 0x06, 0x4D); + addToMapW(0xf3, 0x0E, 0x53); + addToMapW(0xf3, 0x22, 0x64); + addToMapW(0xf3, 0xFE, 0x74); + addToMapW(0xf4, 0x00, 0xB6); + addToMapW(0xf4, 0x02, 0xD8); + addToMapW(0xf4, 0x03, 0x06); + addToMapW(0xf4, 0x03, 0xAA); + addToMapW(0xf4, 0x03, 0xCA); + addToMapW(0xf4, 0x04, 0x07); + addToMapW(0xf4, 0x04, 0x17); + addToMapW(0xf4, 0x04, 0x37); + addToMapW(0xf4, 0x04, 0x57); + addToMapW(0xf4, 0x06, 0x4E); + addToMapW(0xf4, 0x0E, 0x54); + addToMapW(0xf4, 0x23, 0x20); + addToMapW(0xf4, 0xFE, 0x76); + addToMapW(0xf4, 0xFE, 0x77); + addToMapW(0xf5, 0x00, 0xA7); + addToMapW(0xf5, 0x03, 0xAB); + addToMapW(0xf5, 0x03, 0xCB); + addToMapW(0xf5, 0x06, 0x4F); + addToMapW(0xf5, 0x0E, 0x55); + addToMapW(0xf5, 0x23, 0x21); + addToMapW(0xf5, 0xFE, 0x78); + addToMapW(0xf5, 0xFE, 0x79); + addToMapW(0xf6, 0x00, 0xF7); + addToMapW(0xf6, 0x04, 0x0E); + addToMapW(0xf6, 0x04, 0x28); + addToMapW(0xf6, 0x04, 0x48); + addToMapW(0xf6, 0x04, 0x5E); + addToMapW(0xf6, 0x06, 0x50); + addToMapW(0xf6, 0x0E, 0x56); + addToMapW(0xf6, 0xFE, 0x7A); + addToMapW(0xf6, 0xFE, 0x7B); + addToMapW(0xf7, 0x00, 0xB8); + addToMapW(0xf7, 0x00, 0xF7); + addToMapW(0xf7, 0x02, 0xDB); + addToMapW(0xf7, 0x03, 0x27); + addToMapW(0xf7, 0x0E, 0x57); + addToMapW(0xf7, 0x20, 0x1E); + addToMapW(0xf7, 0x22, 0x48); + addToMapW(0xf8, 0x00, 0xB0); + addToMapW(0xf8, 0x02, 0xDA); + addToMapW(0xf8, 0x03, 0x0A); + addToMapW(0xf8, 0x04, 0x2D); + addToMapW(0xf8, 0x04, 0x4D); + addToMapW(0xf8, 0x0E, 0x58); + addToMapW(0xf8, 0x20, 0x70); + addToMapW(0xf8, 0x22, 0x18); + addToMapW(0xf9, 0x00, 0xA8); + addToMapW(0xf9, 0x02, 0xDD); + addToMapW(0xf9, 0x03, 0x08); + addToMapW(0xf9, 0x0E, 0x59); + addToMapW(0xf9, 0x22, 0x19); + addToMapW(0xfa, 0x00, 0xB7); + addToMapW(0xfa, 0x02, 0xD9); + addToMapW(0xfa, 0x03, 0x07); + addToMapW(0xfa, 0x04, 0x29); + addToMapW(0xfa, 0x04, 0x49); + addToMapW(0xfa, 0x0E, 0x5A); + addToMapW(0xfa, 0x20, 0x24); + addToMapW(0xfa, 0x22, 0xC5); + addToMapW(0xfa, 0x30, 0xFB); + addToMapW(0xfb, 0x00, 0xB9); + addToMapW(0xfb, 0x0E, 0x5B); + addToMapW(0xfb, 0x20, 0x81); + addToMapW(0xfb, 0x22, 0x1A); + addToMapW(0xfb, 0x27, 0x13); + addToMapW(0xfc, 0x00, 0xB3); + addToMapW(0xfc, 0x01, 0x58); + addToMapW(0xfc, 0x01, 0x59); + addToMapW(0xfc, 0x04, 0x27); + addToMapW(0xfc, 0x04, 0x47); + addToMapW(0xfc, 0x20, 0x7F); + addToMapW(0xfc, 0x20, 0x83); + addToMapW(0xfc, 0x21, 0x16); + addToMapW(0xfc, 0xF8, 0xC5); + addToMapW(0xfd, 0x00, 0xA4); + addToMapW(0xfd, 0x00, 0xA7); + addToMapW(0xfd, 0x00, 0xB2); + addToMapW(0xfd, 0x20, 0x82); + addToMapW(0xfd, 0xF8, 0xC6); + addToMapW(0xfd, 0xF8, 0xF1); + addToMapW(0xfe, 0x20, 0xAB); + addToMapW(0xfe, 0x25, 0xA0); + addToMapW(0xfe, 0xF8, 0xC7); + addToMapW(0xfe, 0xF8, 0xF2); + addToMapW(0xff, 0x00, 0xA0); + addToMapW(0xff, 0xF8, 0xC8); + addToMapW(0xff, 0xF8, 0xF3); +} diff --git a/Client Applications/rcracki_mt/lm2ntlm.h b/Client Applications/rcracki_mt/lm2ntlm.h new file mode 100644 index 0000000..ff2e42d --- /dev/null +++ b/Client Applications/rcracki_mt/lm2ntlm.h @@ -0,0 +1,55 @@ +#include +#include +#include +#ifdef _WIN32 +#include +#endif +#include "openssl/md4.h" +#include "time.h" +#include "signal.h" +#include "Public.h" +using namespace std; + +class LM2NTLMcorrector +{ +public: + LM2NTLMcorrector(); + +private: + map > m_mapChar; + uint64 progressCurrentCombination; + uint64 totalCurrentCombination; + uint64 counterOverall; + unsigned char NTLMHash[16]; + clock_t startClock; + int countCombinations; + int countTotalCombinations; + int counter; + clock_t previousClock; + unsigned char currentCharmap[16][128]; + bool aborting; + string sBinary; + +private: + bool checkNTLMPassword(unsigned char* pLMPassword, int nLMPasswordLen, string& sNTLMPassword); + bool startCorrecting(string sLMPassword, unsigned char* pNTLMHash, string& sNTLMPassword, unsigned char* pLMPassword); + void printString(unsigned char* muteThis, int length); + void setupCombinationAtPositions(int length, unsigned char* pMuteMe, unsigned char* pTempMute, int* jAtPos, bool* fullAtPos, int* sizeAtPos); + bool checkPermutations(int length, unsigned char* pMuteMe, unsigned char* pTempMute, int* jAtPos, int* sizeAtPos, unsigned char* pLMPassword, string& sNTLMPassword); + + int calculateTotalCombinations(int length, int setSize); + int factorial (int num); + + bool parseHexPassword(string hexPassword, string& sPlain); + bool NormalizeHexString(string& sHash); + void ParseHash(string sHash, unsigned char* pHash, int& nHashLen); + string ByteToStr(const unsigned char* pData, int nLen); + void addToMapW(unsigned char key, unsigned char value1, unsigned char value2); + void fillMapW(); + void checkAbort(); + void writeEndStats(); +public: + bool LMPasswordCorrectUnicode(string hexPassword, unsigned char* NTLMHash, string& sNTLMPassword); + string getBinary(); +}; + diff --git a/Client Applications/rcracki_mt/md4.cpp b/Client Applications/rcracki_mt/md4.cpp new file mode 100644 index 0000000..4e402fd --- /dev/null +++ b/Client Applications/rcracki_mt/md4.cpp @@ -0,0 +1,485 @@ +/* + * This code implements the MD4 message-digest algorithm. + * "Just the reference implementation, single stage. Hardly "optimized." Though a good bit faster than libssl's MD4, as it isn't doing nearly the same amount of work." - Bitweasil + * + * little bit optimized (or at least attempted) for NTLM (unicode) by neinbrucke + */ + + +//#include +#include +#include "md4.h" + +/* MD4 Defines as per RFC reference implementation */ +#define F(x, y, z) (((x) & (y)) | ((~x) & (z))) +#define G(x, y, z) (((x) & (y)) | ((x) & (z)) | ((y) & (z))) +#define H(x, y, z) ((x) ^ (y) ^ (z)) +#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(n)))) +#define FF(a, b, c, d, x, s) { \ + (a) += F ((b), (c), (d)) + (x); \ + (a) = ROTATE_LEFT ((a), (s)); \ + } +#define GG(a, b, c, d, x, s) { \ + (a) += G ((b), (c), (d)) + (x) + (UINT4)0x5a827999; \ + (a) = ROTATE_LEFT ((a), (s)); \ + } +#define HH(a, b, c, d, x, s) { \ + (a) += H ((b), (c), (d)) + (x) + (UINT4)0x6ed9eba1; \ + (a) = ROTATE_LEFT ((a), (s)); \ + } +#define S11 3 +#define S12 7 +#define S13 11 +#define S14 19 +#define S21 3 +#define S22 5 +#define S23 9 +#define S24 13 +#define S31 3 +#define S32 9 +#define S33 11 +#define S34 15 +/* End MD4 Defines */ + +void MD4_NEW( unsigned char * pData, int length, unsigned char * pDigest) +{ + // access data as 4-byte word + #define uData ((UINT4 *)pData) + #define uDigest ((UINT4 *)pDigest) + + // pad word and append bit at appropriate location + #define MD4_pad_w0() (0x00000080) + #define MD4_pad_w1(data) (((data) & 0x000000FF) | 0x00008000) + #define MD4_pad_w2(data) (((data) & 0x0000FFFF) | 0x00800000) + #define MD4_pad_w3(data) (((data) & 0x00FFFFFF) | 0x80000000) + + // For the hash working space + //__attribute__((aligned(16))) UINT4 data[16] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; + //__declspec(align(16)) UINT4 data[16] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; + UINT4 data[16] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; + + // For the output result + UINT4 a,b,c,d; + + switch (length) + { + case 0: + { + data[ 0] = MD4_pad_w0(); + + data[14] = 0; + } + break; + case 1: + { + data[ 0] = MD4_pad_w1(uData[0]); + + data[14] = 1 << 3; + } + break; + case 2: + { + data[ 0] = MD4_pad_w2(uData[0]); + + data[14] = 2 << 3; + } + break; + case 3: + { + data[ 0] = MD4_pad_w3(uData[0]); + + data[14] = 3 << 3; + } + break; + case 4: + { + data[ 0] = uData[0]; + data[ 1] = MD4_pad_w0(); + + data[14] = 4 << 3; + } + break; + case 5: + { + data[ 0] = uData[0]; + data[ 1] = MD4_pad_w1(uData[1]); + + data[14] = 5 << 3; + } + break; + case 6: + { + data[ 0] = uData[0]; + data[ 1] = MD4_pad_w2(uData[1]); + + data[14] = 6 << 3; + } + break; + case 7: + { + data[ 0] = uData[0]; + data[ 1] = MD4_pad_w3(uData[1]); + + data[14] = 7 << 3; + } + break; + case 8: + { + data[ 0] = uData[0]; + data[ 1] = uData[1]; + data[ 2] = MD4_pad_w0(); + + data[14] = 8 << 3; + } + break; + case 9: + { + data[ 0] = uData[0]; + data[ 1] = uData[1]; + data[ 2] = MD4_pad_w1(uData[2]); + + data[14] = 9 << 3; + } + break; + case 10: + { + data[ 0] = uData[0]; + data[ 1] = uData[1]; + data[ 2] = MD4_pad_w2(uData[2]); + + data[14] = 10 << 3; + } + break; + case 11: + { + data[ 0] = uData[0]; + data[ 1] = uData[1]; + data[ 2] = MD4_pad_w3(uData[2]); + + data[14] = 11 << 3; + } + break; + case 12: + { + data[ 0] = uData[0]; + data[ 1] = uData[1]; + data[ 2] = uData[2]; + data[ 3] = MD4_pad_w0(); + + data[14] = 12 << 3; + } + break; + case 13: + { + data[ 0] = uData[0]; + data[ 1] = uData[1]; + data[ 2] = uData[2]; + data[ 3] = MD4_pad_w1(uData[3]); + + data[14] = 13 << 3; + } + break; + case 14: + { + data[ 0] = uData[0]; + data[ 1] = uData[1]; + data[ 2] = uData[2]; + data[ 3] = MD4_pad_w2(uData[3]); + + data[14] = 14 << 3; + } + break; + case 15: + { + data[ 0] = uData[0]; + data[ 1] = uData[1]; + data[ 2] = uData[2]; + data[ 3] = MD4_pad_w3(uData[3]); + + data[14] = 15 << 3; + } + break; + + default: + { + length = length % 32; // lenght >= 32 not suported + + int word = length >> 2; + + int i = 0; + while (i < word) { + data[i] = uData[i]; + i++; + } + + switch (length & 0x3) { + case 0: + { + data[word] = MD4_pad_w0(); + } + break; + case 1: + { + data[word] = MD4_pad_w1(uData[word]); + } + break; + case 2: + { + data[word] = MD4_pad_w2(uData[word]); + } + break; + case 3: + { + data[word] = MD4_pad_w3(uData[word]); + } + break; + } + + data[14] = length << 3; + } + break; + } + + a = 0x67452301; + b = 0xefcdab89; + c = 0x98badcfe; + d = 0x10325476; + + /* Round 1 */ + FF (a, b, c, d, data[ 0], S11); /* 1 */ + FF (d, a, b, c, data[ 1], S12); /* 2 */ + FF (c, d, a, b, data[ 2], S13); /* 3 */ + FF (b, c, d, a, data[ 3], S14); /* 4 */ + FF (a, b, c, d, data[ 4], S11); /* 5 */ + FF (d, a, b, c, data[ 5], S12); /* 6 */ + FF (c, d, a, b, data[ 6], S13); /* 7 */ + FF (b, c, d, a, data[ 7], S14); /* 8 */ + FF (a, b, c, d, 0, S11); /* 9 */ + FF (d, a, b, c, 0, S12); /* 10 */ + FF (c, d, a, b, 0, S13); /* 11 */ + FF (b, c, d, a, 0, S14); /* 12 */ + FF (a, b, c, d, 0, S11); /* 13 */ + FF (d, a, b, c, 0, S12); /* 14 */ + FF (c, d, a, b, data[14], S13); /* 15 */ + FF (b, c, d, a, 0, S14); /* 16 */ + + /* Round 2 */ + GG (a, b, c, d, data[ 0], S21); /* 17 */ + GG (d, a, b, c, data[ 4], S22); /* 18 */ + GG (c, d, a, b, 0, S23); /* 19 */ + GG (b, c, d, a, 0, S24); /* 20 */ + GG (a, b, c, d, data[ 1], S21); /* 21 */ + GG (d, a, b, c, data[ 5], S22); /* 22 */ + GG (c, d, a, b, 0, S23); /* 23 */ + GG (b, c, d, a, 0, S24); /* 24 */ + GG (a, b, c, d, data[ 2], S21); /* 25 */ + GG (d, a, b, c, data[ 6], S22); /* 26 */ + GG (c, d, a, b, 0, S23); /* 27 */ + GG (b, c, d, a, data[14], S24); /* 28 */ + GG (a, b, c, d, data[ 3], S21); /* 29 */ + GG (d, a, b, c, data[ 7], S22); /* 30 */ + GG (c, d, a, b, 0, S23); /* 31 */ + GG (b, c, d, a, 0, S24); /* 32 */ + + /* Round 3 */ + HH (a, b, c, d, data[ 0], S31); /* 33 */ + HH (d, a, b, c, 0, S32); /* 34 */ + HH (c, d, a, b, data[ 4], S33); /* 35 */ + HH (b, c, d, a, 0, S34); /* 36 */ + HH (a, b, c, d, data[ 2], S31); /* 37 */ + HH (d, a, b, c, 0, S32); /* 38 */ + HH (c, d, a, b, data[ 6], S33); /* 39 */ + HH (b, c, d, a, data[14], S34); /* 40 */ + HH (a, b, c, d, data[ 1], S31); /* 41 */ + HH (d, a, b, c, 0, S32); /* 42 */ + HH (c, d, a, b, data[ 5], S33); /* 43 */ + HH (b, c, d, a, 0, S34); /* 44 */ + HH (a, b, c, d, data[ 3], S31); /* 45 */ + HH (d, a, b, c, 0, S32); /* 46 */ + HH (c, d, a, b, data[ 7], S33); /* 47 */ + HH (b, c, d, a, 0, S34); /* 48 */ + + // Finally, add initial values, as this is the only pass we make. + a += 0x67452301; + b += 0xefcdab89; + c += 0x98badcfe; + d += 0x10325476; + + uDigest[0] = a; + uDigest[1] = b; + uDigest[2] = c; + uDigest[3] = d; +} + +//void MD4_NEW( unsigned char * pData, int length, unsigned char * pDigest) +//{ +// // For the hash working space +// UINT4 b0,b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15; +// +// // For the output result +// UINT4 a,b,c,d; +// +// b0 = 0x00000000; +// b1 = 0x00000000; +// b2 = 0x00000000; +// b3 = 0x00000000; +// b4 = 0x00000000; +// b5 = 0x00000000; +// b6 = 0x00000000; +// b7 = 0x00000000; +// b8 = 0x00000000; +// b9 = 0x00000000; +// b10 = 0x00000000; +// b11 = 0x00000000; +// b12 = 0x00000000; +// b13 = 0x00000000; +// b14 = 0x00000000; +// b15 = 0x00000000; +// +// // LOAD DATA INTO b0 ... whatever here. +// switch (length) +// { +// case 2: +// { +// unsigned char in[4]; +// memcpy(in, pData, length); +// in[2] = 0x80; +// in[3] = 0x00; +// UINT4 * pUiIn = (UINT4 *) in; +// b0 = pUiIn[0]; +// } +// break; +// case 4: +// { +// unsigned char in[4]; +// memcpy(in, pData, length); +// UINT4 * pUiIn = (UINT4 *) in; +// b0 = pUiIn[0]; +// b1 = 0x00000080; +// } +// break; +// case 6: +// { +// unsigned char in[8]; +// memcpy(in, pData, length); +// in[6] = 0x80; +// in[7] = 0x00; +// UINT4 * pUiIn = (UINT4 *) in; +// b0 = pUiIn[0]; +// b1 = pUiIn[1]; +// } +// break; +// case 8: +// { +// unsigned char in[8]; +// memcpy(in, pData, length); +// UINT4 * pUiIn = (UINT4 *) in; +// b0 = pUiIn[0]; +// b1 = pUiIn[1]; +// b2 = 0x00000080; +// } +// break; +// case 10: +// { +// unsigned char in[12]; +// memcpy(in, pData, length); +// in[10] = 0x80; +// in[11] = 0x00; +// UINT4 * pUiIn = (UINT4 *) in; +// b0 = pUiIn[0]; +// b1 = pUiIn[1]; +// b2 = pUiIn[2]; +// } +// break; +// default: +// { +// unsigned char in[32]; +// memcpy(in, pData, length); +// in[length] = 0x80; +// memset(in + length + 1, 0, 32 - length - 1); +// UINT4 * pUiIn = (UINT4 *) in; +// b0 = pUiIn[0]; +// b1 = pUiIn[1]; +// b2 = pUiIn[2]; +// b3 = pUiIn[3]; +// b4 = pUiIn[4]; +// b5 = pUiIn[5]; +// b6 = pUiIn[6]; +// b7 = pUiIn[7]; // max 14 2byte chars (ntlm) +// b8 = pUiIn[8]; +// } +// break; +// } +// +// b14 = length << 3; +// +// a = 0x67452301; +// b = 0xefcdab89; +// c = 0x98badcfe; +// d = 0x10325476; +// +// /* Round 1 */ +// FF (a, b, c, d, b0, S11); /* 1 */ +// FF (d, a, b, c, b1, S12); /* 2 */ +// FF (c, d, a, b, b2, S13); /* 3 */ +// FF (b, c, d, a, b3, S14); /* 4 */ +// FF (a, b, c, d, b4, S11); /* 5 */ +// FF (d, a, b, c, b5, S12); /* 6 */ +// FF (c, d, a, b, b6, S13); /* 7 */ +// FF (b, c, d, a, b7, S14); /* 8 */ +// FF (a, b, c, d, 0, S11); /* 9 */ +// FF (d, a, b, c, 0, S12); /* 10 */ +// FF (c, d, a, b, 0, S13); /* 11 */ +// FF (b, c, d, a, 0, S14); /* 12 */ +// FF (a, b, c, d, 0, S11); /* 13 */ +// FF (d, a, b, c, 0, S12); /* 14 */ +// FF (c, d, a, b, b14, S13); /* 15 */ +// FF (b, c, d, a, 0, S14); /* 16 */ +// +// /* Round 2 */ +// GG (a, b, c, d, b0, S21); /* 17 */ +// GG (d, a, b, c, b4, S22); /* 18 */ +// GG (c, d, a, b, 0, S23); /* 19 */ +// GG (b, c, d, a, 0, S24); /* 20 */ +// GG (a, b, c, d, b1, S21); /* 21 */ +// GG (d, a, b, c, b5, S22); /* 22 */ +// GG (c, d, a, b, 0, S23); /* 23 */ +// GG (b, c, d, a, 0, S24); /* 24 */ +// GG (a, b, c, d, b2, S21); /* 25 */ +// GG (d, a, b, c, b6, S22); /* 26 */ +// GG (c, d, a, b, 0, S23); /* 27 */ +// GG (b, c, d, a, b14, S24); /* 28 */ +// GG (a, b, c, d, b3, S21); /* 29 */ +// GG (d, a, b, c, b7, S22); /* 30 */ +// GG (c, d, a, b, 0, S23); /* 31 */ +// GG (b, c, d, a, 0, S24); /* 32 */ +// +// /* Round 3 */ +// HH (a, b, c, d, b0, S31); /* 33 */ +// HH (d, a, b, c, 0, S32); /* 34 */ +// HH (c, d, a, b, b4, S33); /* 35 */ +// HH (b, c, d, a, 0, S34); /* 36 */ +// HH (a, b, c, d, b2, S31); /* 37 */ +// HH (d, a, b, c, 0, S32); /* 38 */ +// HH (c, d, a, b, b6, S33); /* 39 */ +// HH (b, c, d, a, b14, S34); /* 40 */ +// HH (a, b, c, d, b1, S31); /* 41 */ +// HH (d, a, b, c, 0, S32); /* 42 */ +// HH (c, d, a, b, b5, S33); /* 43 */ +// HH (b, c, d, a, 0, S34); /* 44 */ +// HH (a, b, c, d, b3, S31); /* 45 */ +// HH (d, a, b, c, 0, S32); /* 46 */ +// HH (c, d, a, b, b7, S33); /* 47 */ +// HH (b, c, d, a, 0, S34); /* 48 */ +// +// // Finally, add initial values, as this is the only pass we make. +// a += 0x67452301; +// b += 0xefcdab89; +// c += 0x98badcfe; +// d += 0x10325476; +// +// UINT4 buf[4] = { a, b, c, d}; +// memcpy(pDigest, buf, 16); +// +// return; +//} diff --git a/Client Applications/rcracki_mt/md4.h b/Client Applications/rcracki_mt/md4.h new file mode 100644 index 0000000..8a5c428 --- /dev/null +++ b/Client Applications/rcracki_mt/md4.h @@ -0,0 +1,10 @@ +#ifndef MD4_H +#define MD4_H + +//typedef unsigned long uint32; +typedef unsigned long UINT4; + +//Main function +void MD4_NEW( unsigned char * buf, int len, unsigned char * pDigest); + +#endif /* !MD4_H */ diff --git a/Client Applications/rcracki_mt/pthreadVC2.dll b/Client Applications/rcracki_mt/pthreadVC2.dll new file mode 100644 index 0000000000000000000000000000000000000000..93f562baa916c6a5aac9aa753069399e081b17ce GIT binary patch literal 86070 zcmeEv4O~=J`u_z-9d&d@1w$o8gR;$X-hhFbVekdS6a_~HUjjl!0Tl>le97>of!f=R za(CNyw{5qqZMU{=RD^*&w0-CJSThU4sHO)aVi9#kK=aXm;Tb(^~{$RB#)T*^a$?pA+Ju_6*2GC zNsCI$YT~M@D_2(+uZvqzTv1W!j$2+5SM8~YE31f`wZIv-u5x9`6~l)QjhBlayEmbw z;J&$n5*$x27M9@ogQqftA{Kw8P>SCto}Ml&#_uQhW(!xb=LIa^!m<^m^lorXb22z? zUc?~ovuOhEq`xEFh)Kf`#~s1*)l%H4H}I=NXlKtlc8_O*2mL9(Tuy|P4{?z!1)1nQ zy0BmANBxUyDUCu|p z0e|TnHzVLNd>e*97y@Akgdq@yKo|mH2!tUJhCmnsVF-jFa0UpxLVvC6jU3l{&9%7P zd_OL~y9bxazrG~ zeIp_cm%|U>vf)>_OuinM0<3jgH~t!z8p^k2EH14LxWv z9XH_e2-W%6&A2r4xa@)Gqt!kGm&LWXIH|h7#tOZ)jH-5Y9xfkF!{w&Ca7p|jE;}~i za@mu(xF~gZ1un5v@_Sg(w?4WRmjWzbTMy7()0Mc4ph}LVir3L)S~M=@_u}%27njCj zT%L^YlCCtRMr377Y%(R=9K2D)TX#b;iP%WDL>C6H0H#!tZI1#0vi)Q*Hd;_}9w zxLBRI92|qoZi2?0)Pz4%vwlnkoFd>HD8a@1GhD8q@1`ul}zf(vl@J-wDlHE4v; zruDK*artyHF4s`oY}AColy9;Fmsjg>*+@l={y8pb7vl1l?YQh6jmxwj;j)zKypPa~ z`yDP1*5lGaE&7TozLx5@nz}oZ@UNEYVxi(qf57DyN}V$nmv^Xs)2LQUsi=L_82wUQ ztlMzuh~qeh+2KnV0{>GG$P_y4NTSEN>jE;?q9- zVdz8rsMNFVf}j*70gXeu2j}>rb(14>XlK(|)Zcpyl~%jTIlLB!*XkQRSLNW(7adE5 zw9DY+Jzee?8E9Pr_32!?q%FEfJgW_&g^W&=HKg3<@DEvg>r;zHU0QfBGmrJ!1 zJevH5Eoy#HbEbx1(VWR7&&?!u<&+NB_UM4ND7jV|p(o_)8?|*W;5EKV5=%yast`6>Ys&>e6 zreL;zoD~%=^P}{+!neQt!mM}|Fl?m2;W}))E&hdV2U04%X!7~q7A}8h5{+-~UUhwkXYdO&uG+@=-t~6+_(7hL zt`}(g#TR`T?|b*EOda(;KJf_N_spWQ@cucyc@%GI>%a_h0xLzXsJ0I59arDs9_K!OInxm- z@72;zqx5q(`(f=XDlAy$Cv|Lu2KU$Z{p<%b*h6k70ak+N*C+ah^Wbu z2nFq;^8)Td8EoeYA4adDXvWA9vQ&az$Wimz?Lw9Y(-)t2g3s=hFj|NvShyC7_o1=P znNc(-y!+EZg+%KkxZN8CLX?0REXS93Ldfm{HVN%6etL{Ax&?SZkNb)K?on}BZfll1 zR>l^(eO@9^GrrOc1B^m714kj z$S>Bl4dO4P0musBFQhbIG#hKP;%5noG~)y12ITk-Hq45*7kD1{1^!HpI1JV>tG>?_)8MKSYT9dFS9z29QUd`vIczttv6e2m{ zN=^NXe3r&NfS(@4&(JidGs+^|f<+ofDQZg5@i)-3sga>%f8Uqsb&-&x6SCCxZ=r-M z)%7ppCs!xvTq)O6S)M`sP4p}1Qm)5BnLX35kQF85piY!qBfT3%SbUAf+Ft0PNHAqI z=9c&Y)L(trc$g~9-}N2ZICG9(=#kH87vK2`J;IvnOSJf-buJtI&MJy{`+zQ|d?R;Jf^-ME9DBQA*KD#A;*y}vI^+j7yZh2(G z7F9V{&gJuie9>ma01vXHANgq(o&cw^z@h9?3x)ond>TU;5pU1n3pKn;)128ol%yUvE^*cu66lVgYt~C( zV;s-01AJ!uKL@+fLf(;uE>Vq=(FRk8sj+P$tC-Tt;cUvt6|1EjLdFqcu10X`tgm^7 zSl{pr^vzVY4Q|djK~zMjJ>m7~JY&JFHY}au6hCTX^DPl48`{~nnFdat8Z?5xi4A=W zq7g!-Di>%afkGHl&MhQxK&6H7X^OYDUA1*GrnZK~C~yZAxL@rOZ^Vs|cPxJfpLfic zceHJSklmRpE@!dQw@Z|)SJBO0jZ-}KIo`=o(=4`)zAg>v`e|K=_NbkriQdjQhIC@^ z5B|gFQ+V9|=*|D{=|umXu6#icmOAPgB3j^4(cwjWOriIHZ&?#Ya=y6s7~tDN;63E| zP?(TEm!BZM(8@5R{!pz(n6EDPVR*&Ri-o4f03NbG_62kyt8%h9hz{A_uf%de-EO{uT&_&!Qc~q< zH(Mw^ffV6{mwqvzW%NtdZ>}4^Rb@TCKKiob!hS~Tiwbw0hR9+WFs;ed2*jbAvt928 zw=dV3CtOa1*CkQne86>RGb#bda&4FR-lY-32y%-sNG2lrJeUfJBFkh1wT|(2M!JU+ zsZ-M++)Hg-6tBZ9JEY_KZ73|lJS}e{0|ZUfBF5X8 zz7Ul^fD#ly$-lwyIM-)C`11WtSQOBN0HF15!eyu)*kHF-ZpwUBuGAElnyt(Ta~RU9 z+wM_TI{noTE7u+^49*W>1MpA<29a~+ygv?k{V7cmYoxcuN}#)M+d8o^+ymKOBx!Sa`h2f)xG zL?$*5XwwW)zn}RG(H?Y>N|+Z<4D>iABZ!h^1jI(Fg>(%c0gyLGP~F)_dV;?fe5gE> zHG-9;RBw>pEUHu)u zukQEzf*Mdz3%N18u1DTb_(?gvBIh2PrGS_qDBvT_(_^R;n|A5x+84Zt_^Vy{^@p@| zw2%UF$JG0@b=z>?y)=>~H|~`vn+Et$*4rw9Yl}2B@>^7VTEiB|`Ev64OfZUSyvvDE zpD^A5JZ5~3kf~{y9|c0@JE}wu;!U9RP5ENi-`F&U1+9$1m=0+CENj9Ijjw>oECfCW z_h0Zc=-JwMjjR6ieD_s?hXhA?4TZYq45}mN6u02(LMO&ez0YH8$c)Mn*9OFl?5-6} zOpwh8^C5W5b&5$+Lxg7D!?6ThLe#c@dcxLQ*l>WzG@sTI-=bQ?3~1|U%_VG6H)N_^ ze8vgB7Eo1}ADLAy$U0wyFfjr{LzlxF{HRQCvnF*H((8SRenztq zrIjh>V1Z*qhP~?_x~v9$ydNWw&|nm`#QSZ8TUGy-XCQ{=Na^zdMFhW3!umX!SE}#G zcUyv%t)ibx@~>L+{7bE2w9cy3w7v9g^xt^X8JkRd{}f=srY=1enDYG1S->G|TPe?_qu(%O*h{dGr=R7|4zyDu1KB^A)IX*i75*{CH z{y+p4fOVWZ*<;!Xejkq~nJ@S-8|{J~15Nrd)`gv=;! z=KyWJ8ux7exSd*@X$Ez)Hfifbc{Y%y0eO1J7hB%*`SLNRh_B;DnHDh40;UDsSxgJE zeB)m`Eo@@At!C2#X8XWtAp)&I!-;oh^MK4={m0J-+mF2hX}?Q&JiZ0LBzk~w39~({ z60um|Fy%oMp=z#+e-_=DlgjCG5v@WrR{Puc(z^l77#iK*{B~w}mL=reEwtzJ?jVU4 z7Cys-*E+UuL$xB@{W1b$gck5CBw-IBsyYKBa3ky15Is&EO?}*7d;3c#c_p+H*tP|+ z@r*MB*8}cs6wNh|uv>R~21A%hyFkxFUa9Q-vt6JL07i%P>wXFGG)?~fni(?VEBg0q zz#+<l@i@E*;(Gx&;g-lJjr6_bQ)E(8a>8|}cT1U%6Y&v4?{*pi$Cv(^th!&3lg&*0~Y zY(fIi(XbiJ@Qc*;nHG%c`o`yov(?tmBBD3bOiXYJyN$B$(>7dzTLMoD^6+b-@|$Ne z?pOTsEfm01J*bQhKYeq@#|6;0-qKqM+v9`fss9RW|HV5DPK>_A1=2U6MulPDiB$^} z1SG!S9*K5)R-?s;Dy?#GI=SJ#=q|AO`Qn#vQemX@)p9nIH7 z2~HbuP=~Pz6d&FOTnAjQQxRt8ix03;RDrK6q?P^lH@^Pc(*Mio<7yx|Mpo|`@qE!o zEaj!02M?B9g-uRO__P}mYS$x3fM2u>bHt@U9Fh&6L4^MshGA-1GSVNuPZ<~;X>0%vV@U*NSwct}_k^}-a)0tG_zGTvB(jg&Y= z8HY)nttaJ7H2L^5HB>;GFh7q^=DfjotF~POA z+pewqGiGREkhNJ`_Ym$dAhdN$aTCx)A&K`K5w_?WGIfynioboCu{L?fKqQ>fO2#v{ zp-}G>-vG3vRSa#GUO@t_9!nUf7>#$GvXDzu8K7}Npaae|$8zMp5C z;P3Hz-+KaN>r7R)p-ANvSJQ{uCFWoSM9$t6&NJC5{uu>GZz9R}UNa}X?|)ZFcFyOM z#U1i@I%;kC4S7dPs~+Wa3&l;;tl8=uaTRNyORQnpAo#-&V%72Wtcj3)#N-pEM>Q8KnR9|w6oBYuM>Pt>>xj&kzFEJnlsxNg2r`>Ak zB)0AV-ZA;RV1oP|I`*M8n2z>#_`rEnW-f8SNB5KY-{AQk|4D3xn)X4A@$mkdCGf z+IkV`IdJ6>;8;(Pj!UCwq%eqmCyO7{Ht>bX_`Xy89ZDf2@wu^MLI@T3c>y>*2CcBZ zp}l1fRTo+{qlEix^$Jc9ma%dnq|fMTTh^=mf zXlJNoq`#6eC{n3sV7UVj?-bu}W{rWa9fNfs87b&$eTP~=7Au_#o2d^u@sCtThPMO) zn0C-0LNy!aYjVXO$sd)Xb$nhs&=DU{+B(cBs-;mPbfz$}a~Lv=qFv$+7f^b zCb5}}dSMDb1NE9El?4(T6HL1N<+|g|4U6LA7D7Z8gN8$L~ zFUJ%h%vVhpcJuR9G;un#^pkfx5k1y?`aGQ0E*OQ z8!DpmK$c>}0rDUKHn5>HUyXJ6i*7rrI3iD+_dM$uf-YHz#6THzl+Y=$G6P=c=c`*E zMm45qNyY&4VSU<4Jh3%XwPlYy3MG6hVEA-9Fh{|s*}}xUx%@=2^*OokdyPW$>~LX( zjJj+hY zENm-beDNoSgG78~E?S6z{b&;!F7scqp;~Z%obPAWzY#g287jh|`gi*=HdyQ8{{TRv zqfH(8(6wCW@CuXELZCw)4+IjI)gxlhYKJYQnAQWznKY)Ad7d))RvNYPdV#2I!4HWeGx$#1F z6qpt3YcyGD>#w9FCf3GWo*A^sFoyOH$SrE( zX3^DL! zVtC1JwcBKFDg*5C`!Gk4X#Z?Y=7^K+&tk5$r^Vc&_^TF*Gf{i6U5j(X6x^W!7LsvE z7IOqp+zv&r%fc;cAW^jKdub#!Vd&7-C80c~bB67+;?>>BScdr@LaYzY_xS&Jmj^hg zw;v;R$NS9yXWnxd%^a3L`?NP&K{9;t4VGn`PMrP}S-cQjC?}jn_|0f12Mm8n4dAQ= z@-(#Bh=&NqrOsU_PThrmCB?G>;2snNNYy)E{PUmD$C*$<(_we5{!zpUg;2B6Kobot zvbJsqV!BZ==Il|CUn8qS?CS>$naw89XpxL#VE40f#peJMtN>;$6d%JKl2Jtk3)z5& zV*oWq6`3m)3Hw4q@2wutdlfASg5DTGl*wm4S=!}*2q@}_&}fFg9&A8rgt=<)6JI=u z`qb!M;zU%Zc_xFNOWcH5VJ1P3WL_0QjaqPOKtdp-buVCGgUM^m@%vDQum`1#Lm!|m zS4nLlGqfmt6Yb1eD85Yn10&WPakrF9Zn2U}U{jJ)dpF0+b)QRhpNG2Vpcyby^tWJP&hh)i0z#GEm1o^Gf-29t zOBJ&6!CfX!1LStLK>i~niV|TQUz!e6Ow{w3^c?AXLx`pv3w;N7zJp&GKbTHvkKrQt zGL~?x8yTLn?Ok*2REa484s}q}Uw+ zZ+TaYf=k$bfNfVBsfqN)BuQTsOC=gL-Pkltcv(>s8A*E;!VKa@l=2n3rt_gSy7URg z)3MFasPc$z^&r9x83Dd4e1qSYTod@E^_bd#l%oJd4J@gxFF|u8OI813D9sVia10%w zFyntck!QL8$@X93F=NzXxvs7I6>*apSn+7)<>IXiP)ivE0&a#k7y} z$Rl9q^04P8KKd{rm9BX(&C~+mmwf~l8{}k%fp|Y++4f08-eIy|P<-n=jd<#rAQv=h zC0=nsgY5wHh;_HN?j^j?kS8`|i?F-pvsw9lv|jlLTuTKQnfv|Rkjp6+@Bc_>M@UlZ z8#2%!ct>D9Y0jG~BGS($r!=xn+xO<5CU`ua?`JmNLi-=`z=u!R1(BpVB=4o1|M@jo zUw)>{uz_h|R<~!gCmBQbB(UBm?L2TXYT->L6clg#Bls3t?lOZ6wmf0WUB-jKkTk|1+*@8xYdngPC%O{%g2qGWWcFgy4?-{S#u z7TJ4}QY6iCBwVK5T-n`IFZ04)->3KM8*63x+`aAK;(ELkT;H9PBR~KjoG#&qtiSm= z>4`{-V!uzO3xzBl3`Y6kflA zKf{bMa9BZB!p_p*l@A&B6%Niq5i z_HZPS6W@A(h?Zmz_W~l$D53jLu!oC-`;rh;>v6OLxC!BD93+^r*klElcOle#z&-(T z?oo>5tc_%7l3vujc#_=da6kkt z>$&&uqa@npWXlc)9Xw#qg5dN$%ooAq=X^f{El3{}@>Fqq7i)IFWD%l0uAbUeJ@hxP z_#G=iXb(`7qGcI*i<-#1MdgY^`^<9+dB}BCuJ|c%1{mI}9N_uDU_~r>+2^0J&lNsI zkMc~P!`55Tjx1=xmLxgs8BGcla5)0qNcfPL0;DTwa`iI8ht3m5)^ns1$?FS+eMJRL z^*(6>NZuQQp@##-4HRap$UdL+An6}l#Ii3`X{N*Q&5VNE#^+*DlwTTb>Y(D4lFywV zVf=Rtd9TBh`VuEn!dO=fUWJ5+5g#TAFR7Wqg*{K7g z8?w9PKFsu|Ttptfq8swMSkFNs>Q4z!CfUZ+G->97EX)I^UoLzedSyb3?7)*R=#PA@xG*Zsjb_Gt`feh&#%>i6ZCmw zX@r7KW)}yKU#Nd9>L1eM*D5rJ##+WPYAka89ZkZ#udV->+NNxjr7KW8ra-Yh0E))~ zpxE9GMP`n^RnuCJl0@e{Z2J8cbJj))WRfZRf!_YUx{c7!=qqg$wnfLIR8*f@3cqx* zOe!mHVoB0nsFi!AJOBujJ?r2TW{CB5&%hq;zC0&LBGjR+e~Ow7f03Ki5uO-fIyrW5 z>$3Ris$Dvy$m=v59T&^g2#ek7Li$_Y|f0z?{!h#ex$4X?l3B^z%PGzpEVXqG(Zb zKY9e1g3b@+UxL?@SD@bRC3>&F{>%MK&|Gh7gbKw4!Vp|Zq6{yW*A4N08@W}*=cy_mw zO4II`uVv;SP>maEjQ;2VHST=zm;UHJC!{Xuw))56M7}_cIfaD3zd+UG3CcZ^ z9FsG8C5v{)FxTX4x(XrOU5$xINF?tPJqv(L)Yr2BiV0D`#ZQfY(0n~#b@r6=Ce+k&-T(s*nHL} zaqiYxI3sZ`4xH53hACY4DoanoNs3;g>95`|F+MAs7K?H&Z8`|T`xdp3N3VYqASRCt08q#91DTW?@! z3mv>(t|Pa*@J_Jn$f<~g>&T2_-JTk1J^e;TF~5-`E;~+|dqbXQ z3OukrCKHYV4Y(;67##_hwe=MsXstRTcD*>tPFWHShrC@fxW+qO;=Z4uX*5bi20B5d0i5GlIY`m$%TcPmJd z4lBxZem3*v!{*IhM2D38|1@qLCRi?rf&=Yr;1($%G2A-fYZWLZq+8O2MMw$8tv7Hq z6XDj80NgqPPB{R#9zqtvt)pj&TR<%MHpBSaFL>HX2TVdR&&XCSkSmafVB##2W-(zF zlVvH8$vzPP;ssE)g7`++VEbRAm*=}ZjQ(QQA^&(njLgA#{{hQ8wbpwaD9yMhPrfn= zB)SH?VN?;D;xbjFm|l#JTdQq&lFFDHmD_qJZcsjrlI}^)Pd?;*ERa8$e2jrpK9CHO z1Ph&@K_D88d}N;>ERkG#j}Y>igNVEn%v4K!;U`2vaI654kUjLFGihyJXhzvRTzS8Z zk4RdZbSGD5iO(O^{oYaL@$JaCyE#GU$ApXV;GI^XyjT%Lr#J=Pzz z#_nsivFyhoR~xhZ(E)5kzIeGm`m9zPY>WsKF^Lzb|7kw8{%U2=Y3u%oS++<@bki9ix}otSkCd?i0`ww|`D?1iE z%Rv*Y>fGnv?>YLtXM;wPY;`vwfaU`oCB|U9@G;Wz* zs_9UU`07o-XlCg^!clTzlBE%_oellS*6UG(IQ?dZ@=S}wU31pldq`7>7*gWE;Sa-5 zro^@%CvEGt_>j}(HBv5mM^a)5FkU5n?gpw^rkQz*L*?Or?gzcxDCCQ;@vKg)mTazz7foHr{4xy}#*b$~?oGU&nMFSL2o=^*mHEo+kJKmAjFz$-)27xH7TZXe5 zNHmXHKQWY1hg-@-im1f)OsDRXJ>ezdo^9;jOw|ekz{p~1W&u($zfHxXcPfA=}gKArS zM}uZtL)1%TN#hRk0EYh5`6sS!kOZSH{HAJwO0r3u+P2`df()oHb-2FTiT1jMg~qrxM3Sg=($f0TiwaXBMrzA zc#2Y>^uZouF?_$ONDv(0UaQ!g@dWs!36a$xg*lw{K#_>-6tImNH@LqADD@PpCG%3 zGL^g5>xc(rCk6f&921x-p;pLa0w*YG%F%TJiz&ZK+JDk9fx_iw?d{FueuMI_+J1_-H!umJVX0U&!{MoKyNZZs9E?k&HJ=Z^J{*y=1fD zJ7{eZE+h+&dpq&ynZPVLng`OuMjcH0eQ!4pq>LE2T$^SmRYntWFa4Cl?J0^h`R*kn z5Nor0RB08J>pOTaxx8b>BPn*e^-QuhHxHz{b`1GV}_m$vQ`8kuahK$ayWqlQ;^ zZQYmX9C_)W2r$lcl#6`I>Xvxy%d?pR7G?9vq6|2vt;4C~p)AVYJ+Fq1i-HXsVPIA6 zRSc}I#vSIl0F$!N##L~51=qSiM}^sx1W=x@k9(HLh$bQ zNCfx`X($JnP@xv%0!^s!3==Ar0b_=ZyP^VX(=r+#2ib-hT*{Kcp`V-n&%W3(&x@axE7osghIr`<#m%?_lE)E)C0XwV8{y%I6u^g* z?M?~I-#0xIh7)B+tyC8sFues0%-i+|d(P0mxi01jO4(Ou&hePysLCA=4VE}!R?1=D zzvy|im8`IcofM|Su>lxZmFIAvAF2I?BwzO)8P6&*KXL{vRI&9?;j? zrGtI_ejYKo$a;T`epNC>@2@}jGXITO-!#luoovZv=ix-5hd5Dp9XY!hiYq>;XjAv@ zFM=$cC(`Iq&UiwM#tHuw?lEwa1_cT%K-hjEHVApcGCFxe<35bf#!SORW;_1!)T<#w@#lInkcdyDNzAxWM z3P$)UdE~*4oLn=i2At(J!&~CV5B)(aRacg~C_nwdv%hqL7l{f?hhR(aIc;<%5d9!Y zLEU)VVXshI_Zr%|eG99EwtgUDUE(;Y>a?j!2N1CHa0XG!CI2pN95h;ZEo&w@A|rnv zWE1+`Bl%2&SIbRD-%XMqTOM1K}#z>F!p&isC08)cXy^xO(e+8(* zYFWIEFhl4RZ)U&nKP_o%>Dn^$#rHQ+T8sD=ehF1OpQG+;n<`^0+k?hJ&ubx-`meU`eRP}T zL+uURk^WIePvYg*N%}^{hW54qxqmmU!fJdN`A-|f^o*K>WEuB8n_c2$1sy##m?fF7 zD2*LknOi-%Yz#yqT^R#fm$-C;e+l6|R8XJo&LyTmLYi z>=HLhxI={VH;8DcfJd>F1XD~`D(JV5a*5Bn{eY3mU_Qo5fv5G2TeRpF8B5_U2^=9@ zVl-}$6&>D zk$x|AN`9U=43RR-s8=qo3Dql@Is5LFoZh|iAuEM?1yg2xF1n_pTKbHJyxB=zbJX+} zb12ta!|BX88bG}AF=`2>dZ&2!8rG<`m@GaMP5@Oo;!B7jUSSVQA;;CjB(l&4 zc|B+PD(_cgPfa=$@=;R!8bEy2{d8w1j)TViEM?rkC-^-cFK1nLb~q-fp^wK-^!Cj% zV>X+8%G5!Al|7x+Ws+KYK>2C@@&gWpcZ!$zqXRa_oubYk9YBG4+Jlb1RLfRKU zqdR4sRw$`a1s@1c#~5auVD6N)^+PcT2~-{Ug)t7U-4+dVm2Gi&`z1?g7>M|H7qDX+ zuq_^7(ZCF%w?YT03nxupqv5CPTJJ!q;(ByHwsBzGpsgcohkmwl&eFhPA_jOWm5k4^ zooQy!A$|5Dd^V)D!%yi2X&*bFmM2gtwzxhT2!nJ52JNAhXxbsF?xjSdSasB)B(b(i zX}EjC`Drv+b!4Da3_01VV|*wp$UjP1Xs;Q~oURdaCA*IIVAnC79pm0fY`5TnUUQ&= z_guzf&6Rnq{01BhBL12hq0C~SYwOr3XXBXE!k~>LY}Q=%jf>w5#aoHZdJB1Es}J`m zr`ROFqUe!3#YdzV5ESOcK|VTF(K73vk-jUv`)_|gP#=dlnxCl9X^f-cad#$;rmjMw z%V)#UNYu>%*XY}~%GB)#>_g2NYG4VzbE>+s4}*in{_g}(xqNZDKRSTQ<%>V?NB2qP z)Y|$v7`*}7KYf|M`Kes6`J120%|u~zS{qTh&+)5h|HvDHbJj3a#%y>2Z8>8DzP5{W zTc80sSJz688^mYU5+*YpIQMnZ5GF02*LkK*D{1lcPRHDin1okX%_J%1sZ_IDSG*On>WIflA3T_YSI z$l^3&^yXgb&Cdy7ibkUsG5rwbv$W=zKsrn=@gXX`ceiGTQZpD1)I(mWW99yrd-b!@ z{(E&?zF2{5#6n`haXqy}A+Ew~NPavEnEE?b6$_v(&4@Bq74TIun^qO+@Y<9kUM>|N zw9`SlBgF~wqf(AIoazA?9hvS8WL9+kZ#2(lE(iS23Om<}fd9AC-+y)ei9ZK93VlBP zta!B~QP%sV62bM8-;ZbKGf&uV`NG$@*E0sOB$6ND?TlPMM3Pm(D+=p0e@W7u+edj* z*m=#9x2Lf3#>wT45->A-b=@#;r*`WgFnb}&?4!I1tbQ?a{d8C|(Rt7qvbvyyr2BY3 zG<>8|hGElKIb5F4f-l#=CiYQYpY@6Ar#{Xg2W?luJ+ySRAH1-h`Di~_yzi&=6sf;7 zYHudb%jh5Nt+(R_ouw|^rNOCE~W#DsIAaLHMDfv$E(^VM165r-A(}7koLY@j5H0`v@+USXPGP%5X@k&NV zz|R$+I!@j*RUF+Tsz5o|Uis~2&(3+h77Txn4#$JckMQ$Cu z>nm#AFl^bgQ*z)A$J(jA`DX;64ke2gPeEC>ZtUSZHPw`bA49);mB@> z03nDI*wK+XP3KMBG<>DS>%6PCmp>aESSoxi|EWX*@c=^ z<^Jl2Lhv~n@{wBy?IPGi#ff^*-$VYUGb{-%ujl*Jz32A6a^9E?E*^o#)^@kiRnC=i z=uT`zNQfOLZ@{*DzZfVvI*x=RYpNu#2MPfs*rEa?Mk+NY-xVx@z!8AlxDBp<@N-}F z0r!0N^$GZFaQVT{iqfP))q>N}G_{L%-$pZ5S8leYNNV?W@ln`VhV*>>Xg2nHCYNi1 zcjiX3UAdmQ_%z6i;Q~@DVwjJ4#WNuXoPuv_4wl0jrnv>*9iEHx#d2wExL)YtvZH5l z)E7m(UI9UHd-{8Z*2vm;jjR6ieCVhaz!J+nkF8lhEAFO!4zHD~o!}DfMQrr4lZpJ5 zfH?Gk4@7pR8nu_*5+LtLIWH;m2Ip$^_;-`i9l$|tL!78DD-gAl9;Olts zcIw<;z`j7*Ad~eydm>nW?F&wq+nX7xE2@fm zNewD0l*X(KfI;932WGK@sfM9-PH}{k8RSM63;{`>ky;X5zy6-tc*$p5H?vVgR0jAH z=S|~4)95G{bb_Sd300Co`Ql9lERWxvSFi68J&{yt=%igC2EzYbv08cyLtG0lsiag* z3a@o&m3WLgOLooY_MB1S^(?*6D+;dQt|G1C3bR;&8)y}8V&8>Ybs?S!o`*a!(wTHJ$s>tBP@Fa`8aAu)#n%}K zC})Rf1=Q~1ys4ZgE?=A=y&nQO*nWp8e?D&#zgZ@Iq@&jAWP1{HE?tiJ5#EK%>0I$O zy1{ushgd%7^}0vP$fFOahlD>=Y=8K2zSF(OXdaA}P=+?*1xqg6fUyM<7>^h+Np4^x zB-L0$mTFpg!kfogyU05lqyT49lRis>9w4f?g~|l8gEb(NT!QUryC~FJkwI6=D7!Vw zhZNr1Il!}kX$zgAg8EfQPg^RhqbK49h?9=D&;|Ko0-jNi7@!1TGZh1JBKb(`CVixv z3FrDc8INL`z&Pod(d(;cGN{&%1&bAI^m+(N2m{(je+yS@vEW5t0olYyp)(X{_WC3; z!R!_BXKD9}iB0&TVFQGfUrGH(+VE(|wbURwt}o6drY&Kp8xp_Kq=_y%&t$BWss2!H zGHMtF6pvlVj)T(g0-ggy=y->C@hfD*SwDHXVmpABgRe~y#l=)Up%=dFzCij;FVHEd zA0y2J=NrGj@A91JdTg}_CPu>R(0C#wjh<;aAm4uC4d0z}Rr$~vc`2V|VEaac^3(Z2 z;;!x(;bG%Wb%)O*9}^j5v;(*Fvy90I0g1XaHNFRz4h^f+uPrB06(V}YH?N{JK~wvEtA;r9)&@sz`-oBH7;>w9)p2W zrygvL1KTA?2CzV9RlG&kEIQl%lFDr6D}&lYEysk1sup;%?Y1=v`h%HSfd#o)K1si6k{3@vS9su2wH@%wv6?HD&l-(paAm% z$ZX%9hsakkxqyc$-`nzrdyt8b_jJUTvD7#G29@Lj9X-U@$-b%HHXXu~waGL1 zc~TN=8;E0G7OSje!KM?wfMPv(n1%%^o|zfIQR9Bf@K!TYoJmJVROK*{6b9Mq_&yHKG@u_*0aY!GJl- z{bZIqD$5h&-4Fh3*8)bXS+Q93Q=0;tbgu1T`=heIG#VfGl2Qii;$P6+g^K=%L+R+Z zyIrL{o7-O}cY8jQb|W384)n8izcOI_9oY*I{**vKXzTug_$+Om$bRZO@B<$;=w+ru z(k1V)f><&{)RL6tn;fN*J+@ar_D2Wo$K{JJ`=k5Zj|=qYCbjCjd01eZaXJ-?TE!RhQF6B;NzjKwYLm>S%1GKIy=uzzNodpA@02B7frPA6Bfu#Oxt>#;vYY?| zE$NdGOk`IRJ@iQ~rz$cf%=cTc8MR%qrRh6+7viV^mYz%k8ts8;>F9aWbtj|Qr5(~BZX7Yf0kp|>4J=J zLTSR~Gel8+1|;5O0BO=sV+hkr3Y2j08qi35;aV39K(Rg94~bacXo`1#Vd#b@6A zW7-BjPaPqFpPBqn7u*1PE1ON$cjUQc!a_&Nu~SRV==DF)3BX$@nnY0IJ9CJzC`Xob z`~UxLN0uy=t4*^oEZm@t&u{}?<75|?Z_j{kK0I8W?U5x^S0YnzTmhp(_L zyU+@vQpg2>MinfBh;vvGV^sBNP5e$C#+D4B$JW5Egy z6!K$uS{B6QomZCPF>R! z?V{BaZz#l$+dJqG@W1>ZPppfbIxB5b&>|0%!qmt^RzQ1)k}NBl$D!J@;-Q|dhH$~h z>!n08ec`|qL?|91%$rHd`hau+{BGgL)v!jLCr-;^WCKbD^fRn!Cy_LWN;YSb?A zHP)ZBMFTh1Z1)DMRBYWm>5mVwbwg(__aqqowYR@?wiZ{;@*upmp4Qe)C2p$2jXh5C zOywWdXFQ9Du?dx$)^`c6G@`NRNvr}S*0SH)GfAx#=N{eM(tCiJq{2pbvie%l*^cLP zb3>&J>dC?|OeKnca;DVfS}6Wa>R&df_sNbzsz}%XUQ=?k16Uc(0al)PnLxw=$As+?=P=JcrL7|kH0#&eI&wpmQmK+ALL6pV_Xk8Y%!UEt zS_$z;HH&tg8ZxJl6faI(gm~cwiXxfAKKH1UjVfs0rmHc1pJ+pjXKwca3czVZ41R{m zJWTMwy-~%NM$shkDh_eRvA)xzc=+Hi)d{yyi4?1*SRK#4U^;|4$L5H$XRzVK>SdMg zt$+1gKn)VKB*)H;7g$Wi$E9vtYiS98+L$5u4f3IRVP2%qvM<> zKVmx?>XR$uqXy94hWg}31KwVSq`>#{T~3&wV(uE&SQ|B)=<&&xlka<5IN%RCV`5S& zB`u~qjgT~ESR-f|w1wz>(_1IMVjtAu_wBanxTh2em342nz4@0nKYO!f*dfmeq_?9| zvBCko7jyE{0dH21up-|Eb@gCOmb^G$CF`xkfypM3vhi}!tQSz!@s?MpboAh4HR z8`Oq={De-bbfh#M?`|P#RFX1dj$HA{{2mAznMxmTS8hl1cYK zC?R$V#RiFybr{_5i471ZX*iz$xZiy#3AEwD)okpGx zDrNxGA&}_^MKpQ_Ov=!BYc;TrR?1ehvhgyGbi@*=0G0D4>>`NSsm4B!#^;X5zWpB% zwWO((8e7T|-0>QbHtJ|Em9mI0qh6#Wxa4F@R+BH`VZ7i=prxcQfmlOdf{w*RN%8C& z%dT{?r!OI%U8k@svHiXT;@x}+#4rHc+11A4iA?(vXkzds&_v-&Fte+LU1=HXOIXCN zGz5JK^Vsz&cGa`1id{K&?P4W&vMcRP_!8RLmAt$763Cs4FM-Zv@+FY-7mP}FB^4lF zf`*l##x-yxh3~@<2tyzYfiMKZ5C}sc41q8N!Vm~UAPj*p1i}yqL*U;J0SGO^e_;rO zArOW@7y@Akgdq@yKo|mH2!tUJhCmns|56BiHcem_?W9kWqNu_z;W6AVMw}DjkGMa8xL+dNi|4!X`z=By zf*Q{cAblOeqqzSw!UYJ6@Z5}0hCBs$j={Yiza#Mb3c`DcpM&Q-{4Pa!2=@c=dnPyor#3@G{bVjj$hK0K%1syBztZAhaQT zgJ%I@7s5{wb|B;+ekj5vxW55mIo{ibkc9iY5Z*%CT0HyktHSdF1RL(>BkpVbUXSp5 zgm>|L4Z>L5--KTyexJqf{Rns9or4IM;rj`)jke=+W(@cRk+nd{)VF$k9-%tly=uodB# z2#+AVjPMDD5rh{JK0r8*pzY+iD-dQQtU~Z0+>Edj;W30} zgbxtf5r)9)djf(LAs=BC!UlvJ5N<=*iLeXdHH425xNp(l2yqA|gmeTKLK(t!2)7~p z9^nOqzaVrVjQ$7u7hx7cF~SyvpCdeq@B+d?gwGJTE{+?Ikc6-Rp%h^Y!fgnDLU+c^dtKkc&`-a4W(e5#B)f7~yLK zjSu~Ukc2P?ArGMlVGY7YgzX47A^Zg4K7_{*UO;#Wfktd3H-J-d1Gz!mU{1{q;f8X< zI1M+P8^LKg9XFC2#f|2oxM;W>x`2z}#&YAh@mwr-Avb}W$i;D!xXIi_Ts)V+UCdnq zyU%i~;JKDU@#!Y$>NaaVB#Tp?G)UCkA9 z%efWYO0I-k#jS?tn=-DPTf?p8)^QbFC0E5=!&P%t?$YX#;+3wM#w%8?U8_9KEUs8l zvbK2n+LA?O>q=JU7niwvCk4h96}#QlMJr2c+|`wvl&n(Z>Js6(i(TMyQEiI zSw(3{b(y(UWqKWs<^s%T^~u6Ys*&j{$95iYh+@q%q`wEV;%L(3p~q0ho&F;PWdy)zu{x0fPh4AyANFt4dasttwmLFB@?i zOh$W7XbbqiNVO)BhkGnfcA8!^lqAh z34MPm#JK1#5Q#lLRpD7zR8?KMqNJv#vbrX)?m&ia%2vIBz|jl-a&(Vc%5l{zdjL?5 zWu0(_qz%;}->Tl!$2--VLcbBzee%~s<_+1a(hEwr2KQV*YKW#QJrw*_P089-ew;)< zNW`k={N|7D(Mc2=Vr(Kh#Mq?R;IUa#RaVif^H^k$`m>lG9l&DTK_i4k20_@3Nj!-9 zQeUqCC0JcjB+-NFK=j&BR$($Ks7Lc8=K8+VB|6qSojzN%3N+ADUD5-4rQ#)O)Mx2( za$w;gVMU;1MI{?olvKIPDl3X=N~+hFVSIr0ucQG%IjSnFidL*GDX#Dksbw*qno@rh z>lIc^Rdrb<_>@gW>xwsWp`t+*{n6~kv$mvKj#BzJAZk-t$=a1%P02cZtFoqq-6=B} z#iHu#i`ROj1lG3{3tj-9!A(^qra|QfG4xqDKhbaXkJ&gdRJT~@J%y~g5* z$qoO7ArOW@7y@Akgdq@yKo|mH2!tUJhCmnsVF-jF5Qab)0$~V*ArOW@7y`W@K>937 zP!j2x{zyM4E-FGd1%XB2lItn)l;lAMJ3VJ+#>S#d$TV3}Q2ZR)bfv$Z@hpnNVYwL# zGZtSlYu-E-F{i>^!uAc&C&jaE*5eL6j+vyWU+ycQ~29Jh}v zDydj0sW6pngylj6RF&N2>#9t!{yJsy(oth+JD)u^Q>zoJgkm$^9sD zom|#$xuWGItII07OUrh;W-eUBw7WTNL=mYHVbQ#f`xRGIyt3RwT30K});}gq^z*!h;(|Od|0tkj<^`F!PDbhCh&b;+4Ab*>P_4$3Z7)kDr*v^Am5&dc~I|` z^8r`Bj97s0E3oVgfTbJzHcQ3({KFRr|KZLsBzc2*C5C}sc41q8N!Vm~U zAPj-;1OcqO@qSFNb!PNr?X(^W5DsS-)-U8SzUZ^2hUAMcrA=^epf;bvc| zKyB6n=Ebm`#=?iSw7W$vSZTvI0efcw>Qx4KQoHCK<=gbs_q!Fa505}8mB>?toE2z! z_t#)MkJu8##sQ+0fI&5&P$ECA0z5Y09fEHh;;D>v$WwtjxKU0V-X++TBb{JJe_LRK z9sx*~pr%wy`f?TWN_8(~xq8RN!G?V%tk~n^-cU-EzFL8|=>6sRwj1S9|HMH8kb-{; zzGp)9{Vuu+3NCPQ62IpucRuISy@&W38c)u@d)} z<3A4fgyE|JPwK0<9$$z<85%-Q4)|ahsS`S+PYCURgv;N)sjWxnH%%-zlV4Gk| zuuZj@Y^k>0w%2SQ**>$KvJJKmw~w+(;m7)9gWYhIp~i5F;Woo>43S2SG0GTc zywqqiZa4nKc!zPP@qXhY#y=a67~73s8~R3A(jg)lP#B7jF$P9b(X!B zS1j*aKCygZ`Pvc#DDf$sDVtK?v{~(M+6&Ttmi9L4{QxcAvDkJ;aNHpME`5{!W&J_@ zhx$+TlMPc)^Vxd6WM1PWS(KpG8dRvo2yXoyUc$wKW={7+-QE=eAsMHEJ!R% zT%UM-;?0RaOZ-jZgNb_*Urzi>;?cy<6Hg>+lP*i@Od60pEO|`w#N>;UmnWAd*CyYX zyd(McCYpJ!$dK+-$QR}nTy}*z6t)Eyg zv0ZMPVVh^mvn{jL*>1D_!giPKKHC$v=WXfsZ2J=X3VVfpv;BJeFYNc&AGSYZ-)n!_ z{;54OO_LU#c1fB!ZB|-Yn#XaSYzt~_jq#7~|^9^~1BEydX^(O)I*9`9%h8PzbXPUN}er0;iblCK< z=}Xf|(*W}j^JsI7d4l-`^FH(7#I(eXi4P>c3ix#;j!!ZsWhXh4Rwe0@S0~?^{C~+B zj2(xi$Wmgdx4dL|2e|R2B_d@=iZ*3z%ET0F%Jh_B*3s4^jGYF+;k4C&*56}$$@X{K zx3+Qi#r9XzzDm2yvBa_6!8`upzyg{n=3lDM)i2RIjW-zIHSRH8V4h^Y)SP5?n6EVN zFyC%|(ENn?dGlWL=jK!9$V7GGh{P)rlM>e?Zc03ycs%ifq=`vcNsE&Tl2#;@CDkN7 znDkY$+A_uxZ<&g^rdwvCKYwp|-SUCuZw($p(bZK+qLE=(;*U6r~n^-rnqroNy0N$QuWU#Ff<9cUeC9c#6qW$D&gRzdJJRa|4heBe>ZiShMS|!ADSZ)rzDyaQxdOCT$p%u;wr%B*~Hfp zTM{FZMkb9(icOlF^pm7tCEb(sSkf~|FDAVXia0bmIeB(+cCs^hNpewgN%ETHXOrJf zJ_H*1WpYQd(PFV=Tkvv)Y`?WVWt(iDVxJEh=(Y3q zU)#U6tI~$2jZI5Po0jHDyD{ySw4bKknRZ{=gK6)i9ZhRZ`!en8G@WCtBi(T&U{~Z= z4z9s8J{sV0n@)RMVZF| zqc)qjng3$`o4L(=63z^V0#;Wgu1G9Tye9G5#BGTWB|ZlVasW{KFi}kWHqirEeVqJR z@(@d$#cG*uSz*~}xguq2%8yg-Ot~-Rk(B3Bno|aVGQ_4{l==hU&9c;*)KjT9S&vvZ zfkGa#AGNpJyX=F~GSlXz6{oF9bEjRKc5m8aX}i*%PurVzFzv&%ILB2qmbbxwDDdD? zy+NO&U#-7h|3m$+^#9NgG>kBeGhA%Y8#WuZ8*T^ne8BK0LyJK)d~P^y_{K2SIN7)u zRJ7c<-niAs8(%TLW&A(mSH^GQtnpG)iYd)B%XFpbDpQH68m-%%crfuu;=rU4N%NDo zCe!ldsD?stCvu?NEiCJ-%b+@(I`ik{E>oLrToz_!U73RcIwz0N2+Z3D8mTXJ2 zWq=YoZA&p?+_r0N+c94L1X}pCZI7+l_NwhY+hN<^Y^}D>Z5_4Wy zj3Lf&sUguY-7weSHT=|Yr{P}1?+q^+-Zbnry#m_)wP~u^jM={2TyGZ4zchE6rzbiS zmnIe`mL~or@y^6ki330rQj!)WElnyEsbo@t$Htpx9L!s@k6 zwBKug(EhspU3*4aecCf=ucp0+I{VV*Itm=C9oJ%R`p7|*y%Y6?17H2cz~Z%fkN#Wz z2w?9VLy2L(;iO>-xRw3JF{W6P!DMAvc^`O^DD!l4iTNAzJW#FG7>Bnf{yOo4#7Rlp zz@1#0d{uIe2rB1faur9Y=56bde>mL|h8E2bhD+2C(VfWdy)0}Aq zm^U}1U7r@=7~+`fFgmgwL>$^twM+Cz0Jo8b3jntrhDQObqlV86KEqX@6P3oz#v6@4 zGQMv-W;~7&6aji`F|9IHnKpsu{>b!8)7z#`KyQzmzBP@-4E4*zd%<1)0CUgP=p@8c%N?Ml_gNmaJa1{Xyq|J1WoT+^ z>R@Y}^@rBGtiJ;X@r-qkHPWWGU1+<+_Wx#JV+QnFJ~+=b*h~i2GpB7X+uXBxZu8D& zx-GNaLty#%#qO^ii@lP)hP|G>iM;4@R{Ko!%v1kfb|fI5toqw zF#XE_%Nh+MJtGq%DwLU6zij zvJ~kl@(OtqFQP1>EG+9SA}jJLir&JCtSE~tym*TUSy_3JNKxcP6lIt9Rn@I~>(o6} zJx%wpc_STe*ZHZh{_9kodwFqJu~nMcy=rS8|9fk2cwk`rj%~wlasEJ(+&(ZkWPV;< zMMQri+J2pA$FGQX-X|LUm!Wt1i8TEJPte{OL!-+f2kraH(C7z9gZ3XawC5g?qJ0+) z9oR*rX#ban4t$O@=n(Q(bZ}EbpWq2P^h-m^+bwh z#|$-5W<@vG7;5~9NKqYSR@As?Xcm2>sQ#g$+Mkg>sEPJfRQh{Dx9|j24jL+7A=2~} zo}d$`gQ9nVujw~3tJNPEDSiC^YA1T9sn? z?7l%N6i%EOAJ6O1PckK=GI{vSiDQNRdnfn8s5;v$*lY^L`T16%TCdKN#1eGNmAUy= zn=j5+JVRe7*w4l6eW73v2q2ek6wBpS9^DZMw#eR5NSf6& z8W#z+7I&`tzEEqOtq}>fHgmz2iv(MRTWT~VOv4szRHlMW#^yFt#a63Y@dpm)$`mRm$0rbMakyI2W{k zG#6LSbAhB(td}Y^j5BxA`TT&@{9Skaq(+9#ZRW8c7^tkKE{|*bnl^2D=gd+`z|!sRoUtnm*t;E_ zvv-AgdvA4DHBDH8Zdwl)q>yq2i@EBxda;&uz0Th<1^ua3qgXB#=bQ~kn>c*Iicf!S zAkBR(n6J)O%7THz_Ykn5x^twIq`6k*j=KVx6xX;>h0Bp{qb9{Q8kmuphDmXa%FPA0 zHIpRQQPUB&3$0eAUUGI~pU zYyQxhn6(`m_eK?KZC!6-X7`b$0;(RDXyQl?u9W8h3HD5LPM9gy%e4wCL_o~*C|7F5 zyUZ-(aLxL{Y@yj|lqz#`jn*795k%bfcD1hddt2z^$;H941ISb=$;FY2xxl+BOk;mqXjORQCb{I~JQp<~N*Dy!Dg`qXTC80HVw;C@ zy)aw~l{=+MbH3WB7v?IhTUGQm9I3M2%G#>fyvz(}-BuIOTf7-l)Xz=A#3bcQR?gyX zo8Fi?f}mZRvtXLag4SrXoa63byW(IT?&2;K!WBz-q{}V0P1&MNtIXHOq?s*Sw9#v> z)$qWWOtik;5)mz1w9&a*4GGc8Wb4-5P-!zs$kOKQqqgo^3AfZk4P7-?nyHkVjat=p z*hHaVkKq!w_k}V0Vyift?aCTHH8(QB8l|t+XDY3#DTHUAlL|QiBa%Z-%5(4vXdB*R z8ynq9dc|tCstuI*Zeg}~hYBHn*s5BWtrXw2vR%7StKf3U;BcO+Z42#cbDpbxw_2&; z`oLtGB#hiP0v|v^@7kg?rQY>~HdBwCl&CVBEZTGFuS}9Ih)S3yGWk5Fhdv!Bd78-N znb7>oBxb5-w%OS((`h!;X;NivesKwo3$^)bvxeQusyM7n7yWRnSX)TcvQ(ylJ2f>b zfMb4Tl2WZPml!5LGZ}p0Y8}3?va`R9G;Q!^weIbRa~Vs}OX(H}s+#qSS}5Um9L1N0H}?jzba1sXa|^v@GSKSxBT4-t|N@q4X`vYdq7 zRphseXb|+lX{65){qYRZ7iYmgPqg_0B01nqfcGurHiK`Zfl0P->DeTfLjC&2g= zy1$-=%{9;rek;Q7EsBRSue^kE0sr>}U?9@6AJ3h@|N1h~`;dJLngGA{9?@SxQ{evv zk(bqIqmOqJeS`K}hv$8i`(xDqi5o=!2K^MIqDNEEy@z_OucKVE$h%3j<|fgf8ps>G zi+Fwp{)hPeXXt+l`QJ-Kw?GHcwpYsN8_+tm&)B;}zXA25%~XVEIduL;M9XM7ZJ{^m z5n4&-=`5Y0C+IO+Mc<)E=^PbklDi*cuF@@tb)`AHd+=K4OT3*l9jn`ncZ&Pa8^8P zI}FkzG4BdDqevlaLk4mw>5FLVo!dg{h(J8H5GcF0l!~JTkqC$5vhsRrL#ZW|K-Vr( zls0XcW)UiJyVet99-%uw*=rMn6;hxC>k7)71u%FsDNidnn<8!)MAEe<&%B*4$+g2i zq7>aRx7>j~G(xF&j6`y;jYN;9h}gQ{yy(VOcJZ|=HsCS^G-`SWEdaC`l`Nlls3F)g zcHp)x2A06U(vTGcI#My(UQ|n=y2V^UCdWG7avfi)iRNaRNp8<%jm2MQiT3i~NlGtY zcNt-9XgL}fTY(O9l%#Rth{K&O#42$H=Wj*uYNt|Zh$vxr&4M(%W+`EMKJ*~fIX|#s z#P0y41wmT`4&IRyfB0<;HO7SK0k1>1F&Zg1RU{tv5VcH90mIG4jUrlR&(hHktF`FZ zg;Hd1rMNjXh1X5=U=S`Mjh!U*FBa8Cr*=VeRp{E;v6h#xJ3@8el)H@bhMLj=P;&2; zfPm*tI_bWv%{^O|QO*}qxd|75SZeeoS!QYcq{NNOjyjXsVJIgv#~|zZ@kNMnQDx@# z`$F#U`%-tJ%QESjU-zeW?{hYpV=sz?cK}WQFl~&AaGfBG)X5I0MG1f|be+GB^!Njc&L z=fJ`ExpHZ34yal7c)_fl$;9})9hAL1_EU+}0;w=xnsD8{7pJo0f-RptDA=_BdJ}u6 z3dKSxvSWcY(o;u;&v<}CvD0nU(UlGXR?IJ!-3w!@;kx`OkGyDESIE1!o;>H+igK2JTW3~ylR9BB2Ud5J;JQkD7A4mTZe-i` zxy!RL?aVn<9%0(q+#yvdGj!E2I2uX#l?QyCXs%Loc1fLdL(kUDR06$g{v>Hvd`^@5 zQYI5^Dc5RS``UeBH#{(sd~0`g)%da%bo=xFI=W^VA)2HAmTf6lrWUUCBhF?15S*iX zHjz9>Y4zBaD)#SU|DYAE#gDH*-z1C`c#hJ*7m40T!bWrmQ6=D6J;fiTzAu*J`7~lk z>hDQjsaNT#)sKR$vQ&Rc>G3;jj#o>q#$021zHigSYklKKP9Pqb|9b)~WvDVB#H-XV zRfb3OFAju~lp3>56#4NxKcoNr$3iMA^{2{+I9O8iQG^Q>XU1}L9TnCJ%NbHSU}QSO z8AtJ7R{tb_DlbGtlazWaN30EBu03F+rkA5;aCntmpiCDsLD|~uj_~%zFu87 z19e3X72djgzW2a+vVDz5hUFT+3GDAk*zEd%qdh>)BO~k)3EgoWyT*>R`pPi2x&H9L zd9r=0$42*~GPb&1;V@pZJ?hAy+}E$8uOAap)61JBM1DMotnY@pL>>q}ikm z4}!?On9U>hKQZxk%1xNfYg}Y|Gi=Y3UC!y4U+|QKD=j3Q`#=$IWUYj%PqJQBJ4TJI zUr!6D>`KZ5=gCFvP=Ok6MgOh~VLR8C9Pa`Ak@Ww};U4d6!2e+gzbAb?5~=x*LdaOa z?WJ9}HP8OHAYStqQ1fS8{3OiLHQo-{7kL$U&oVq7M(G+i(9X)ke=dg`SUx(QQ!y`O zeGXL`P`uvlXVS2}g7Q|%e$?~%9AXk>;vgOSm&1`h-H^k~uID`1p0@4_Ib3Oxy2g#%mA&rahL2pl6z$tKw!^&PquS6O z2k~0GJ?2PYSKERX-t1ut(f=;dW25O!7hS(x;DL3#(hmo2=2Sdmi;L#Gys(s*TYb#r zo4IZ=W34*CFxAT!-J-?zu(w<^^L9qS0pz7U;%^ zozI8znAy889xzWXqJ1MP;IM$3yjsIyys@`wax%;Xh94%2ae#-jK81ysEm%g`OS zat!-G2s?S>(W`dn*ntzRy2CvvVW;nGE+z6I8M#Mwj(N3*1!UP3;q~usTptlo<;r%7 z8XH?j^QbWgsPnNESUuGF^H>18clU2G?|M9d-i!4scIrMJ!0p`~Tx?%D;iBu;mHBAu z+{=vZOD8!RdmXxK+{hkrO2qAjw-KxDyFRM(HuqB2cEZDbI5$?OebgS^Sj8g8lMK`S z0JQ7&jlA`8CWqRKH6j+_I-5h3E*p5A7qR<9PT%Kpi1uSxj`9HOLtqC`{^R)^YLE8W zz{ywL1YU44oevqht!He_zsNAf4<$T!o^0Q@BZ1X$05!hkqKCf2;DDX`&Jq0g!uZ)| z7~SFr#%Tn^rBa__Ts8RZzOwO} zfG69}fY^Fk%u3*Xi_RfB9`ms~>L~}&{YJ=x?6{p{{zpk+>dim@4boELmP5Gs#;I%E z$Vy&exVqx{d#RvGdqow&D8+h)Wdo@FWarq3;Zdf$QP3(Ba z$B=3kNq^wCly#c5Ncsc9ZjoYZb=^hEK2Y=^d9wZJ7!K@D>Me?fMGU@R)hSwRHaAnW j>-UHs9F& literal 0 HcmV?d00001 diff --git a/Client Applications/rcracki_mt/rcrackiThread.cpp b/Client Applications/rcracki_mt/rcrackiThread.cpp new file mode 100644 index 0000000..9dc1f14 --- /dev/null +++ b/Client Applications/rcracki_mt/rcrackiThread.cpp @@ -0,0 +1,239 @@ +#ifdef _WIN32 + #pragma warning(disable : 4786 4267 4018) +#endif + +#include "rcrackiThread.h" + +// create job for pre-calculation +rcrackiThread::rcrackiThread(unsigned char* TargetHash, int thread_id, int nRainbowChainLen, int thread_count, uint64* pStartPosIndexE) +{ + t_TargetHash = TargetHash; + t_nRainbowChainLen = nRainbowChainLen; + t_ID = thread_id; + t_count = thread_count; + t_pStartPosIndexE = pStartPosIndexE; + t_nChainWalkStep = 0; + falseAlarmChecker = false; + falseAlarmCheckerO = false; +} + +// create job for false alarm checking +rcrackiThread::rcrackiThread(unsigned char* pHash) +{ + falseAlarmChecker = true; + falseAlarmCheckerO = false; + t_pChainsFound.clear(); + t_nGuessedPoss.clear(); + t_pHash = pHash; + t_nChainWalkStepDueToFalseAlarm = 0; + t_nFalseAlarm = 0; + foundHash = false; +} + +// create job for false alarm checking OLD format +rcrackiThread::rcrackiThread(unsigned char* pHash, bool oldFormat) +{ + falseAlarmChecker = true; + falseAlarmCheckerO = true; + t_pChainsFoundO.clear(); + t_nGuessedPoss.clear(); + t_pHash = pHash; + t_nChainWalkStepDueToFalseAlarm = 0; + t_nFalseAlarm = 0; + foundHash = false; +} + + +void rcrackiThread::AddAlarmCheck(RainbowChain* pChain, int nGuessedPos) +{ + t_pChainsFound.push_back(pChain); + t_nGuessedPoss.push_back(nGuessedPos); +} + +void rcrackiThread::AddAlarmCheckO(RainbowChainO* pChain, int nGuessedPos) +{ + t_pChainsFoundO.push_back(pChain); + t_nGuessedPoss.push_back(nGuessedPos); +} + +// Windows (beginthreadex) way of threads +//unsigned __stdcall rcrackiThread::rcrackiThreadStaticEntryPoint(void * pThis) +//{ +// rcrackiThread* pTT = (rcrackiThread*)pThis; +// pTT->rcrackiThreadEntryPoint(); +// _endthreadex( 2 ); +// return 2; +//} + +// entry point for the posix thread +void * rcrackiThread::rcrackiThreadStaticEntryPointPthread(void * pThis) +{ + rcrackiThread* pTT = (rcrackiThread*)pThis; + pTT->rcrackiThreadEntryPoint(); + pthread_exit(NULL); + return NULL; +} + +// start processing of jobs +void rcrackiThread::rcrackiThreadEntryPoint() +{ + if (falseAlarmChecker) { + if (falseAlarmCheckerO) { + CheckAlarmO(); + } + else { + CheckAlarm(); + } + } + else { + PreCalculate(); + } +} + +uint64 rcrackiThread::GetIndex(int nPos) +{ + uint64 t_index = t_vStartPosIndexE[nPos - t_ID]; + return t_index; +} + +int rcrackiThread::GetChainWalkStep() +{ + return t_nChainWalkStep; +} + +int rcrackiThread::GetIndexCount() +{ + return t_vStartPosIndexE.size(); +} + +rcrackiThread::~rcrackiThread(void) +{ +} + +void rcrackiThread::PreCalculate() +{ + for (t_nPos = t_nRainbowChainLen - 2 - t_ID; t_nPos >= 0; t_nPos -= t_count) + { + t_cwc.SetHash(t_TargetHash); + t_cwc.HashToIndex(t_nPos); + int i; + for (i = t_nPos + 1; i <= t_nRainbowChainLen - 2; i++) + //for (i = t_nPos + 1; i <= 10; i++) + { + t_cwc.IndexToPlain(); + t_cwc.PlainToHash(); + t_cwc.HashToIndex(i); + } + t_pStartPosIndexE[t_nPos] = t_cwc.GetIndex(); + t_nChainWalkStep += t_nRainbowChainLen - 2 - t_nPos; + } +} + +void rcrackiThread::CheckAlarm() +{ + int i; + for (i = 0; i < t_pChainsFound.size(); i++) + { + RainbowChain* t_pChain = t_pChainsFound[i]; + int t_nGuessedPos = t_nGuessedPoss[i]; + + CChainWalkContext cwc; + //uint64 nIndexS = t_pChain->nIndexS & 0x0000FFFFFFFFFFFF; // for first 6 bytes + //uint64 nIndexS = t_pChain->nIndexS >> 16; + uint64 nIndexS = t_pChain->nIndexS & 0x0000FFFFFFFFFFFFULL; // for first 6 bytes + cwc.SetIndex(nIndexS); + //cwc.SetIndex(t_pChain->nIndexS); + int nPos; + for (nPos = 0; nPos < t_nGuessedPos; nPos++) + { + cwc.IndexToPlain(); + cwc.PlainToHash(); + cwc.HashToIndex(nPos); + } + cwc.IndexToPlain(); + cwc.PlainToHash(); + if (cwc.CheckHash(t_pHash)) + { + t_Hash = cwc.GetHash(); + t_Plain = cwc.GetPlain(); + t_Binary = cwc.GetBinary(); + + foundHash = true; + break; + } + else { + foundHash = false; + t_nChainWalkStepDueToFalseAlarm += t_nGuessedPos + 1; + t_nFalseAlarm++; + } + } +} + +void rcrackiThread::CheckAlarmO() +{ + int i; + for (i = 0; i < t_pChainsFoundO.size(); i++) + { + RainbowChainO* t_pChain = t_pChainsFoundO[i]; + int t_nGuessedPos = t_nGuessedPoss[i]; + + CChainWalkContext cwc; + + uint64 nIndexS = t_pChain->nIndexS; + cwc.SetIndex(nIndexS); + + int nPos; + for (nPos = 0; nPos < t_nGuessedPos; nPos++) + { + cwc.IndexToPlain(); + cwc.PlainToHash(); + cwc.HashToIndex(nPos); + } + cwc.IndexToPlain(); + cwc.PlainToHash(); + if (cwc.CheckHash(t_pHash)) + { + t_Hash = cwc.GetHash(); + t_Plain = cwc.GetPlain(); + t_Binary = cwc.GetBinary(); + + foundHash = true; + break; + } + else { + foundHash = false; + t_nChainWalkStepDueToFalseAlarm += t_nGuessedPos + 1; + t_nFalseAlarm++; + } + } +} + +bool rcrackiThread::FoundHash() +{ + return foundHash; +} + +int rcrackiThread::GetChainWalkStepDueToFalseAlarm() +{ + return t_nChainWalkStepDueToFalseAlarm; +} + +int rcrackiThread::GetnFalseAlarm() +{ + return t_nFalseAlarm; +} + +string rcrackiThread::GetHash() +{ + return t_Hash; +} + +string rcrackiThread::GetPlain() +{ + return t_Plain; +} + +string rcrackiThread::GetBinary() +{ + return t_Binary; +} diff --git a/Client Applications/rcracki_mt/rcrackiThread.h b/Client Applications/rcracki_mt/rcrackiThread.h new file mode 100644 index 0000000..74b96dc --- /dev/null +++ b/Client Applications/rcracki_mt/rcrackiThread.h @@ -0,0 +1,60 @@ +#pragma once +#include "ChainWalkContext.h" +#include "Public.h" +#include "HashSet.h" +//#include +#include + +class rcrackiThread +{ +private: + unsigned char* t_TargetHash; + int t_nPos; + int t_nRainbowChainLen; + CChainWalkContext t_cwc; + vector t_vStartPosIndexE; + int t_ID; + int t_count; + uint64* t_pStartPosIndexE; + int t_nChainWalkStep; + bool falseAlarmChecker; + bool falseAlarmCheckerO; + vector t_pChainsFound; + vector t_pChainsFoundO; + vector t_nGuessedPoss; + unsigned char* t_pHash; + bool foundHash; + int t_nChainWalkStepDueToFalseAlarm; + int t_nFalseAlarm; + string t_Hash; + string t_Plain; + string t_Binary; + +public: + rcrackiThread(unsigned char* TargetHash, int thread_id, int nRainbowChainLen, int thread_count, uint64* pStartPosIndexE); + rcrackiThread(unsigned char* pHash); + rcrackiThread(unsigned char* pHash, bool oldFormat); + rcrackiThread(void); + ~rcrackiThread(void); + + //void SetWork(unsigned char* TargetHash, int nPos, int nRainbowChainLen); + //static unsigned __stdcall rcrackiThread::rcrackiThreadStaticEntryPoint(void * pThis); + static void * rcrackiThreadStaticEntryPointPthread(void * pThis); + int GetIndexCount(); + int GetChainWalkStep(); + uint64 GetIndex(int nPos); + bool FoundHash(); + void AddAlarmCheck(RainbowChain* pChain, int nGuessedPos); + void AddAlarmCheckO(RainbowChainO* pChain, int nGuessedPos); + int GetChainWalkStepDueToFalseAlarm(); + int GetnFalseAlarm(); + string GetHash(); + string GetPlain(); + string GetBinary(); + +private: + void rcrackiThreadEntryPoint(); + void PreCalculate(); + void CheckAlarm(); + void CheckAlarmO(); +}; diff --git a/Client Applications/rcracki_mt/rcracki_mt.exe b/Client Applications/rcracki_mt/rcracki_mt.exe new file mode 100644 index 0000000000000000000000000000000000000000..2de1ad6dab4e427c51b94e67f30e065d19061c19 GIT binary patch literal 289280 zcmeFae|(h1wZOeeHn_mTuDWW}SYv&>jZLJf!F!2|Z7d1I8gO^>3oE~DX}eIW5fY)- zfZ!&Y^~q9ti&k&dODpZQUT#aTv_(bD4@dw35!(u4D{Zw-OjPg}Q44v$XXe?>CPeRh zKcDx{*Ool{%$zxM=FFKhXU?3NXXe+|xw2d?mz#fsgD%%rp7LL*{`={F2FRXx;S&>G zTgL9aXlq90-ixZEi86_-^1lAfyrqpd#bAE8_T>ZT3*d6-0`q&hnfB%~6m{-65 zNIx%)-F|EW?-R?jk2UJ_wZ~lgd5^{uS@eyl;2znMP`S%hnUU>!@Yj`JP39eOWoC@e z80&I90Y^5O)Zl}eE|;I*`-MxT<~K>%COh?XwZlRF|LpB<_*uF}14=n5te>feF1c}% z+ZB>utKF_G89HhBpLK3m>-oczMtdtg%{{!YpmY0Z_?*I%8os%rf#0ufr9DEIv{gDk z?Y}&iYr&+Y3vX<=(d9buZ8D_oQJzl=4~G6Lg&~s+n5!&EdMSv`=J`*<5dzmfY3Z`1 z-ylo3l{UNJp=;_XaHW%$esjsq0Dk`SG_F`mXK#>1~VGZh`r^Gb+}`lZnBp3w|vl0=KF1?@3$odJ&j+Coy@rP3g2(PlHvR9 z_cBPxi=E88)gl3a?`4wUi=E86^-L17e80UWtDvJ};KKQ_of-4G<`=im8(IJ2!RXFk zO>-^$iBuj6*Z!paD`l?Y?V&`ODLcjS!jS zta;MD`_kK2m)1akS_8dyla*Jex)#yO1MzArXYpXForxLVh||n?I1p+LyVV~qavJGR zHgbM?D~D)6BHS6e5lfCubBSmis!tbJ{kCeJ0f(Yx<9%n;eqk&DKHQs%mP7 z8qsXMN0Mnr@tg5Y)<1Yvzq`=odc5K7X|BXJ%Z=ht_fB%Tn%jNNr<41%X4w{NC%-8m z%CEcG(t0Mo#d_7GO0}f!=OItQno-=IxW?7m?A}OP=~c{qu2sht57s1_EiZM15^dHt zzQ{L#*Wy65NhoQvelJN=FLAjN4_Jaj)qlq2dPa0=$u?c@Qor4%s|>3x zH=8a#oFwT1OGs*cK<5K5)C0d>6CP2`1|DeLtOs6xnLvJ@X&v29i}MEmbPxO4(yULRIt9BL0V zANJkT$_LJnt+Ikjt90uRt!w`6cyHG89Ur;v&f>uibzxR#yvfS(HMhgS z;K0&sHS@cfE(U99V)6+Z?CH@ z@+bB9xjrYpC}6Pfx`5`k8IgYQfMCyk{8174ZMv0CZ=9x1FEE4fKB}c_Ht_Ikk#FNy zSanbrofv;W=P)uKAeq9F>q0(rlijLToIBKYsI8n+XrEzvFF4@4F$gH$HmOv?YV z(-^XPAVkZKGI7P2xMJHqy`LEa+GbsC@dv>jzB~V0DqiIe9=$bN%>sx_A%^j^frmyT z@4lx4MG=)7)#SIdH!ccp(MTwj^J%5rMIrU=RH@>jQh!B@qY0!E2DnsVcLtwJ)wg|6!4P-3OR;_}0cz?#)b8C!Byk)3MKR^Z0r6QziH%gE$ zeavGzwaHq7C}}lYda3TvmU&qyj92M#HOWb-B!znFpVr!Ki`Ey*7$8>t>M1w)TD+3I z%~}om>quOprk~?-t)4R1*YXbiMAIcF)^RfYIE|FP4>5@9RR|~qFvQqefiOrHj#bw} zs=Y5s(tl%4t}&Qhl=a>Dq+oIsmQZA<2t_UF`8czk^!(SQ)^rw!qMM{Si%h=L;c2pZ z7JNijlM*Q`9bImNI~qP?S6czZv@oK+jGh9vkfI^=yhiS(&vL`@B~~H-iugBKZ8aIa z=bk`xuM#zy;cMAQYhXfUL_Inaol<61h8UC(Ad)=})on=|M8i&wsO4wTZ=Jf|^3mFhYM4xqYQf0%DZV=0KECxy+;)-QO}gh0BPA1<~35pD9A360rTCKDc8d2AIW z5ZmtMb+mc3`BUc6@u}`;wpN1$2GoN_8c65x5(*=Fo5%^PKmSJf?3Gz|y|s>{2w5`A zs%n}d$z@i9%)DY4s8Z6@lSqKm+yy!OtjLYGS&vBePjrs@s-%YUoJlyo-r6LYuac>5 z7l=x0PC=zL+djIrWbNOk9PjP;D9i3ND!1Ey*VlY5;5}s)SSTT@z2Y}DbAJk-`_6}p zVsRw7eA(yB5GkY(ZCj$e0e(0m%f;{B&wk9fMKDX!M@cBEME-ierRB44N771=c{e%f z{@~kM2AT3D6@9syM>m*~3QC&?qCFz&n+A56yl$~JkT*ilYI&_R@)}m(XHjKWYk7^R ziwq8E%?%BcSC7f)UG&l5plXwbimd$*Ug{Q~cji!wC(3VBx%!RyF~H34)E)!vlc82unjqiY?x;Uz4BVC3fKkA0Hd@(~|68>a*{Zw2=Cmsj;f~aL=8RrLjGvOFbkIv8M&I6j&>0 z!|GB~ApVfl)pMuhN}1M&B>RRT%RRN;sDC)j$c#tla(Vnqb29nqTjz!aRHQj?iKfM}wZQ4|#>g;{URFS%6A`{hBg2~lT zws?@TWmZ$@aaR~S^b!rG9`XXRO;4$QJ&sm{)in!s-)_!ee!H^8nr z;gT-<{xA3&JmLHPPk0u8pdLFNY1!)LMLi-vAMx|enA6&S!i9b zo|+v)`AG`8;+Ne=3N~{d?FjgqpCb_yb-X%@$<;x-ev+<3)1Gmbzz?q@Y1fWdM{Z0N zYMUf9W=xO@MeRyuePff}g2B;f9l~?p5S~gaC)k!ofM%NS`+~e+Upn(N)$`K}=Go1Y zgook#t0EzF-T`Pc{6AQ*kEL?nDg4(ca??>r-BQ)c`G`yaKZ1L&=BInFFjQt#R|c*H z{^j&uirT5Ei>?>N^ZEj<$YM=a$O!Dzu#!fhZ?yE~Ck0j%25Y7+R8+tY?1+NZ_U>51 zBkP4TE9sTM4qc&l$Eg)=#YRr&0p|0X9c9oY2K00?ZQZ$=2s`km;IZ9r3ZD2`t#r%7 zZT!*03F-6j5f&SJcryRx&QY&3k;DcDMGGVd`!c_!c*!Q~2oG(R%X=u=EmS=F%!oW^jPB zu}@Lq3A}0sC%jtCqje4|wcj$76BMOd{# z4z%gPaIT0}wH1{$!bX5q5mfZvfut?YU|!7?VxwU+gmtlcpDZ*)<0VYF=|xU3UYKQa zMIk?R8h?7f!cR($TEt)fT2jQz)EW0q_X82V@j`;6?cm+RxB6bN=r=Bg(YLb_Lo-^YUWUg~MAbyt2 zdFo5(bKMPBm>*55P<}`^ydXc?EZq&~@OyJcUsWhtB($I5(EbG>;!`IRHCwmRnM_zW z80e5%uTh8%&}L@H;p>JCFp7192lwNe?J^2eW_q}|eeqzZXS&|Bh))kh#XPn}3wc|o zyVVH>q1}Cb3Vcu4F|a0xsd4?m~x7g3_M|%;LdpQSOUfP8~hdwaFf`_jOOl z!TZ373Jkj|EqAOxr^?o5Wlcq*YB1PYTi3HjmKgG1)93A5Jofjz_F!-t7eT&`{>uqQ~knm2TWw{g^uUe#-UN|^bt+ep|2y=-Q3P)61C`$%Q?%e?owEFp3 z*jnxJ4{O7Swi|O>T6^gTl18mzad)QJaCunHmJQEiODuneFaARY0~V&=MLz_5Z6ZUT z%H$*P#9{LPpreKnIK<@P49*jbLyR2G}2!6re@9pE_JXn62D`P!A_~o}2aI-R^VXvY(g2*0R%waoSrMeUb9Yv@=r~(zuQMlz zc8l2BhL40pYTc|X_7XkuT2oZlfxW)yS1Efv*6$f+o--Mw*0Y87F|$89q+HlI%|WZc z8>@J*q(vxYaurHkt8x-Q=Ha?~&KLaZxZCBL5qwJWo8HoUr@6z|HGx#S!&PrZcl0RuEq}wdO{IZj ztIl5K53BEp&$QMXQ5l+c&wP6f(~Itup6Rl-Vj|EpfI1=+ZTAe#Ekb}j%U>|dJBr1r z_qPr*fq^{XJt2q+o=dpz9$sA5lZ{(a@|m`|?KXnB*sbP3Sn)1|BiPa4>2YmD7Wy)a z+aH!6aXk>@dO07Tu$7dpk_=LW;| zh&@5@gnP1OPL%(8vIW-sl6vGnwO0eDv*c6t2W|h<{NPda%f=8q>t56@swzuYpU$#a zzqhu|zDlTS8EkYH@9I0(*6l8ME^T%$C( z9I2|+yESSz9^Ke>|C(+gAg)nJY=E~bcoMN319d+U*3@ceS0JPoGb{{%mIvJxnwPPD ze-*SI3U=J;SNpCLtts^AJo^gWO#|d*tN$TS;{-f}@s+1O&^U33NQlL-|4xzL8xT${ zzgI&U;`zz)n`Z!qV|3*Al&u2UGCoge7U>-vl3Pt@Nd2BHt*2r;2MeYL%-ZVD(=%NR zs=$ocps?yWUhU~Q!JcK8*s}uRItJt<##PJUt=Bvu1FOcqDUg`%E~(8~YT2H?&(fc- z#aDsLzjPehq+7=B{4OAzU-r({+)DwND@Z^dpy?|s3pa`#;Z>2Euv`yhS3rr4l?{$a0GZhKZvVjinwiKEHt%e1@d zvi=~`mpw~5&@W04T(t1~Zg+5q9@9+Z)ho^Ow(M#gQ`|lmLTQ&r1Z_nCs%{ECw|wyv zNUp2k`K*s(E3|5!?Pe_`c3R(QiP>&#nm{*~%Z2StvJ9CpvU zp`b%&VQHkj4(qS5Jwsf~2+-1o3RbkYX2*67!jzr%46#YPiJMut`&rSIqx9?@iOFKt z1@6w7@|nf}ya;I5Bjh%`q{*FVKd0g}K6td@l39H(VUT(KODEbh5tMmz3p#F)xqzSc z-sH=?xzMkZ4Oy$3EVm10V#(RZ8a}6Ipo{3kDmw@6PN=I|%uM)~O5IacYOns`zJdO7 zX1s1DDbzuy$BAQ#eGirpFXbj)%FWO_W&HNxI@05JjmG7fKkDR@vI)?Cu*(>9=s~UE zMzd#8jUV(~5j@T~th$yy#&b_^dV<-acN((Qmn2bQC(^y|?{vI%Vb(j6j7rR>j1|UV ze2BHP(YQffA1Gav)|$XRX!l8=31I`d>W#0;e(RzSwB|k@toJWJv*mDu$3CBhh^z1Q z;={pZUWQ{AVBpT1AFp@Mi|32q*W2lL_!TC{Ti3&alclrP{>vd+ntAJ36*ndQ5;S2Z zsQAP<8bnVAz!~z!sv8APV8#q<^H(K#x;xm@@MRfB=zoL(dr1}#erKT=2_r$@#=AmV zE|!}wwO(^IYd3&ErpZwS5ItvV3@*{vFj1l z)beJ-bh|bO(TaT}65)PUhNH12rfDqDr70{y-c?tFZhHHg z(R9-dT3G@$G^Dlu#VD*RnJ20@OH(A_1A&4rqk5sH25M>&H)$O>)~<1}@Cfv|W#J@R zF`E>a@ds>Fgdr!ZE2}3|@N78ig@_ts&=tT|qbH{amS)-CWh%&b&DAPq7%`9q2DhN` z5TL{4!vvXb4er@fWA|f%{d{Z61Y6U;33)e$*p7I4zn+uJ-!s-&{F_JZ3&i%Y%RTXy zN&*~O4(pMYG(w(DGeVrvlpLe!S;i^(_+90@T?IQ?p2MkkskM|qnAq1)-uAxdd!Nv` z&j{IYq{c_!}N+bEhD^ z-C~!4D$z791I=);Avih4y3~c@>C)7P)l#Mz6oaiBVRVXFzGfZG8i-#ZCa4*U4@+x% z*9+HvBMr6_LVB&rWYt-#3N#w`VjMc^FdI(=EB%g}VaOO{^6|xb;ASGRfkI(BAw8=) z=#eM+=Zeq$hcVsYVmPr*nj6yovF`GJWTkZQOb2n=KIYRvx(bda?h&-=c}6U#baU-S zf41OBY~4oI!@}a=@rHBk!9!erq4P{>&boe{0Z`G~ht7R~vxUBlDjA)96am-;E;8wm!wxXJU$nj=~2CPezwt$X&+IG z{IzX2f8z=HYyVL8z}W*#h=;5AgZMr2o`}g?ZE6$k7ALgwruPs_VDrhvnUc4rOMcbL z&e<)2DjfiEEg<#|nc0Tq#Fzv+@ZRX>qI4II7nSVj=TIVDGk+Lg*^gqzp4~?b{mEP1 z_R+r2+VgX^{@0_AK6?D`_Os9TKL1AW`DGJj!+5ZuBY1FmR$}tGiCGy;`i??X&%%Xx zxu@@+1k=p^c)2P?>xUTXnd(<2Z|he}OI=+yl{G4RuD9jzt$DHAG4rzR8EiWwX1Lj; zE%zj9GccYA>qngYI^Szw=MJm;b&A`b=>d|3LfjKyo)e!Rh@F%y6B>Sx29~;PBR(Oimh)fyk zwKS!4gnhU~U@shzb)nWn+1OH!qBE@4f5X}`Ha4x;P1wa~Tm-q82?S$yH2X@Q|G0*V z%}E;8S3@?|Fn=GuK2YLo6Z75xiF{Ti*Xu`Hb~Sv(# zFfpr77>l`pWMeU3m|Wi9%`}aTdLzkVFthlaWS`krh{4=9>JopL#jLA;0e6QqDW{;L zCX}^1tbY9^qXb4>*{562j3>Rgm-Q#(sAQ$s(9c`}jpc!Yo?sUS;K5Yuo|V?+=+-R+ zq~);h&W%p%J~pkJDJAuKAmzN+#4JhcR>fALur9N|>+UN^b6)7Bz+9A)-7PJdPe%;B z#df$sW>(|1BHFdMG6G`o=VbLIo7&CXF8a=Cs(3@hPcwh6!3e_i*JOL;6cujqy~CV% z#z?jgE;=j|aMquLCmJrby9;`73k3ScCnKnMNlc!?0`1=bGPY>&M596!>@K4F%=~dl zx^W@SlF{c6yU{~LPGdh-TJYmrzk<%s2)^4e)}HCDRgVn}4qj(Wvevo(h&OurUPdL` zD?OM&K2`JL;9$yLJ63$Ss!DxVw$6rIKd;U0694w`h9bfj&HjO-)5UqdnhBo)Ii!V9 zL9y;!48WIeNV(AU`jIUGm@&JmHu1YsT3viN_9g9s?+>Ye)Im(I*)1NRmq*T zKddfDR`IIIKGHgGzu}of{E5ab^KO_wH>u6UzyFE!?hlSeuQh^RXtkfC+x9&rCyv(L z9mr_)m&V@AXnfzkOPd&XY7;{Tva#>5RvQ^V5~HFfahF&Xp~PBw#P5|fmD?{CMa`NX zF(m2|YvrL%Bazjgke$ZQB17MZ&4{6<8GXlMT4Zn7GQ~)qaY5T}6{z4V4WD%+&)X-v zA>K7_i%c59I~QXj__2tby<=|5QRC=TBY%xU>r2^!`ULrF^x7Y$?;aW!kJ+)Zh z#cckkiJ#YWTi=UX2*nl;Fe0yUsb_zmgrg&jB>s)q2Bxf2WKl?De*NkYai3rx5)Y7A z}v9^sL633F4r5?N>(^VCf(>8>)m06Zs9e!(Y&`H^=_N87DvzEl?O^weh zjn6BK&#P#i7gfI|GyYI3$n<SX76C0c5elT=u|X}xv!`#t3@X`Z(K z>=p@9!C%$YaG^|p_EQo?6;@yV2S&s_k{3}2nD6i=*e%kUQ2aqjjXx-G@dr2XSN&Q8 zxMNQV2V?-wtPiUPOrkNAbx!=j)#N7{D_iH*tEY2l%-Ipu2$(*5f<7o|oI>GpE2QR| z!ts?;;&Ugr&b3M!a|JD~jq+qp?)>=NoO!KtJ#(FHMC6b46+&lEUtqh~Ok7ndZdH5U z0(*L8%V2{$IDj{>=wC8jC37rqLk*L`HR>W>*$2c&7OV&m9C14D_`|&R9Wn+(>W{ob z8L$_r_nAR~rEqYzz`iCk>i9Ti`~KZNt?vo`{nehez|M$|yMogfGz5rG zm=aQV8FY3}aMgmwx8~o#+AuXr*Yr!3j>#8q<}fB&{u$|XQ71L_CN|&oO3*DxeTma} ztE!DXW0;ObUeB&}Foqb!0>>hG$rRc|GNNtFotDo4w3k-Q{eR5_W0! zcOApFLr&CU7w%P8qHLloK*8_Nydf*>4Oq(JMEBrCpH{0LDa&*%&Rp!OwGXPEFK4=H z)xDAeS#Z8kZ6V3Nt^$4*CdzgX#J1;M1!=37UR0~@G3MpqT|(?oD}8N+sF=RXR^J|V zHRS4<8-KXWz~$~xvfU5k^I`^vIPcc%kg-s*(u;@q&y#88T(8~e3eNTO zzE9rSbEw5epM!7teU*uNC_XH%t>VL|)POl7vQ;_`+qsl}i?!F+3fs$ckA>7$M2pu- z`Uv}eieukT#=f@_p=5tKrhTU@W=g~S$ycrP648B?LM%F_q{*71k5O6C2jE>u9YGRo zI>HnDxM3O+k{7Z6q^2Pbbt;R_LehJhb!mD*)&o;yJpiJR+Dog*p1$U!NTaXqa_Of) z5~NasP9HTObcW{K@Hi*oFWr+@DBUAx7)ExF=;tZv=MfepI|m2Hu%6){QL0;nhpSg2 zEEA#|L^^IP)@0VGi7b4J2kUg`n%27TXATSV27LJS-DTDSm%5=BW;Iz&b;K!5%0zL=RTpF*|ZHFV&`$g<@AVF z!da}(77wy5D#3ymzKV;d+NzE`(@wMWPU*|CMBDC`;}QZ>M(Calo=o-b-v$S@3f07x z5UZ*?Eia^U3^z1`a_Ps}WG>MHF*_99Dg62()r)Q)o~O3!LFQ&p;j_B%mqq|Y`=#)E zU(|(D=%<1{q|r|eMRVQ(;(&pmbb6lp<_PpcTRK3rR0`kY6i(w}3?AhU>jGirw5;91 zL%uefF4z5S#utJ3@S)n88c}}TN;lmrhgmA&nt0Ntx)>izG_PidRKKoG4*4}Cm%Fma z;(ZQs8@*JTx+Gm_k=MUHm8MVjAOJ~`HD~RHNiAWh062nc4#T6;kCJA;6iy(N=#@g$ z<`O8(li{Zh|7XU~)L5Su>nZajTL%_uu|`jg*-VYR%=F-mso-B3|4R8cH58FB=>ggs zt%s#yHD7bWa*nWR{?td*(IP!+iVth{B}@c8$JGu}5Owl<9z+Fi=Rsgi(xuQ70`LfF z5~I44ryBQnt$h@2GIk9a>&O7pBl0kZ>A|#KpkIEC;ni#jbVdq%lL42i0B`33xP(Qj z{~iL*{9gu^xI$WX`PTNZkmq-yv;JtZatD1aOWbfgO{9iNlQD-0MJr-xW`7}VXclUp zOPe8m4enmrCc`hB9H8|oh?S-XsE*ndqG{fHG%rhqDB!d;GkG{J$^2zhBgJI5I$vFH zx&nL5!yvDWvstENwJOP-&A&PPTYzS$bkJpkZW~qkBR1zF`9b)t`5~dU@7bM0i!5UL zr?AkX3z3y;TtodR0YtMY<9DpS2`4;q+MF3HRwbp1K+VGNI1;9L1OZtR=z{0@Uf8^omK4xvzOYjihuLEG!+B z?;LF5kia6T1d!OOCE|@u9X2@cbGq{UM0Lji1oy+1Y?P~k;tzd zrDe$@k^Nu<3Sf>zI-KHJsa`PcSwMAj(7!~MoGK3GS)G&(Ds)(muk9VSMEbr?JvkW1 zxqY*v>qMP*7eJaJ1r?VoDo&Hb`2ry)qMm&latr|XKRD!Y$RRw8oHEn$IYR3aD?d4^ z@LqfcG;>%UelgaagM1rLL2Z9Too;aTqqJpM^wkOxHYMjwuQr)pF!(i{oIUMY#+BJtz6rme3(n=0+RNq$VpI zif$IpZ2G)Z?qw)wt8&Dp1&--4jE+hj6}k?0tvcV#y_%jr3Eh`E&5Svs;!xBr%fyMgq=)E!(K9--U9>sZ z=NOb`%xuxQ=a+t@d=Gu^Y z7Jync2I|osc?_aD%^b(Jb@!cOnl6xLfAmk%Y>$}JpydvNu-arefofYK%Qc=+9%5(C zc8OiAtH%~?HgI;ErTcrhP>EC^R3CjtglY*ddgnN`e$5{`ue_!|kL)3NlGyPP@-&&G zlsw6j3|U$)j}KAPdB{`l-JDS(VeugHQpyh|BUbN;_4=rO>vf#Zx^9VDkHa^C_sc8{ z?H5!QW}X~x=D4scQI|(Xl(MQH15J_%n39^BNh_H#)z^Y=l0bYd#U`@F@weKvCs=8Zl{ zkkfl3a~W}8vbfKcEd^ban?PWvdS*oNUrF&_dZ5&d!Y$T9e(Q?{Li`A;Z_p}+RPkZs zI@_l6QEj3>P?Z9N`7Xm-t4fiQh?-;y#kc7Upk=Hx4NL&XE?hX$FQ-CHXZGvwOTk2Em z_-%Lh3TN!&>a*Gtt_8E2l!*PT8pQXjFAiw7>PZSEu0wy2Mx7#f=$2M_FuTcPizU(( zziw)>iSfEp)5`daviR}}m3Iq$yo)v_rVoy6=GPHWd-(!;7LgKe+AB><+*~Q`1;^uwTnh_PMEOiF#~_Ay}UBkQ^}s)%>nx~yn}AyQnOVjvt#g24Y#*^(D={l zH@sl7Yv1WF_$^#0v1KGQTm-XeC-(uzDU0e!{caCQ~+y?-TFC;8KHyhGYdtX8md%ep7 zNL`&s+4p5wJ!=oBZhpj9x$Qc4{L1Ngt=YwR+sSx~n54oHML+6z`@*b`fK88fX3>AHDF1oh;5_kLpDkto z*?x;ZIuK%zr^Miot770!SEUx z=#C*1D~%>~^F_g%4J5za}NiG?1$2~?y#t0Gd)9Vr| zJnTD7&?EBktHJW_&*sffS#;v>ek|objP;i}#+>W}R5%*v>YOLqegAM3?2mnvu`IIK zAKic=OR(dF#?cpw^2`(Z^k`9WBI79S7XPqCR<&fQu1ALg11$+}%GZH`zhf_|G=6ms zlvgBmRBU@FC6H!6H#D?_iS>sJiK7M!6GL_=UjB$Z%^RP)nUN-;yjlh9945u-D&X4D zPLn-;&A(Y=lcB;ZUUHdGVOclpP+^^WN~mzl2g`kgz2+hl47YgsroM5A_Y;TlN0x7L z;@#|Pz1`)TSs8DRn18s;_Q%UNsux7J);uCh9|KXo*`B#sV%&8X$5(DtegT>0M{+cZ znVZ27wh0MF7lrH>1tcLLw|VVr{UZjSs5USssxvdP6f@c9j>R z*`^aiqh_<{i}FnguaUcb32$rs+Cakl2kFa#-HAYJyviS+=I#BAumn;YH`yyU61S>s za8bBcT?8V2=qTCeS?)_Du+}7RXT2!*W}58>IV&Bz2c)z;l9;()^>q_hN${T}mHX`~ zf1)CnfOxTYboj4U+r<8!s+5w^zcu^SZ`n9@ki@3>bL|`a;7Z)~YGUqwHBKmgw(lD> zQdsb>k`;!7+)ttQ{mD2_C3^V+Xtv8A2_v)Y%^ApfZ zyI(K_CsyPp=5A3xlecHpEXs|D1JDt<|8Y9Fbwut^eA!iA2pc8B>?p9KguSl9>9S~- zlwr>c;|NwG7+u5S$xJL6dLTzN07(AG>C%ZeIa93IDung2-7rAMz`SY90OtRr-DPrc zgFm8Pz~&aI6lfp4RPe6pinp@6~% zx68ewMI&BBjn}~pC;Vt{D*VW+#)zC~Hod1~kB-U8ebjglL*JX}Dz@-b^w&G=&3+hf z+!Jry*;B6cj_cf4Tj&0s2q~eK`wWOvS-{Us9B}7Db)tO#kZ;`yqm1q(5})`E3aEe3 z4NwY7M7*!VZro|F+yiURbmF;G@a5r6`6qFqtW-LH;`d>7!#P^CP6=nxVtjC-7UPt% z7JJc|KjIwG!451TfV<(_;u3J`i}mKlR4#L8g}umahun6($6n#JXZzz(HP1o@cApF4Nbhw+ER8`=8M7XBvI?va$M<;D{B z1`ixh1QVj4d?<%&%@IrTT}8&mw{i~50PQ@xPgy9Ey?kRMBrN=lB|+nzRF(^-z(c0 z5w$J}D9Q1Mj_|kjA;~KFrEpj%5bkoxZW3^a@rhY(!+RB^cSP765yP)=v>075xS~|= zXK`}={({cu2kf04e?eEC%SO$)-V$PY8pkje{0$e#-{ljQj*+xw*@^l=imk{9o?Nwq zsUYnjqhqg1xF@2D-H9T$cYLRPyj@xJzVEkXMITDgYMyV?$NrAD{hWRuv;5lNq2)7T zI|ebXEE?ikaV100%G%)&^qpPf?Z6j(zpebDJNQzgJNRM4#la7kk6+3gghU7XvP)Tl zS==3Ft?DjrmqvCH8;>7`T7AE(95XiSs69P9YiF>t=?w8iWxW&ZzWtBEeXB5Y`o;uz zH|@4N3pxvS2Rl}_Q!E$K18e>&U;VH@N>q1^5&xO*cbALyx&1#%W1Wn~rngfSQD4H{ zB~?02*AJq_8o2Z1@_2FVN>|;g&v*RYooJfqu`jo~JC3mT;u#2jq0w)bdHxZc;ch%_ zR{Zjo4{ra9tUlq6|GJXk%0em9Fwx_zhtA~ALtQW@I7t`G4Nj-vSAs9b&usb&L=2xI z8NUy9rY4s){R2#SNfp;@9p!C=zfII9 z#}+F9jJ|L}?Bxa~^DfG?S*rmmV3Ti@S@Q91*x&jHxV~bU4V-ooRG(i44kjM!PBwrR z@-NE2CF+s)Gh7(tQ{<-J9BRu@_ezR5jGdIs!LznJ4^A9t)oesX2G82eYob~2VoVatbE;JtiB`5GD)(qefP*k6|S4bkmX% z_keyKbdWKX4yTukc<_CTJ4L0Z-+dGMNi#Lj!^`k+jJQC@Sm=$Xt2Hvun{$=sW*eib zQ#S|=9qq%lQ7ym*?6*Qzt_JfsGjArIzv~7qZPuteN4}E%v4~e zAeuy3@4R(_dc>p_lA4dc$mQ~goj4(WAju4)+PbO;y}OB4;LtBr7d}VDtcw9Jvkz(v z-!d3XQUiDEeW)>9XOgEd--p1kO)xZB73#q&z_7&P0@soUrIEh1x04lh(Mt6yj6;BF zXEhBMwUCX#e~!xL*!KvqaK<7z5|&%bn4~y#s?Pr#0yBV5O+q`QP-b%DY&@9jqDSX` zMF#%@iH|uVNCwY(L=Sa8$j=N#>xDa;y;8NOcQpVsysYH_E9YH(W2w8cV0XudS-RCn z3*PBCnH4-{A6<4iIYMPC1+<@=2T?xj^{tY|C-Kt~S#fw`-5#_+MIXmP;OxIp5xAxh zXJ}v}iDtd~qx}tPU$L$~Kdt^EsXvo4g|@CgGk9#-`1lla!9ro*Khu+f_|I(E0F(=2 z+;2k3PMRN~<%Md>u?!c3`vGZbH*hd{TF|h+jYvY-94{=uAyNE6$3P|;>duwYs3vQH zec2{abhst}DJ$3sBZ9|>F1f{2R%TZpb=&Tvi|L2KKcITy=)_QTtJE`3*CW1ABV79n z_*g_{@SUX-RIw>-(gVNFdZLn^Ea;d{N1 z@c|^XnkzL~d1gX;q5WaO$&SIy;79g{%f`og-0=*US=e`J@E8)ZZLE%pD3&$f?Y zx@0kf7j%ea77+WXfa7t}#J7p@d4otGx+Vu2^6lJ5L$&H@Q3eF7*gp^)Uk$#oGOHZ! zy(tZeb^Ey=ERfN-jYkeQs9jAPDK5I`J^}Zw{R@BX%S1gSt9gZLVp5GLNca6AqfV-= z1;RfGl+c2ou1dZM^#4(n5MfI9ZUCDwNuJ>docTRJj4G)^Yo4M?`cKoX7gb`Sw?xD3 zN9e+IX@!b?0c^xrNzYQ<=Eve zNe|NG3dx-J(IU@{5puk2@$CeM-r^I%i>TXlW$vfM)sP%x-0?3^SbW=g$baMrxNP>h zpq=t2s*CearaW>#dG(XBcBEbR^H)#v8~|O&Me74^5Ll+~K&@m{c!&q=Vd9tWRsWsJ zijp4cFfV5kkp2`y1yiV3p$?EQW>(OttiJ zTK(j!B>9(m>>uyvN8gw=UGmhyCsj(JfshHUzS?0EoTO9t&?Y+hVL>UKEbHA=Cr?mM zO1dJwK0SS+nnrr)@j0|CvCW!F9)yT-?<06qMvFW2%xuZrqK|MmnSPbK9hJ1*%|}tT zS#wM&S)`nY9?(!MjD+prNQ#;)<+Z2^pCf9&TX!H~1(E^yfB~0W zk<2Afpe1uQKjiwnB)DV%9yJt7u7Hbw1aM{=esKRq3S2S(5Ac8($rW(f?AF8xuOn(& z3S2S(ujB!^G7J3f{Hj=};I=ydd_EbcfoeaG`0ab^5#8!6buPFW;VYi5Zaox;gUv@z4~ zRgySl9f*TQTL<>%p)6@78LRvZQ{Gr8Voy&{gBcp7PU6NbPEnEgMp_~SS!cX1$(S>a&80Dj)z;Wa(+K+FcF%2M!eVk$(ZY<@LJO-gjLB^xmJX(3EO%6nxKr6FWg!snH147X@eW^I#3wlHdlcB2JJ$e&wf-LJLLZB(4 zp7=F5Oc;NGaW#x0ZJ*%s88|5t>!qi2LJY?h{9D4mdi5I&!31|$i-Sj0NQQb?QmUKY*Dnl-xGHYQif}&kMZCd*ZY4s5dfNju@%{1il5#JSLuIF(InMs$=6kqel#^rMx zejIW6{6bhz#0$5g8;f7Nd}IVBT|SrTrnuEgG1D&-pA70FfaB+1G!7g;M{$3I)G<~W zh)J5`=iL*+1abUaOunT+FSa?0^DIpz47obLGf15TfxFuJEC9Y2p6MDVR%mfCHm zsUlaWG+^LY#vL}?vG#N(5l?(xYn z6bUCltUW#}KH1|_4>~YSp}*;5S%Kj3Sv%6>!+llSScDPtF`}ts{h61 zY96wx5Fb#;IDd>K z7ypBH{!GUCbAzv03=E*9R|-ZME<%%83-1mmYBD0m`?LRJ2sAoy@{srEQIndFF0`1~ zavbl^4^46oD`D~7Y(hJ-63$l_Jw?qN+ycD9(d$tIYLXi8E*Y&HmSjesqt~|yh9(X% z{Kv&$sOAdj!zE@xvUa_wUcKUS){|ygdN@VAYHNvb`Up5qS-<^EPl72|P(_+6CX{pq zRT@`J(iOxK7%GJ#=^1(I^_%poS-<`0b0XW0E2z?O1r<^e?3}9CZvrdpxBDPc)^C-n z>mto7E3N**q$?q_LK!M;GdgE;m?c16K{zVwDeXRP|VsgT)yXi4}2YB|jv zbe*nC+(Aa#(%eCoDQ(h6bq6(2tUkn_95}@C8b=_)g<%#_7Z9SFW_>88HnBQnwGQ?A zF5C&KlhjlaMjJMnT!Z^xl3Z=&IJU!fn55;rMhE* zS-&ypV%>O)T0Y?H4b-RZPSNq>>$PI0J0{!iV|L{+Zo@Q5+=OYqLn7{@B9O>)E9JxL z_}`GqgIKdu3Ysh{>Hg_s2Z{c(Z1tNs>9l_}Wm~VEuGuA+wz* z3we%k_AI`56lF2Uh81KPWg(t}bZ1Ycy7vNIzwG(ZE5n^VR(F|I%!(SDACJ!zsaSlx zv&G}X*>Zhv_y&XCvU9gm3j-OqxAyja$ncJtOi~B%_zZlK$7cy(GWKE{8KJiAczl-N z@rkZ}asz2DU-Of0&eJqOj<01iKhs9;BvU%!IDNX*4-e7e0p2%L((ZEP{WNtg>Bi}^ zT%10)i_@oPxYMW3ar(UUo=`N3)8|fIS<2~SriuT9(`ULV5BmbEpV=fFO?Ucq;q+-z zSnD#^}NEB_N=edbk?#Od?QetzKe>5->)`qZg+Q6z|k=q#~>{{umwQ}@s& zVuODvD8;#xtKXeYo}ju(7rjMJeR|GBRY}fBw~v_fKJ|4z+DubZJ{(~i2qn|6F8Lqr z_HimW9RaWAat`AHQU@uSDt6Q~Pqf$>>aAaE*N^rVi7KMJEP2jUKhs5qyMCldKs{-S zq`7{KkDK%FrY{`VkM=k^o<`P6+YNSMv^X~Y!2^E?2ebJRQh#_ycO&4E0r&t9h>=_Y zUqV~8`(!ph!s_QKaLE9Cbl1;%En0m3HU*wzzymzME*uo>A)cC;sr(43iWInHfW49j z;F2rgj_b!9tqQAiQ{bQK`oWf?d_=v$W)L1jlZY=tfMv3P?ju^ql(5|g%r_FIVU zurh~nku;KwH^^;3jeTUiLC0jf#(_$CgI-Qc#2b{8@&rdonjsgG>A|>jzF<;EE*x?sxmqtA zWD70DmTz%)OR~WZhBx0D;sLD9ah4u`G|6JriBYC8$l_%oiZ3B?94Uv8Y#Z@`l0w7< z+LrKEpV2Bpma$GGj_NAY970u4MlX{(Ropz<8N{<%U1?g9Po{AlUFtxxDJF-Q^ZBQp zLdq|YX3N+Be-+n>@D+#9KjRS6@l!+RrT;=pfE(!#a?VS$CqT)NdeT7Af)!zWL4uBl zOfx*z@lf|W5SY#=sL@?QzQ2o0$VL8$@FTeo=83K}|Ii+W)sTN^CvPL-e~yrp@(+m< zN*|gnWAkv6rN~?T95S!YcbfhSp~QWW=6yk>yXAPq{~!SDut^>>HEN z&zPRedXiC}HwBn(>-FbmLd1u1pMw70OlL^$MnCye91QWV!S^l6kP!`~2{gMfQatD4EW^EQe%MWu0vs{vStgzA1|m4XeG5IY zrb*m<$YF#@Zthy(uPXUheGBLL!EG9B=^4%sE>Vyf^0Oj*hBy?DH41@zZ#1?e7lmVq z!ucBBDL(AU8|UU6)$!2apgsskUv9J7O_6Op(AArGBs(yZZym~}?_Wuhd#yP4C%@Kf zRO-q5^o4q2zsh7sS>a-qdh7vnIR`ItIfszq_ucUr585CILh3p8`)EM#L%gMW!Iald zenAw9E|kr#SJ=Cv+y;T5WM5Y+lUgp1A!Xq$Y3)85MlXHXhn&laTvwY_;hcp&2YrrRIKl*|w3vW2a0(us;n8IM!BOtm>onY$-! zz;|5JN~i{6d9h3VLK~QFxdE+)!+blmx#6u*KXB4nMby@a6G%NumOfuPMFJLjeD`z| zA4qujdLa4uF=7*|TMqbI&KXN1e#O^KgU|U|#_qw9*)7Z(T>YdrRT?JNMYjtVEA@Qp`5^mc=+9`pFg8K|sC#-3?`rZ) zzUsYUCvd)3wUo0=%0WxMglHu(O^6N%qAZO_f-~e2l_?Rs$DmjP3J26aiWfYO`z=`T zu^P(%fMR=I7rcCU#n*frNTI!2vgO9{8sD!vFt?|wxq3az7b|?txv+)%JBI465F~eL zByRPhFoc~OR8C$^cyUGqM|HbQy+_qHva}Pr6en~ky_fPs7aiitjz8sEwb5$96$BS4 zQx3)~R9?qha(;tWU+6mYV@aR|lYK1{`4wF);9kJ(Zen>EvCj`UoAXQ9e1(oY)QC(j zav4dfgtrDfiK!m0$DYal!yXYy>_i?cfGr-}%)2UV;$ahQ+Vl>qhu3Ot`FrX^Rj~>p zsEN#%fyQQ7M<2nhA{dB1+fJf7@B<2fk1yQAJFDq8j47!qSm*Jz{EZ(-wbU7$;q|rX z(=phUUoCELIk4(tAvxCJfxq@G?%*wf<)<$_&HiHW7XNZjX{>__Lz-R>cKTYj3KnD^ zLBBA=X=0|jL5xr12`xnk%ETLHMXKxr>all( zRJmAqFrxQmii3A@n6ar_^x8E;V-vZiZ}J;_b+ysSg5h$F!7Dd^GvcqKEQ9pU89YtR zf2U@t_XebI0z%dZ82 z%D431cXWef%1#*wRJPDgFj=H_aYhZJ`5n|c0`(SyT94+b$kNpG(L9;4J9%g{e-}KY zOf{p~A>52)$QQNi=kBA~s9B2&6|NW-!J8eLZL4vE~_E!*Dp21bq#Ko8&fnRUm+%&UWn$%v6Uqz zQ*D!3i#1G=k-reZJF0$0vS#EQ7|Fd!LxVCOw&f2o(gF`DMa2gUE1{lXM#IUZhNKCV zz7{!{VsztCh6zmyp&jJ_rTclgOJqCE75(T4_ZYkE1ji35PssHNqNpfPTET9uqZso@ zauEvA{bhCi;GNi&pLYMZiHk3CWW-X*TTtE(S-|2Of!5fyGZCBrY;MyXAfx& zhiDZN2QN##*%Yd*lOxI%94mpF9O;uztKztFFVP;R0KiezkI|>KX(1g~n66EwE@>|rZiu1d7ipbg~F+Z9OWR0o=1vDhb$R*CYjrCfr zpI%_Srk|ncI;mi$F6J2m`mq68(Fu=}CRY6l1-mSH;6G_K>wR(HQIhC`<2yymaPq z@`v@dYkO+F9qXTxTx_Fkhpn`cS!bDzI|d0}z=W2|D3pz_h5Gnh^`W;AxfO@*5o?M8 z*Kp`TnciCyvH*{_Ji=eu{cgQS?9^cn9di#vqGB-qU?F+&2gNNCe^5K(=2&^$>Uifg z2qr+7gL?M<0*pZPH&<0jlio~Rn<0ukxRY4#8GoWfAwsH8luZ%>1E-vQHU1+mVx6GQ zNrN{l=W()fX6DH0^MJq&0@3^d`|1Ga#=*w-2qZfISRmNRrG=gP6L{HnSS~CM%l2lD z>Rzmu+~?S3tkEeAZKoF>2=4UV(`k3I=uVtX1DPVqWck9gl!vI1BEE2JIO81JHk=`+ zI)jfBk5%86tuWdq5e`}J*D~i%QN0Po(`oZ3w3QjgqP3Sw=_GfmC*>BLl!lH{p|0!W z!=^35^TgP(hO@B9f6l$g=LW8)&@`5k< z?&w0pAv~jF_BD&?%iRS+MlNLJ*Qq;fV~^fT&ZsRmVpOLu^nLCn8jOE0xw@Xp28#Ra z(a#-~$W*phoxxo}QBgDMr&5?JiRIid%P2@#F)E#W4;w}W5Aum~d@y~UWLK_!N@iwP z31NUa-vg$q zfR-A1T5he#p(;L~y_vt=t3}^ss1NVPFVSQbi3Aaf7g3)}QIh^qV6EOnzp2fs`l`|| z`0+aWjL$)Hs2mdb{*^xIOSO4u7MJ=yHOZN8Y>seZt&*fBCrL*-=#M$5MI_zL%-njX zbc508n8W&txV*56%f=jhMxknF1@U^V$YlEMaNkOSgdC7cK;&-Z)J4V93&!0 zlXADv?BNVf-6u2M+$XcM;JM=+eA;7>;~R(jF42JmpJlZPqVy|de3FFYxZstJkF(%v zA^o6t03>8-pZYsZ=XRRlD!DS|Z)}O_D`W5&u+e{xIzR$f#!P)>P;~#&B`3@F;cqk7!&FFO zl{@&yhRf{h{C0;#o@ONqJNZ7*v4(RB{)oL@6rY@F*K;d$rd;|H>}Y&5ezSib*TQt_ zPjs651KQK?4-ntJ5!4;SzsGgVo+Y2D6~=n_YEQu-;T`wRaQOn&J`U3_OkQd7Gp^hy zW#q;V2`Bkb*AqJT`QQtD{qQhfKRgsXs6T%5ta?B_ zT$eh8SBNzwNFp|Q0;P+2pmj!2jaDX_$+@M(2+MSbn;Q&8b$oGDWR_%nI~QX zE)aQ6Z{*82A6E&HOo-wM&8u={%G@LBZiZI!!jb8IX7d`qrkv=Wg58>E-BeE` zQFBD?1voa{&o|QbjUuyHY{;Dg-+?9ZoOsCT!egUSNZYyZz*9%niTMNgE8;VcD9*!i zSC^mf{NcZNR$a!cTvbvbSkDswNX?PBU$7@}zcm`}p%c?F{e3!>OOwJDcsdA@riZ?n@WOJdCn5tyz@RVN7k^XlMCwK%t{U^3fqV z!@dS4_Cl_@9(~1NEUgN00v@NYd{C@ZedAuO>w0GBuSM|f6Hce{`4eTgXl+|4+E%uh z)Z@6UL`-^kElTO4gjt%C-U#jnn?X2 zGi93G1^%iHa?T(%o`Ynk&sFx5y`igq3T@hZwVIwh-J{wLr5 z=`83$x8xQ)@0@r4-axF^6Q4TH{vKPjgF54 z*Pw^^e%%}T0+`_LhVxAR7s3JBI1!Gt!$$*8T^+gjRctF3Kq)z*tI)I5OjPm9vfAUl?>OT{942<8eH_lY4=;{;^^@OFx%2f|VV8{XrekMU zKr~c%pKE5zy@@F2bo>p%-+A~$7vl6s_2en#wMX6V@2n}rd1l|Tl;kn^c-kM&ZrFv- zKfCU6{N6RQH6O>Ay8oaxKXL!j%W80Cs$1NvhAn-CwG6+o=;5jzO|9LQ9$Zv95_js- zcNgKmr5}Is#&bVdx-aw7xNc3&iOwBH>!{FgUO70VS$@tN`g`BlruA-Tv$4^?dB}SI z=A~_+WebX$HuP|=H+K7X4%y}39bO%H++F<{bUTk3JN>(c?Dg*qujo5`-FL=omAm|V zhwS$63fDRN=4U*r)$Imvr+;s_p=Zqf`JZ>yxAO-}=5*Ef_>nxLtG*|vcXV{s_u`Hj zp|1J{_qq4_&iYpNz3=89eBRWO=-g{;_3s$6-M=+l7yJFOxBbG{?%zS3Ekm~WcZ3^y z3`%%vg4VaizZG&@!YeMm>YM?Go0{XCTk-X!<3o=6kA+tc%>6@dV^eE)ydG|^f4B5Y zowNALigTM9dpldf+lfBd>wFU}{&nlBwx$h<=s~-;W_m`vt~H`Z(KEZytCPKXv0XJT z{otXUoisw<`V-s#+*RKPue>v;tG>6oUDVQ5-*#8rV?Y&=h)pzvg z2mjJp-%97M*qg3vYUzz$ZS}WcapxJ*>~9U%B`hx-9>$>eG_6l`w)oeF8~R+9eY~To z$%S4(pQ86yT)gz~&EIKi?ulMK?$>=f_!~dIp{dn_K1JWr7RxB|X1)J8JS*tx?rgwlT^Oa(o3kfAfB0lw^H#s~VrO0JYJQX&r3+VVMc?B? zAKKSh+p>&_=R+}ZVfem1IR*<1d&D@q%5z5l~KA9U7rwEAZQBf6x8*OooD2CXx8 zAKC6~?TPzD#!cSfVV^cN#iPge9@*Y=m)vFl(J_2%Q*#gW*-r3ym*H+4vf?*Qt#0(% zF7PlKapz?}c;8=|*7w9ngidNiueD5@er;EM-+MXnp04`t`1D{$SAAP&)-CI*Z&J;p zH+9wb_6O--bk*k_8}swd`c^t0>XT5^w5cb?P4kg0JzHeV+*LFANK<3Hv&GnaWNXj$ z{!JJ)qdva)g{CH2pY2Ds_1r3ViCfu4pSYD>^qFoYwK-c&ed1Pj z(I;+YCw-5N5Vvw|qO%=N%!whN`;Uj~y8VLI@^k+Qx|M6;E}jUlI8)q8(RUOsm_I4xGT<=mT*pTe@RnZ1*3OeyK~f+{za46#Agu*@hO2Te&e2J!toqxRs(2 zJ&Km>gGO;HyJ)oB%7{kj6SuO9K5;9%==+e?vWq^;t&G+uZe_RV~Ptp4;2Z~$S(i5ZTgm4}kA#UYb z544@|e~x`Uk6a}mtt9~6%C)#2E6xFj-O8n{;#C&8LNy6+F-^}>yOl=wzhNPt`UDH_|Fsqp%L&`! znidiphqOVq75}PM@^`S3Vj*cN|B97-my7RzfR$YD-#BEGTxr`%>L|y?@XCI+mE45L z2l(N-7~4uB-;m8%kgVuqTS;4=Z6$4eha*jBO=1 z`Cl=bqHH9W-D}a-71_3Ze8rCv!mImFSvV_)iG38yfi@a#Vms1d9cdZ4cwf#x7cD7i}%JO%yFoj2vhZtJq1CSj8@yXcKKsvdr#OAKM<9 zt?FmnL$nHYu8T44p}oMA8Z`8=7uxnB^HdhG^?$%37FT@rg*IaVve-5Q0e@wo&1JT8 z@4sN7ZS--kn#S$^#HG#RJ2rP)x{to&(oKw08XK3sBOc^OG^!Y#FZVotlm_y+p+k~G zPI4hP<37e1jE+pw__V==Trpf+$mVW{k0^f|+^1+4@;HY!+^4oKF62IOlp2QFkx5&h zxR71+SuSL>zK9En2o>}pc9nD*UB^|Xfuzy3>S#wN**@rW z()qRHlXf)mtHmerQSN_Xgz}4j`og9Wr0*$r)W<)tNBSum==lb&KT)|K>z$r06iE`SJNh`|PDKZI{p5xInlsdlI zH73cc^f#lDrY6f!YEA#mc%-vcM-QEPoY;o)uSX;||FaDx>XU~k=RY7S$(SizJw{Fc z?x>`(-MQX$p;uol?&H0t`{+D|sAQ|X*gk{qQ9qLVG$3g#|wbaavtH$)y0iL^Gok4wA_ zt`}l!5}g#4jJN5iixr(@EQ~QYx}|n>($;5fdPnOM*RqQ~%e8FBTI?WJ+j*u=J3?ve zv^Kt@b=n)>b{*H5_A?kFC z_W#2A+t|eIYOF$K{oSC~-?Eu*Z_nGC-}d%=@BiiYGVg19c}jb^_iKCkUvn+L#9n?y z8~Mv8^}(S34K|YY5q8oGyZhgHW7^e!qXxaiG6%`Tghr0UPQ4$1K024lVunmfwNxJBGJaAHtE>KE^4R(5F~DyH|}# zkXWM}>_jN?BRLDXS^tI`Vs>4zXLZvCw{tVLAoFm-t$9e3zxh1bx?bPI*@U=Uo9T>M zamOu)G16hA>tthMynA`lXH5%o{m^Q#umS}e%hkG^>1(e&iyyA zelxzdet+de_>upE*6+3t#QNbAy%Q3mgMg>ldhYBBrbhNr7+mYT?Hpd2AU@zGw>;s{ zJftPc|HCFO>VqNz>6B%IxYV%S||NKt`eKD_q;{w*pMy$UsIxUqrqc|$K+Vz2e5!} zMs_!Cb~}&3E93J7mj9=pY{3&g@|=XV@2q_xJ_oe2rxhIBjiO|u9z7xcUu$oi3)KO` zO%fcei?RH_R@8hwdV@V_`+s&Tt;0FdI_du*I7qE>U}qB!cv$|Qt*@bv_*xVhb1n>lf`SgwWf6yk+o|w<`SpHw+c^>$(;{S<0>=pCbC-MJQ^cDZF zi%#+XES>QGv~Oj{6Bdv#(I`T{6Bdv#(I`T{6Fit7;~TZ8q)$o3u*xW@9%#q z=6_)C`CsM#b^IT+fQxWY8>?TjfPbIWOZo~{uREUu#0oIlqWp`kp0U}v*T0dr&$Oif z9jo`@zrEGF@Dx_BTW>rMXj!Pg)9NK*wf;YC_2&MItzO&(QO^N>>4_Uyy`+D|s<)f( zzy2iPX|H^RCjn)q`3If5aUM6HR@8yN|LUrD=^LNO;Z0-{5)rCPjFTRMpMA!rfcSfO_!(Zy(oZDfw_E>WJ2?sQ7xDPu`y9tJFFc~i=bkY)!#ng~mR5{^U$jU;{8#xr4#zBQ-{&|#QW=_PrN^= zHDhJ^$xreAHf!%MTBq2-E_D>|57ld;Ua6z~O!Q7X6TL;AiC%H>VcJ1FInlJy?c6>D zXV$_EZtK+HMm*$lY{&`!ap&iF%tgGv#yGSZej_BKpNc+;p5W8sd@@|TzvkX}*ql#F z^XXO{&KB3)6n4cz>ePZlx9di`FU8zi6H4N%8)==o9a+i@r0KU>VtPz z_Z1JYi%#(XyXX`TFj^<_bKF=Fz=&Sx6c5nS2@jCR0qoO<8|CR=@ctiJ@8% zKx)!`C>~(5NB1G@4r9LyXbU%VcS4JKU&;e4oitg;v~5jt`ml>8Ien-#!Pl45hqe~E zTB`%rF>OqO;T!ZK~c>3h8 zJ7NzNczk%QVVFD_y`iVA6Z+)I=xBW?2P0y*^>lQ!PW$O-QzvBMeGikfh+Xu`6VlOo zq0@Xq+GulbiPY0RxNX-{o{;XM&w4^Sy4~`Gv^>gUwi`XSdW4)t{6W`;Sq9+DDxZ>W zJO7m^qxtkd+GsMI_SzvXyZ))V10aW^;hKyZ)e?{vV>ayO%w;u35W_s|X)+U_Qva5Mvu z;%;`)XStiv`b>9|@j^3LxH_BeCRf`G3?4^)ES=(RcF`%D&2Tksoeh1gV57VOX2@3m zcDw{8J`e6Dya2kJTgBa6Jy6`u%{}Z;oNNhN?xr1#vxAL@1e(Z_N(x0?Y-9c)~k zE$-%KK3Qb?{&~X@{8gl%%!8|W#lBI;64GPzjw&BjVw_IR4Q;~H?4uJ=F|M6L9nKhjH<+~{5bv}LAsT7REs5n4$5tS%HVgX%>s74W1JismjgB$uK9?(VqHBm7E z(JwK9HjJgkxC*i}#1f<@*h5xq0Ow%*x}PhdS>gjtJ*EH6-Z$F9EBjjKgm&Qx#n*5q zWQBR@)3!2|zR%r0A;cv(MgO9>rdL(5$7qpVWA!J^YE)fm!% z4h*hH_+YaPA6`Q{gdpJ%43fp@MmvlkVG~?eJ(dG@G{NdKUJW~zz&E0C2a{v7&S}RI z_)Mc7v%E@nJb`aj!*bRdII9D{jBGCPIUWSAWH>kUv_lJa5x7;Ic6h-qf&~)+&Wuu2-mrPxc^jHDkiI;e0<5-iD&iw9gRmRD%?giejul^6}_m(4K+f-k(&=9FLU4nMLZ2Bb#PfEXRj(WOC`; zoGg?h6ANDr8eI+s+CWB_*&O}GOkM{zXHJTgV;wf=(w#oU4#wI* zMx8sAgH@YHmz4oN2OX!Hs8;EIv(KW+tCO6!rJxim7=0X9oOjwBjx%efk(UioI}@^? zmop9Y%3GCMVAJQgaOq{DX?7XyczKbi@IbFM*F^O4F0o%Cg5I(8ra~|0nofGrFT*+6 zaLnr0BJFby3qLkOCY!ZAo%{3)p`5qj-jB>RpBrzQFBaYHoR);klLXr)uUod5X$U8=`-Emt6D$EH7RY+>GU%TX-#@oSu(+Dcfj!3{+Y-mokPO-Mg8$5UV z8Q1Oy)iUQa$4i_WH=T|HJLe>$5Seybx%Rcf%jnjXX)@)s@Dvgw;drpn33F4IYQ5&O z#ax-RJLhDeUu42*j^_<+>81sg`KGh(ROpuJrn7DuKkMQ8DBUzkGTC(2odex6(X{qp zt?@WLY=d)75_HQv(^+?BZBs7P%S?kelt!uF0`)S{bXLC~>SdnkTy-3$N|R}(v-&?l zH)Gt!`FvmLK4(kl{Fr=KOhrOWO=2xhBgeRxtv-fzhyFq&UeupkdpyhC5R-^`=6EdL z-dvMt+?It8GA@B<+};zPi=kV=|IBwoXW?zkv-vjWycGpYz-}MvUgi3(em8WI`)QI0 zfVcNDT;Gj)Gc<(%`n1()&cet;K_7e*EaVCM;jj4zwUVBk}~WGbWWH^z9J z3Z2f$3^<2x?~c?1-)oWSQ=$7gtwA6~1X>eW0q1efp~jdbXwb781Trz#$)o@}nKMME z$ssb)A=QIa%-qJ96pUrofm0p$8C~k&i`0RW9t83z(5VNEF{x6Aljc51r(;@lDiFEM zhM{rNG>A0xLxwRSQ>tOkh2Z*_BWg};L*$Ou-JBMU_5O|M0~}m)HuyLW;3mrgEBbUF zlEf*ki?Jt09jRhe3R6`dSz?K4hd#vj=v!m*&5lfoa;T4G;Z^P^LZVyp!et&lM8pbw zY>7pV(zTe8FzUzc+T}Q%)}Idjk-0FU->mA&ezL^sQbbPF>AL75@=%053tCMuJ7jfs zWG0N1f{$jP6|&XZrHBj^5t##{T9Jh!>1V{%>?t40 zkeLrG^VQU5KiN|s`bc^kCO_Mr`{b=s<~6Vm$9mF!n)pWT}O1+ctCC)}Hndn!xmfEpHTv*9;AlX-{5g&23wR zQNT|Q+grDIX_HJ>ZB~D-9$_!FxVy<|WiE!bJ@G{s;X@JjJFe{_Qc;Ap)Uu0U&#oR} zFSTs_oLH^NFIs;F^qcRz#`9L|%_f*3l*q;|Up-~Eg5A7&guT?Vi=d}uO@Prw#OOOUD zYPdjLH}PPIgc%UH;X_+oFEuqK8hf4V5uCw-8ACx}@<_M~0Mci$Rd z%K4puoz4xIq7){ugU${3pXQ%$c#^fxVvMAY9FZ(@@ETPejnds~#m$;!qX^ByWv~o- zM4!AvUTnGb1RBrY;37(>OlyQUksG;aR;VnZRff{)fMvuZno(0R;9c~J@$OPnD>fF< zNuyzYM<80C7;H+9;oTp_dy08hWo3VRJz}44vBO^chJ>s^aJ0qJa#FY}YWX2& z%ei2|ZEl^CL6{3SV3!bAl-1pWYmC8+YmpmmaKXi}$CWrKt_5voObfSela6UY-^uYT z+Wb=lv!L^&Ko)eK6vTo~%c@4AOVDRqR5P*!eJ2I3pzq|M6TWam`sD1R`fLB+!=M+hg%fpAxZI@Ljxk7^DKU#t-9sj2k?!q)%bh= zKXVwnC3ytFIV@xoiVj_2RQugZ1&;XtlKeVpq! z`)IBswZ|C8Nc>%bzXJT>dz1DTgA*8ZSRRa7o-nz-(C1pddrN!cJKcKhT3!%aKf@Qd zd{<+8Y~#D}J$5e-I>CrvzPs_AxW;xTC0t;1gT%Y8#&#Da;+E&e$8G>OVfpUZ4Y3;< z+v6a&K6YE|w#K&j9vj1@K38mGSqUWiptRHK^L%~Po*DQGA(pO~;-=#(q`#cWZ`CD6 zeSZz#cdY%>(WU$A;V4@b*FiF4Tw?9fZe_;8gmU8!&mCtx*9{_RTS~C)U*#xPS3e@E z%J9LwL=}&ZN>s%d>w@K#FBj)I)Cv~c;Cm1`YS(yYRiNl}6m7geGpcC$;+$1JKWJ)~ z{}>RymgsLRW7+s#`om!0hu=)b50k%%UuMD&oqYVwJpOyHjualafLBZm1 zgXAt&{@=$q!Yf2Y3EGgPF2nb8r40~aamAH?WK%Xw7r9N~l&AqwGL5#(BU*->5_KFO z);0U$4JxQ-VuNoF5^L8K6sz4j{q>UY_=I4kh+L~hen*Y!IV-)k)l;t1#~~fv`G%-S zmF|3#EOe*Ue{8PZf9wOh|ImK3i^AZuf(ESdc5(Q*miyS1#IJr#M)zb z;@hIQ;?;4_-ih4)J^sePrkb-b2JtoXAA#do?#-w#&BLc0^M>UHnyL@sGqs+eb3-wH zGt}Of5V*tFnOXHr+z0%y>`|Pp*u0R60P0>wNrFc$Fil zS{_1Ou1I`hGOlwrc=)*lKecN-{zha>13m3U-qOo9)Fk8E-VgiOz4tEncB@~JnTpih z+I6w$;Sc?d7%;p*_~BK1 zEe1D_Ty+hEP*dK$*vl7YvAV#@DKbcIWHK|)HZxx%nTJ9S{SE`;FzS2&Xj1O1&_oxQ zsp!^0wv*a(`%k_TsrNy&hDFhIK~X|bT~jU% zA)^?B)>BrZ#({;zq+q#~${Vb9O_JP0`;fYH4b?{(QOq!jMj`ZpNGMisuBLo~EkHKX zU1i1s+$ib>d~zHgE0s@civ6wK@3lGycM_zNA)Q2N9O)VjX`{DM<}&gVu>4NI3JO2o zDo+?;YHZ?j``oMgQ3@YYMY%NeV^K{QeX|PC=t5#5wr0@gyYpil)9lKj2KxR$qaUo@ zKRc-IER#`-Z}}E;^dtt=H^`a75(xwS`o zReykMlu)9+KLwY_bzuk4bQ10I6 zZZ69_t!~4DoXJz#o%mkwl4B_g&Rue>`+`Bn&f51zJKu7z+TebCm!X>8PjJ5JZ!vZ^ zy_bLh#CGRL%O}N*uiLQjm6_9dfw;SM=hAoi@2pTvsMs7MwfhrLB)3+_yQ*S>>a&|r zL0s%|<4|##`Vb#yMq86hjCJZNWX09abgwG(4RNn3^$o7aBYcIvLG{5H!j$@gSmL4e zK_~IK^#v~CbLxX}#J;lng82GiH|0VRwQG`RRd68d@lm^fv2}^_@Evy3CqeIFOy!r# zkg@KegOly6QC+O|6Ux;X0J$negMD;$%&XC?Q!`4+RSQV;Ja5O^H5tg9EOt^}c$|lwwB^Pa#}s2{*<|&~uVe@;z;4_obtoh~lw+)~eP^_L z)pwr=<~f>Fyg>Zcm-rAJt&P&ERo z@}TOxh!Bd~~#`5KyYulcoT7`t%3E7%%8_t;p6I(8|BOi{9bPcb(BQ`A1fvdofon9O3- z8$eYFl__VBfvcZvyd1j5mx+|z*s9o< z51F!8XxVjIHl>qnce4(knzDnm>;shbRxarzYqiaR4rM=l)?51FMlJhbCs|8xf+@Q} z%U(v=gv#7=qU)Pr*1>Da{#eVNq4hR)lC|`vn6fu(*?lm)=!f9Br_!5l%8t{rFKXGh zJJq+FS%)lBwx5>$9%U0M-yRUHx2GwaYswzzCH?SC$|hAl7(I%rEWL%MY?GF~Sj*l! zFj}wGwo+5}el6Qu*I`LYv~0XthuNm=94-4UES<3qca_)rXgQo%xQETI=lmf6sUW_ zH1bp7erTa3rchCGai}6SRFNL4$WYgdkVgxhMX#aUsKF%rRDX0_K0KJqC0D{MqsWD9 zo=}B1RFR}IwXTZkoxO{fdH+ANI&%Nx>-6|ue7R}CX##wv2|z^GIED=rFL;^3@GKWT z9G`)9JJj$CQS$iI@S@~pjSF4=4efA)ylLy3j>Q@k9%Fmj792DQY@OdDlvdl~LXFx7 z1X^y5Q?GC)kDtskk~!P>iZMr?9{_VwZg^4VvJKGH2wnN!v?he9jT(H`J8dgG068w1B~iBm0{M)N(!j8w04ZSCSD&n83<4|F%Gj`~GI58Q+S(>J;U%O5>f)wQG|DN8NW_PhSKc zBNTdDaZflLt*{W7*;$J8ReDf4(4!bKw($k7kagC(~F>FCus^NN$ zN<%S5SzcOMF0a*bwC_E74*9u8;xjBR)T8}};#uo|aEEPPcKFuQC!7AI(LdC$pti}i ztZ~t&SXMmUdA52P{)K1RhDB%iH-x=htYfuwg{~&<%$C~q9sX@cKB_(Hn*Vm#g{T*N za*R_K1yw;|jH5E+^gOzf3B_P1dbeRVdmX+=RDIG~G1$V1%b2AsoY`ktTV#hL5bECfYaB>0-a=kE=O z#mfj)_>BBaoe$RTX_0doMX9hznW2iTP(_aV8I_kMm#7~~DX?e>cGbMa>b=uhHBX7U z%__wO{T|bvU87aPB6l%pxE}S<_AI4~JU68~KE|!S(Ovg5Tufu4Cv9S4Cjs7g&gQ^T z+z7jaX!2w(M+=;96o-j|1!58V7RsQ-Q zx&r5@&@)*uZkcc_eQE|mmpohxGmQn@tXz!C+!%Es^85F^;6XNojdHT*`Z8cOu)<=Sa2kNi4pW4a5k4O^gzMLMyN={EDhlTj__^_=m!_gk=Z!{Js1r{e`+KFcx0s!%8J7Djc z-i>qawxt476KMa6AX1d@4DIapw=pj-i&-!dS2D#Y@TL`l=bgqv@@wVJU&^C?B2DV z7qg=As49;V*sU-slLD2=w{}-i@|opn&cD^copVs>61FM3H@R|{L6e9}!dmU-QGrJCyE}XStJIhBNI;d-NfSO^l47i5Ni( zulth9p;r!}M{i`7QXEm81jhnrL0zY1=k@e1yxYtA~HXIxqtZ)=EHRQAb;hyb=N%z0so#; zh?s3?LmL)gqQ=C5Zq0IThjl3Qh?UJUzU4Jq1Fd3Z3j#-BWm~&g+1yWw*=_KZ zv`^)(`|+384L59UOET|STG^Lq6|+$;%vY%|t3*8`o`cK3N6aj&UKVf10*swPh*gTa zRT@;^)nZ65W%@Npugpeh4%);J&MQ_oY7sQ;B=5DWgO1F z9DUNwnACL~PE86-<(-|&bdJMvm(eY4yS}qwJ~m=XHZ7jMx6h>Dqy%HU>p3xJ?{@bX zMZvV9!jo=K3=M^=@xcVd13JPv2ha>h+UGPsQ;UtFLT3m5->hby_yXrnD$|Ot`7#BM zhyvzYfPB{=&oJbPbh7)dUtsj$-)V;6ee z3qK&qatd-VCNo)Yb#8(<2IH&rEQwfEUdI<57J5Zp2!x?ls(t6&pjv}kqbg6tpjXo) zlNRT!RPmlqS~7?qae#h=4;_o!FNm6;Z%-05{RwqTceT6#7Xy+Q?Ko)bkqV%^Tp91V z_IPg%oRB3%XP=_vb&huTGP==$6Yjg{^5XaYMl36;IhcGhn0g|F(s?lTWwGX9!kW(- zAci%VJ{d2ADY?^Na-K9zyiBo45u-MVMy*VmBaJ?_#WCl`Kj8{@>hDt23H?2?@k{#q zq#+t*FvhYXWrfJ;jf_)gM->KWmBYECL_K@-Z;jCyYACt}SvF(q7m9qU4w350lgP!THp$0&J;q=0<)}pp}7` zWV8)Bjr_!5s3s{?lN_o^QQg?!-o>h891{~}MKAc^UoxicEi(=w@RAg$p%WMb!O8wT z%MQa?{0#eZ#)WhYU`~=So_*MC_27DWRS*kN^qFV6+%#;$VL}eP)^WI$@F&K(LRTb+ zp5Ic>8M7)vQyj)xbY7yKTj}4H8H3>9Y`$FdI8U_NusN-(;?ze!lO z=hp71K!V!N`$tfmvOp#oPZn9%fIoUzWiTXB;V$qbMo@D(O;rS+g zEmvO_1N)2X_XiN@Ni1P7f>OdWV^EJIX@Z;OTi3pUVxw^vEI@a?2^k*-nGbU5>d!O* zum`-dC8$b@U5N}-0-Q`#1QJ;~fpMS$-MQ*{TwHU{pmt44b7B{Vu6BP0{pmx-jY)wU zlgq<3^r&M{6}fyz$DmH|ZLlAj_9iY^?S>9qEgV29Ok4i~9frUw^W#)1no--B(xl>y z&FV)4H3^P|?$C`1MhmP1E=2~)Wnd6n1GmF^#vtXU#K28-)$eB!XCN`vc$M);41I~C zaJy9%(bOKodOi~Z9yNll!5M7h%b`B7a@e)Q@zzi=Z-P{d4IhnsJgLG2kHwZDfP~PP z1nA0DemGUNYka7m(PGw+_5}7T%eG&&`}3j#Kn2>ls5-5(^dnhX^FH-)t&QIl{5aO} zzEwvLf6;+5ToMLFQYn+v$jx7LR37z8yvoOLQEEElRp(-7p9P!$E!*R++YIsO_3ACT z=%V;3#*GQ(%l6!He$*6gty+VW$ahJwtLg1HW0Q03kzIkN`Ioj|bPDOglh@FhqDC{;C*q~7+Qyh7SMA#aLy%h6 zg3A$h^~ZKzTO6M|h)&WC{3`u>dSyMMII#TarBn3p4?a6p|89Hbl>NI7^QYCh_{Am` z$NNV-9K913-($2&JQ^i=d6{s}B?oridY;6fxie-Ic@PXJN|f^u$%v2!({@cpD7r6( zzaHGlE%UDz@r@M6Li7xb-4wkLeVVLGIa|;Xg<(xn4}%3$Hsi;Rz*NtozRNlmBp9RH z>>8%lF!gMvGR0~1=GDhE9H$b{JKzhapU@QyG9#$+QsdD%AEMd)FS^``NFy0L!Q z0e9UmY0~B+{3^WXFpx&4Z3(=F#(xW=%DFbM-d)>>b{Si@?t4*EKMs5}zc((ESO;3e z_IT$;nDeB-`uSY?CmHM2@7iD><})JaOM4a9$_y$a)f3K%UAE!Y#FDa-p!(@3X#l!5 z+4xLNV5W(*nZC4*$OJJD2XApnaZoKVMaL#G7RX%?XB)Z;uEvu%UPM;|x{)<0oOo~8 z`)FvQH#FH38k@+gG!0$Dsu*XYncVcixJVAHoj*J5`Yo>+D;@UYwlR*WQdZ)2jz$c5 z<1+}S9fG+}R=-h5fMCp6k1^eo#smC5tm3My_&VqOgxW^zF)jSWD%5$vdBFH0?Q`RG z4AkRL5JG0;OFP=s5xcCTre8P_$9ixMCs>^JQJK0oQ-&J?yq<7kDh2`2_Hh?+efwx>W0cPoYV~~j3mdx?rI4YfQQy68^@)638>Eo^kkQ`sPMq_YEj&JOTLMHgqeN?u51ilQG7iJGKVUBPZ^NoAiT+S> z+s}bHexjW_TyX>-QHC5wKzWQK(^E=KgLRrrXIS@H+RikXCpuWNg$9L5Y9yaiXLJ#R z1zD0T=W1jl0?`~G2^=*!02JZ)%;5;i3)(|ysvbfZFqALQ36!3yhY*Gshme^-8Ro!k zlUu@ZL>IbtO=gABiV5C4pjEp+i9;!J{s|^97e(hGa+A5RM>c{v?z&I)m~s}h=i`Fp zILy)0o+TG0M|xOCjpro==FyAZf~4#PzT8D|YAvOpwDurh9g_RZKvaV5M9<|d+kmlm z0SA`M28IA4_Z9S}Kt`$yy}SXPZJ*N9gvsDI!;mVRCCjP8ikTQt7)uyHNpfdE##I)?A%Uyc ze$mkyp9L4r+L{ylD5nEbz^$$Ed2Yd*ez1lA9h6qP2HW4Q`Qpul@>7gg>+?OTBqPQ? zXz&d!)kz!n1FZ74pSnEwQ|hHiJnYNQ`;@7lEoQ7W{Nik^@vsm{ZXKUQ*EKZDTR+Ps zoq=01Ih3DjtP547V9QURP>>xyYcsF{4v5|fGB(%$WCk>;p8F9^`SN2GUo9TciZO<| zIMmE<;abNBRjIfba+1=DwsqYp)jmhDe?wJAsK{F!$9A>m>o&o-)EBveSZ=)h0jpp@`3~^29fGi%jRUtZiKbE3(z9r~KEP3&ScxX}6Aa^nB$0t=(T}jzEmJ0!~y>19G-GAoG0lkeUqFHwzPO4ki=sEIcLWJQoftlZ{%n zKp|eaTAqW@LF~mr)iKg+XIn3<8LB$C(}hF5g}y?x>l*2u1-{w18bLhK@}Bf^Wef~| zX}Ow=U|iTc8dl8MS%SMDON{}CP+?({x~#)}_d1R{)T_2}2CA3T-b=0@W}Qro#niw8 zUnwTaUtWM*cv~L_ex3}vyyb}*^@#(_^zWP^-J5|bo>^bI5XIIYctmxd3>S z<1iS36X+mpN4p#F_=E%Jl>;Zxdr37t%O_7!o|~B|Q7%|{S>=A-d*8>DfWAo&O)V6g z44*teNBhhes7^Q5SNAryj&VQU9N1iQn4IT1I|e>6HdVWIe>Wj@XW-SE!$#|~OiNoA zXfn1|pKh%eKEBNT_^W{}NJq6;lKb&ZKRj{_y_FoE)e#yKLFGDpQfmhw(KLIVtNrTfmW}Pc7hU>A3fmat6L31i}W_DawI3);> z#p?k}@Ui+9aza%Wm^tLp=}VGq%7y3P66NFM z-4W^7yMGNcYu&F?<$ld8R$kN(-H&lS)x7IVkw4FY+k{PlSgCJui8?Ss#N?ixZQZl< zf>Ce*ZrbaHGJR@uinP(aY!HfGcG!J)Km3jfkBtemT8+M=zkXh4Nlt1E>gq~$Ovnwi zRv%)ApkLc?J9eriDic&U>f)_h;#WdN(KU77H49~-I*W_jt^gI?QaSoDTxdhaxlj{4GR+!v!`?rU{rLlwF!HfG^j%NfK;E{3y%_?Y_c4Y;7exa3$U7hHb#q9~NU-KKmyzjt;0FTYF$hZL2GQ8wKu2s4TsDxjep@fc13k z{wzcoxC+jzZR|jV;UjnbMNnluFNK6c)T6W`zZ6vp8ih;$QefoV753g0zNsVdN_9Gn zQ7{d!=4Gt0J?>sWZ|%{JYHva9J{(f3jx!R68yAc09q(Z~tzowwu0hzr!ZD%5yNoS( zlcRIv^3tLi_1>||3yWsf7mkg=wZ3B%le&cqN6u{TZryF%C*HM;b|HSf6Sw0Vqn<$p zh;~8h&19VQEW$0^dJdH@{WFH?ohT4d<8&^8P(}{QD8z4`v0guS@eU<-y$z}0TTMuu ziW1-GwH{g_Rf@kEyWW1Q>8)cZBLih*po~i2aoEROWg1OU>);@U@~5g0qA*w&ov$tf z5maNdF6~im9B6eC=_S^~`>eWOprjQOwu^&&WpJ?X_#Nn!S!UccM>j zEXA_sfSBHx{FFX7`eO1k`rMe=_Au55;mpy?4%Z}Mh)qq~XFT>1)kRsL*qXy&Zu9Sy4!-;3{q-)ZY5;Xx_h@=F= z4I*Ex(kNHw-*& z=uVE+KS2kIjDqG|bDapER&-~9;cgaL#jf|*8shOzaHQ5>3s!#NUT^U3qUk%a#D~yaT;Sc&}a~_ZK&u|(o z+9yjkeKL64*ofqQ4MM%;t>!YM#w+&|Ha2k6tjl*f)SEc?hw+o~!?b2&=hhRxQUY1u@G#xpmu+sVS1_S~$_;11GBQm8Dy9Wa{I+kQ9CDhx0`_%J*_HwfQ>OnZ?Pd zU1BjuDxQOS6-`J|tB`={*4U|Du7rn0UxKOi+-gZ050R8&=D#N*_J|fsnpMxGb%MPu zRaO;Kh3)RD7T z{3f_AHHu^$xN&MY$*aMQQv*rj>F%m{PyQ)@t0u4PW5RYWI z+nJC98Mj(b(gUtXy+E1gbfrA%aVGRZLLWtYTDe9i^ikhu!f8l2O&LtMp9zD2?qEV+ zB=l9ckjz1M^i|i9^n&YEGbp}FSHdg%g;l2`;dC{Y3BS|{r>jxSaRw63P{Wz9feEod z$wYhz4n2E@>P@jTA$F#6GT~7s3BqXUfn9vUi{nS<_(0@Wg zKh?s7{z&Mro?*iGbV7giYbKn9gtOF7nQ*U8I7@w(3CT!ER^KK$5JM+f-A?jsaL-or zD853ApRKN9!T=-;P~}YcJrm9Wn!tpCNEoOtWda_NWx_y}!Gshfq^NU9a%`oj{v>0B zbd!t~(nZoKLpqnX{fJzNk-z3>v$mt}LQIEkYNb+nU$B`T$ zrPtslt>A$yZN8!Z{EoFoSbdGt8QfkGZ28LKNkSnVYmf{G7O zeUokbo#0cyB{~NQ=cu2NtU?!_qyB>=x({Rn$v7>3j;bL#7vkrt z`6T0Y!nx{NqM=9_s;&fC`IPSGp{kJRS)y2^T}t%4g))d_G%#&2(RwS*OSI8K@kC;8 zD0vi-d=%vbd4Ob$knfUALZyeQ9VGh+`7+7=LN<{cDdZ}W(^27}>Ng~32>Bq%Zn{ZB z)%S=}QBJD*4#^bsY^tgznV@A-)r~~MATvx|O>z)qhN-C}yK9+Y>T;stkQuH1r)Wc0;;)jwFX-x_X>sqSlkH9wIsqdd^ed2dS+PQ9TiN2qo=X6!Ree zdFm#TeT2M*WM3htk@N~#MDjE=_&haM3y{nr*-ICDo*GVcK2)Et29o5|b-wbF?5$lBYxa2=zY6Glbkt(yeojP%jf@AZLbZA~_E^Gt?@Ol}p$n zqDPtF(K#~I14I`f#|7#hipk(5T1q6tm1sT@cP&NoTB4;|;RUK3sH%@vc!8QgG!kMX z)uj{@!$_1t#HAQ&F;Wet*l9Y`NaZE+Ba>fsr`R8KNq%+WFwlz@IzUvbRru9jpsK!F zgcug;OFeo8b7IYy}!Bo{(vlnOD&GM!_Tx}6E9 z>l~xh4MZ0r$A#)DlD8tqg{qu6zO8dys3tJs44vab6(G6@IWAHeBo`saMd}>p_>RtT zkvfwJXX+dmsqREs$dRSK_zdJ?#)LC#Cm2PD6N`dp&+ki167EhMiMaxKZTb> z{e%e@qXw6%`$!H)4K7vnB)g*qm#RBR4$yioRW}ihhMv*t8j`snbJaAGDOx61O(YtF zgfS|YSID*qE{^xN5lthB<;w@Kzl9JMkF(a6Z!T4VJaB} zatp~p`a+CR%|v4?^c2x$sPJX#S0t|z@+Tm*U5r7(y-Y}ls>{?el7n^T%hV#G%Pcg9 zXe{!NRTU(!7IHGk%Ac{0Oc+P>D+^sj)M}w&M1Qu>SwzZ0y@247#6U$X$!ep-LA3fyF_CxR7;eH z#^kBRB(D+j29T9obZzt0ETTgeDyCR(6ql#+NxFp$ki=Umz|A1pN62$PYJWf1lx$wzTpOEzF+U2SDiSjJ8gJ>KoI8MDx@>(IAKxzkz34b7xWe3qC zMB;7{{Rfe_TSOru^NNg9w-dGLHjYy_5bd+jETVP`6$4@NkAaGOl6{2?kn{?fLGpAV z&mnn+ko`%XDWscZl8`Qv{e(Pr5M+NLKO}jUkne%4{7;tcM1ij{p&KshIJJ@F`9i)# za)gjik<1YCS0vBTeK$`1h-jRJ!bJJ#zI=5T$!`j|2&7(e#UNo0ku0Z(rW5@_*CStD zK_phliL}u`a4iOb%p`fPE+$`{OO$V+BqBTuQZ-)nB6*#Vu_Tkx*754dhak@uazDud zLcT+CppdVVOc8Pu$w5Lkk{m4Lf07&`7 zynuV+0LY<29s;T7E*BEsWkOFBTcCE3Oce5ElD&j%BH3HWRU}h&O$yYbL?Y38A3iu@&X}$0kV?s z5)kwQB547OUrr<@j;NZMJm|y;>SmICg#0GSVY&w=sHsE~EOa^1<>m{^+LWy@T;31sEZ^(8A*-(W&E zN-R`mBrg_nBFTV|xg>Lh97XaHA%~N^RLFrO#|Y^qd6|&iK~_GXFHWI4u@C5Bq7)Q# z00=gA5Xg5)_7!pm$#h-!LbZXY&_d4>U4iOfp`IXlgOHDq^ds{X>H(7HY4IymgNR$G zhNuWRiqw3PHwsw^vU02Lh9Y$((MJ|4q}W)rqezV*nJ46hB*zJvMlxT>6q4hGJe_2L zkUdD=iPjdW4jf9wgfR%@rzD5LniZ)wlIQCx7O6c%MHYI6XcB5UNi~zaNyw)`Rz9Jt zI7$7ANTNCv`w`JLD=kd4-9mQ~{n0`<6TN1ktBGE>&=ewxqf+O1qK~b#Y@$yrlt%Qa zh0Z4W%tCIW!xoAmI%=U$aEulsG6w1u$t#3>lVp*Q+el6lvXx{|$kil^g?y4^iIBe_ zIa$abfvo%~OQGs8(SsJclSo2nOuLy#E<4fHMAC0WQ;5VbAR133egRQ7k(flHG$JvH zL}wF;pXdZ~6PZEhNh$^ilfWP(9LAm=tOv<3U&=jI# zC@xl)le}5T(IopLbFs=Kd4U$k`z=M>LPlB+G?dPjae|FOZxjLnKw>WIG3y?M?|F-dXH!dYCc8nB)L$?S3qj7mrS+cNUS^2BBC9Z&N)P4>zOv4Ncx!Q3L@!a zqR~Xs$3zzpNgoppA(H5#6XLsEw3q46xj?Cri7bF)6`6H4G&{^f`UXlxiTt@ODowHmmA}Y7g z9HObnJXKYYTrA{dkh+hUFpddXI>%IXk>s$@FrsP5G))a4d7F@ZK~_GZN76JEMNCvdbboDOL49Lt-J3v}}H$!b;0%PMd)Qco@ zbdDM738IBQVl86pbIg#8E zL=%9pOmu?0lw`b+ev*korjm4GIa;C4CV8nYyh6E&W})y|$^}y2#zcqr0+~VZSxON} zaExiYiA+m9OTA1aE45gpy$FOQj}zn{NRAZpQIcn3rk|yL3{u;#44`|MFk07UmRd?Q z8?~9OZl#z6NMeC1nZUTiY&DZ4H=$;$5|Z59o2|x^%+-2kt8Aj%k>PfAKFR4i;dYfm zRE>mcbvj5LMIh=%)Tr%EwL10|#D?H{R;v$5PQ{&Gt==O!L#wJ*uMyn=Rd=Y3BzbA? zP%n|3sb%g^PZHHYrUvhSLIGlmVu60Z1SkHlQDKrfD62-@MY2H1MIu~07{ z?PJI3tbcg}4B0bs$d76#L&sh;V>cOp&}CClZ2$vnM3+u}o@k_neoJBT+T(QcN+x5Y zP@}to3zY+DA23d5&1W(WRA`jNQ)bf{5z8lJx z8zi=4#wTOmi$rgks*slhw#-lGX4}L(L{zscAQ$` z2{K;N)fF8-1p_A0rIWu)bg6}EDJ)J_oKC)ljC-_x{-|$|u{MekB;)-k#%M5P(iZs( zh&X8r8baX*DeTmY)5vIyV#H8B0re62PhJBWXrcFsMq6kH(Nqg<0Mb#3IGyzwCS!|K zqhB-mUY6sKAN4~rHbgP%$!LpWEFweVU{0Oon`AWUx>A*z0tT$EODB&f%C%57h2N%d zoK8+e31}5e>4?3q)fq z^f=Kp3q1s+cg5p$)_a*;j6+^h@Lfc3Z8cgzR4snCW?W6i9Z`%DFw6~j@r~3NGCp8M z9h#9r#>2Yi^q$l}GGq)pwM1_);BmS%au8i+p^vvi_+93X)5-6E0UHso(RL!70n=zL zQH`#h6!jDtcSbRO4u)PcImMk)-y=hYv&mS>EIm*>y)8ALXo!WbB^qm?a-u6OGyzDT zD2UTpvzUw{f*K8Hvh;#OJS)|Yj9=((p{u15$dH-QsU?nVg90D)OL7}go`v=R>DxX| zCvRjjP9bWvnh1M<;z+6A5n&rpqX&twDWTE#h_ElAQ5}#Dh&nZ6J{hgLmUPP0Rg~|E zY6vPNI>$o!MB^-!MKs+)!-2Gwh|^j7F*z64Q55wg!XamkKHm!ApRrVjcx!4u8IS5} z(0x;T$XFl6*a!yPEti&GO_Xn;-%(hGWSma^F_UqOO{065EDokaJTg_oWP~&|nn#4F zrbbs$_*c4Mx^JqO46!3lEs;z4M3gPbBZ-Du$VW8ZLT3=ouuuY!Ui`%AtVgyW87J&C zY6H?PoI`%pP9|fIPos@Y)@wV>c$UejP)@f`{f4N(LO-UkVk6>oas!hG;bMqz4U?B3 zS>HIqt0GU_G>81CX=F&O%w!ahahOU?#zkOYC)TCqhY=04&{;$iEYypr!a^OJp-2pI zoX+|o7#JM!8ojO2AdR+Bn5#5hSJqIyNFEnOQM_N1CvKoae$)@ikPb5$^|py+(_QHBQ+P^mE^4i4_BK%Y62NDg_(>jFtA_k(#gY#3N4gOVX=lOI=Lqq;@vsq zM;(6!j7PM7@>LrdJEIso$v7ItXa$4&s#?LbMA%x@=r=@*afVuS{g_!ftl@~35h|agrJfbTsbQMvNg-VIeK~GA)d?IX8X_N&diy+;TBH<&C>y#*-hdgm79rB|( zUIt@_ZW#IMLom2)qLbey!p@0C+lW|Kkz7N>+6h`kgl9`MdKAdq?9zLE+s*9v22tyy@i8&yM1aCr><2hy17u$uQ?U^3^$Hbb!L35r!8G25dEoXEMDI zi}BeeFgTH0j6Z=Px1{8LooEDFD`-6tZ%{$c5lyntV?;yI6O#55An~tt<%PGLJi5nG zyj#h8ki|RXM_o%btPGi|oG8XZ6Npk#gro(S^$?_FglgVU^61s-B1En)dGsZtcpV$T zV>d+c+R0;2MDcczC;q8Je$+ZJcy2_aXNYigM5A95F&4%QY9$e4VS?@^8iuM1T0#_q zQ`v%U0TK^J7c9IA^5~RA@h)esZ^*^f8M7&5S~C8qR7wm-DT4YF#iA5Ji4>+Ipfw8b z=mzjO*+=pIL>}kWDBc$Gcr!=wR)be{m9C8_`wfLm>%<@R03{ID7p7_;LTF#38X^Yn zL~hcPyqu8n&D(xs>M zAfWyJ|JNs+z23d{+H2p|Ui)(9yiE=#^cJd-R5y#-NGb!GO59_bvyY}$gAyyHa}$ml zVjS=`tb!QFhYg!WY)xmZ5Lo$at*HphC6j5s`A~xhyonITk^pBC_|gWrD1#oHM1R`^ ziXNO$t)wnOS%mtCR5#SRP`f}$m(w~5wuKlQ-iAF&jMZqv>WEQc8&(Od{3cx%5q3M7 z#8Y?3L(L%Ym{y&*n!qIIqT+?Rn$!S`8bS(3MLKREDV!E*sz0fVQ7lQ5M%|jLx%-@3+9pf1(R1!d6_{WmsKCDo=q%J|pgt~}S50p%(0ieW%*7^vROpH}(!w$WKR5xoKh3PW@ z=4)E=Q2!tx&bUJZ+X=j=b!3UvGn9e5r8@dgq|UUcUz5s&j=~us<${hv-33Yx?zKLG z-Ars^cF;z(GD8MyjGF9S34I%J^R!M*~CgGm4P^XdNp0ZF*QbVAUPzSez>Is#E zQlvb%xGdEBpyX{Gt)O6y#F&*0dzz_k(FzLFAIM~OUOv<+0xTBVRe-yhfl&e*HOHg?9I2Ub2ut1b!uOeW6Y(Dbi(s0RozWC7JoLKj-17m%V0EmVjU4|#-| zN{WX(LKTv_48;=aDpI}CB0^L_5v&asVNv3j1AAF_n{3#kg7T7Uf=R|^RI%Ld#;8FaUVzmyc+EuqGe>W{pI$|ZF@@)qhMQemC90I2}X_s8X- zk_l|pS#h|lZ(jiLZyV4IK&*;H?;%C2BGhZ7xD6-Ni=?;>C)87Xq*WAPECBN@QhBIsa-4|*@+?ygBE=3N zR4OSpgHU})-Dpt`Qg>*{61{&5B%6*GAL=6jsMbCLs$HalNG)+&N!_Va3-AH$(zN~n8DEzxQSumFHK-B9BNs&NwmhAdz*lgxr}i7p_8+pC(&CdGqf zi5o(fi47P`;AH}dI>}i8FqI@}Duq-xi)!Bp$`5@+cpEAFbc3e;4NC7Ki$22fIsrn-~D&%J2s@bjQ%Kod##IVimcEt&}S4l%X} zs=bMtyhMN@3)n#5V;k@=f&bWm`vCBovKCNH3OAKCwSW|_RfzBqDPF4(YAUH8Lsy{+ zNzH_=LR|$)@BE6cf(;_JLubr~I+K910WQi&heV0~_Bl{xkSJ6usVNrq5vi#bwF{Kq zQe+x0`ZVq{<#|bp++=#1(DC0upCR8n{B1jZ!DXB>oHJ8+6i@E`n-ZYlngnuHj zSF~_G)RhE2w*eWHF$lRy^tq&NhD4z}q(T;zNa_}gI`Aw6t%M+LZG?X>u~)TlKGYio zT5P}z0I)~bN4V5_QnMjZnEy!XCX1>g^%IM_2bA9Ema+-|JaX`yU?;PhO)3MDg(@M% z9xBurQtSgl4I?$nqB20~?Q)SU96n;NX|?%KJqUbZ0}gJ0jEj()L@QDONEGUQP~$@G5A`g8eKue%Wn2u268$Su9Qi`kkSd3Kq3$Ggt3}NrHOHc6fYN*AlDF`W zBeqs&^#=3KA;1vEq5$ax_S=9n0LadmME4}coiU-ldj`}cP*kWdNU_5R^-oZGA6>E+ z>{Vi>kF<-~Z)Oq?#0j;IR9}nwJ*i9xm$+4=*#CrD4oYvxi*UhiBleiq{7njgkz?lF}fDZ$ZP_w0OZP*M1MqzSFVKGMQR92 zBh*$>?CnBr0Hu!-q%?x9A;yseUEjh({er;fHee}b^g-SdJ(rZ*qHZA76XQYRCX>1p zc?(rQiepQtY*6~hLh=^OPmJRVdH*l-?ni(j3rHkj4rbx_@+kmc+c@?DkZWEN{T3-+ z^Ac)1sVwLt)N`b0HHCTEnH za1ANiZ4oz=%ynSa_Dirda`2+rKY**#Na1ZrO*u*7g-A^uT#wXin3V~9O5hJR;B5eM zwM=9+lH%1ep*E7b40;Lm7%5tKp;m(uA739&306bw0SMQ+3RXdkwguJk4j$@80t{I| z5rHpkzz6~dZ9paf++6LW1^kE<=N1v?CG)Sqtn(DiL5wy9S-gvf+W#Z~hAiMC0{d*h zYXIa%oAAF#iZ|MXdWzH)$X=+2Nztqc^#CY+oFrXBuw}$(Q;^$kW;a0qL~${ACo?aq`CqG>v#g#ds-YHY9E0kHsC`5SWNU0 zF7*Z}A0!HM1DSsllPK6|6i5{6b}~N{lPK7A#P(W_FH1oM1p-p>;oor$V0tG z;HVAQLZF(!`I_T#0$d1a(M+s8wW5iM91u|G4RLoQ;fc>wqhpr&S%!fSwBXS+IMEz2Jb3?fgfudBk4q zjLjfc-x(W6jHN3U(ebF5hfeZ(>{~*{~yj0miA>hJ8wmjs%Lu zRh@d9z*jb48vyENsUBVgt~>yT<&On z1S=*+SIUNsAVwF*hFwIABi4qUN$fAcpx!5VC>Mc;2_$LY(4zph*?`XgU?Oqq=-s4v z$yZXpLTVUP7itTse5fwe6QuBhw5Ha8k~v)~BOJBFIOp21Ma16djLjytt1}iLMsER) z@+ltbY69QbfQtb@)9yMtjnpXUCd{XinSQCxS+Mp;fU%iv*yqG(D{R<1#MsMi*j8fC z0)sZ6;h~-aAX{`oJxq#QbV5Bq<}GAS(m*w%c@tTp7m(sjWT8T&3ZS=8Q<-$FPWm6_ zGnT-18<4G2cbDx3HHg$`q!#8>GBaasWd(B)V?FB92zKDlz~~j(u)W0Ss@Sld#OOTO zu#FZUYJv`|dW6772wA|d2+(L)zzP8TVHM54kkl0xbqgu{6oHPrjud{4KvNS)@phf$ zb2TVEhbC#@VgilK#{|wHKW|kFznc_qRST7%sqUKk`cH@(gKCqwPf78Dolx(B5}!vG zTCi=z=%LuKCyCKfN|DcQw5~P zLRpE+CNn2&orPe2Vr&8%<{`$J!-gGQ3v6#^Oc7%-pbb}R>Rkfg*?>j>{1F-*y^+*# zi+YUA_mDYBNB@SvUu-}Pfps=uAqDUSG|BB2QhWhTsOw0LLcxWaKx!NcF4Wbe@CzQA z8UjitIbA&AIENT#0~^+p7_F)e`{rR_G*C9|U&QFuq8hkPRJ#Zqu>mgv;O_?L=%+~i z%%UD9a}Al3bo6}$>TJL=0)Mpua|vv)0W$%>5Omi9f~3Zy?4ry_GSi4@jRm`e7>$Mv zJDV7XxDD$;jJ?=~ef>vB$1mTCd#64HrS}C);B5j=Ac@7Xjr@EIlZvwFH!OVy%gA+(L}4XTyq#v5Yos1Tm(tVHXkOP(Yh;t*BB7 z9J2w*0HAk*jz0DWQ2i`wKPcG*L?I>hM+BZ^Y7=;k{9{luiGGpP1e8pur^w8Z)<>}4 z5!=@pix3l`4vA8WC}tFtAfqZLg|)HG7uy_dL&q_}%8R30ep*PFm41Rl`p3dgww zWR5a9dK1`b<2bqo5_xx8`1g_G-D#ork{XM`3iTGLi72d4+d;|FR2NpT^~Bm@g%xZy zG3nC|VOIu$P1GP!19uX5#Rl90KzibSfa*F%|D4fDntvRD*K9xz`Nu&`;U7%uTBs@1 zIi&d3j!9PZHy* z!iN2p*n!U2y~O^?A~>YJ)B*y(AdsYin+Uva111ANr8sqT0V%!_%-UAjqyi|iP=iR} zw_7!p3d*{-@gXMQW}tn*c8o_?ZoO z0)U=55~Xg`@5nI_rD9E~UyyP_ZK0Nt;%fv#%_qgz2!y(c6kq)ns+3eAR1|6~sUoN- zR4ys}*n*}mBE?ssByIpH{9vu7`hwC6vBOYCW5<36j(NHSlB5-Ytjy3fY)Q3;Kodgf zuL8WnB>15TO>H4H0jf#d6Qm|VHKEp!!cXUF>ON8xIxC4@20(5{AS-qdHJ1Q=D`X|W zOeVq4TWBiC=*Jjs0(k^v@VHi6fCzzCZNMVRxE9$< zbUCSFWG~b-QurBkO-&@VNarTeR}#3x24nyT9iniD>Pu35H%O?DNd=&kQ2!uR0;Pm%B6X+EReIj&62~b5q zoUBC6F^@9v>*|`CO{x?b3Udi5{%`KEAq;06kN5BldLVBY!VQ z7OEF1zJVgt(T70sofDz>0`KV(&?{CYBl&iOyj3OUO=|Nn<`@vVwGoE2Mf5ctop4-$)&N5Wv$m;8Oz238d*H zZxi6kO3Rg0^~5+4*syiPWVENra8SP`u!fS(*T6~wG^jciSA}W;G1^}nc0(+o-pNxz z0y|<%9ZYy7FhC*<*d=-_yBmiN~bQj`|wfX za}kP;;s@?#$3A`}Ujm!972hY$Zz!2-}}oM zld{At|6!KDKg*wG+=?$dqx=V1{uhwvF)6>_NX#9bvgF4ipl>NZ0_J1U@cp!H_#jpq z%HnsZ-y}ixOk2$StS;Z>a8?y0z-2;%t4>sXTPFC@|{=P2c?|v>OA76vA=isqAM^&Q}pSVgv?fWE~ z3(Rbyv1~lHY|Kw_OAQ;Ypt>1c))#tNo+o4Z*)wy+ii1mn>c?n56o8+^j_}j(^^xw# z-6Od_h)1Nr*O)gX!6@)W@|^tFAwgGDK`MFVvsW&gPARBRDpb{)ijTD6gQdpqs=HDh zX#SGY@Y(oe*HHXkNU`yq`fWF)eu*DOtJ@{g#l}bjr8*YUFOE%TK;)W@G|BHR+rYDRvq!SuG{~t=MR-`s6VBg3-tDpgRYGMM0$W1n?!by-YjN7gX>3 zO*$7k6*^8qs`2S`%UmAcKhQbOVOfm3eC!{S)CWBv!`?k$KZc-8*=SvS{XKUFddMF) zOGRX}>XZwn$M?Z^hKI8Al8StB?Hmt zD(~p;C=K6AI!-!+ zE`Mpt65Sbet`(^)3A;Eeqx!^rWklllP>+vc2a@?h&E&xFM2hi=VCT%pDCdmhIsu1VG8`LYv=bk-FL1i+8df&2(eXV&ngdt?G%;d1VxCH^m%w zVjOng*FdZqO>8(?k}x64RQR!xWbiY!tX&TxON>cA<5J179y$JIBW!zn_!3mOAKeE^ z`+~+B7}5B+B@~C&P#Wqtj&dbPrB`kD;NyI#M336W2@aBx*0ZuCg}MyuJKqHo-`Z>0 zFf$THV#f?5MSEe!U_vR6YZAW6?B!H;*ck1@MAKu%9@M~Ybj+U62a##`P@+G46GWyP z3w?;UI&L$ZP%}OwJj%G%X9S%^#vAGk7+lDrr5){S8Z8zU2A7D7c~GlV|rpvC;WxGzwudb1-#!v`!j`|Kk7csnz5GMo!a=b)E@K3m-oxs6Kca(B2oKvABMWoGx3e) z%o=2)F8XPE2eS5ZmL3W;q;4J6jw=STlj?J%(tWpP-hi^l7K3P>(Vhg z6+Y2uA3jyw7VZr#jZ$A^5P+6*v#0szR`iZs3?er(d|D*ErBCEGR#om?S2!sWav2kx z(NRw0o9ro>?iKj9Cco$&bYfVq_yY${kt=&@rn`DI!nr?lg>wzKXD%ZlQhoYy3Qn><0{>DVI_iM#zmc2TjIaxCP+Avij5>;jaj3UAD5s}D z5!kCS{ZH_Oj7HNJs+n+9o!=A8jmCrnR?W>Lp%9eZvv|w5`mi zC)&sUo$RB`Yp{>2PqdG4m1!T}g{NTI$4Q;-;~iKY!ainTq{r;zBy|V--KmY^uk_MF zjH5A6jAQPQC4=Rg@bZb>qDksfigB@LPY?quzJfT{G?kbxwDHs~M9hAoaUP8~PF3re z&i19uv@dh~p{za2mZYK+4wyF<-v~RYg?SZU^R!!-*{bJ=E-lQl*P!nxA8dZbq(Esv zEyw8T7?owE^D-S-7Btw ziP7JWKf%s;PiklSA7^KZzt7HiEj!~q!Ol=t%+5g254SU3+8HnGOeg7utSOYd6A*iMtWcq9F=!q@!!o@;%YhD zC>DPn&d`yTKB$kya808DSME#Uipsm;=ZBqW?uA@_&NW8(azdP)7CBpzb1sHGzY25H zQglOK&Y*A_*&*ij7O&BR1u)(S_cC@E2~wDYkzNo!*C_Ml-0BM7DZD+5#>hxl%TJ9a z<-rJH`1;5QCmY0-JIWPy8f`6SiV}0R5|OKn2`&gKcCiCeqp`l6Td2_pCzPMy%()Os zB|xbWE~D5P2{@w@GOOw{a~mpLE6-f%sqxkH{TqglBYQgL>a#dkQ>QV$+&i4^>K>r8 zXCk7V=B7{Xk?;ac)s=T-I>M*JznzOY7avh>EXc(BnoP>LArAM7Wn{-(o*Cw3jM=o} zHmui3pKkPJ2AC@Ym|q=gs!q1DB(o-%Su-OOY%E34c)g}9Q}O(-c{%=(Ec;8!DVg{f zvt)TL)AnJG;eI-s@Q-w^XH&M+M$l)p8w;GdcRJlGF74>(Xt{#3GW9@4EJ0ajktiZ6 z_gPtxDd-5%rKc{RdKMbg%*>32`H^p*I8uqnFhOH0;+7|*a~G>w2q4D_V+1~Sjg|cZ z=a|R{E&?i`^ zZfzQMlv!Y>Vz4m^E@p~R?1^-bOms#{Tq}E2H92bvQlbSO%qSA^ z>+lm=gX)QO(sbe)%s^S7BEJ`Y()Gn(u-EK8Q~Gi1i_fv@ zkF76`aqsO^>kEAB9xLrqW2p}xoHrb${H*zduz!)!PGfwkQR0hCOvOCFjll3wLzd4l zSPeQ;@%5bl3~kqu;QDUk%_Ju+ajldV`gLlf^2bne+K{mr~Ub4^8TCt zyoo(ZeTEu9e;$Of$$^Fugis1b9s0d-dIT%viO!Xi{hr7ePfftvnAhK74cV%z9N5}i zh3hYvk;SO@#o{?)hD)0lFh*=*7#p#&s*Y6}W`=Ljd$(c1z?5Mh)|1F6*A?yq0md$A z2Qak&)RR;5k0B0m@$sbd_t^69)|^O+n-GwBj-G15eWPprD5=9X_t8iZ&PY!R6EoP28T=1IC$$K1`P->dp#jo(sRu^0r_o?(I zg7{QtZAC-uhF3LLX2<}Su*uwkgIjeM-Kt4&t3X+9RfXwRZ41w>yt}`{m~XmOqkK7K zF_-GxxJy;+%Q=fKm54B1DkO`!RKV#{P4}T_p`4Mfa9DUvmnsC8YC4Q1U8-qxsgmJQ zfywl!ASmupji*O7Nj$0vzMLsBZ)&_V=ghb_H6HfC86EGfs`uKxDOixuGYQ#Ku`ZEK zOs-hqN_~pqw<>!kP#z15FLk5%OI}C#w3;d2VmdWm{Qmy8s5bgh=*IKtt9ao<(RcDz z%oHcb8$QiQs44RnW8Hw?bJy%EOT0BfZ_NxZSRo0~suD3R^D6Iv{Ju8%o0tGj6U1w$ z$s0bGPLp1UU}iKOCb)kqCeUHJL@RL`B*${~i;#GxI24dPrva~-=|%qy1=Ykqp`4@Q z-Vj!Mld-lyzoR=FbBAIp4DAjDEZa(pqy2@wPsD~`Rcp%0{Dt=-(-quz=}IGgkx{MT zeD`zLdX3_gV4x_vFeRY+P-`qWTczJ8X`e#OqPrxBLHlzQH`3iGb(Iu>sw9OisZp(6 zZY&U10acFl;z6Y1NN1;IhmISc=$U$a>iK2?()=+02@6BaHgS88vSZuXBV~NgIE0of z5Oebh4a()EYR|)BP%4+AJGWQ-8`~go61C};f2($MWW9ChOKf{o9rn%7h&ugTDY;;i zuvo)P`1Ega)|#nTOD?XKQoLL(<>81c>K&W(7XL3&x2%<1u&WT)%$A8QSk;=3zJOhZ zthY)^v-V^i%<6z`@J1%Xi^jo9WHC0^C;R>QOUGXZ{xYkMxZU@rV4!yRqt5?~aQv+j ziXoz~`8NRF&-s?U>Hq}Y3SEe4t|Iz8QNTobiq`y7poVYR$EX(vqa2lt;_+T{kwk5- zL>OXy#M6im6Y+4heal{94pwA3BhQgs%t*vqk(rEiP@=^BTk?AaV5P;8O^%P?X9&j& zl^_|#;xp?!M!$$?_jB0N5FxKyxm!GA$n#tBJRj#Vm9TgMPXVUN$5-Y=u1uc>%5f^*K(=*Ip?Fjr8IzA2D+b5d34#! z$ifjR1l`Z@KDw+^TdwnpNQ!0_%qrhs7EO5x(vZeq7#-iy(2!&_9NKk$`v;pJG@6%v z8hQM+{mCyy>pTl4U+QVt+QZn2NP@=a1Dg@CA(Na9jmbviphFHAWUKM zVl+c_55ekt8i$j=MVfZ#b}U-!7PO%^&?5ueC8uLa-?D#1>&`enwCT!payO%0S;Dl=c^YQvq+abM%>3bb z+Hz~pI-GSR>Dy@CfIqancN^Obbk?`g4Oa-=*wbhyopcz3#2?+#L(nGl^QvS z+GIf*+*u7tTcK@gwAv#`JvP*{-ptw+-EgTT=^fHZ?_$VhM7IpHB)yaMuJL}>?xgp0 zJ;da_nY0Ue`l8i|-!CuyM0qyNw4}5XB-Lrnw)Ql>%K9>^E$I+6LoHsV^-VUu%|h*< zu1H5WCJY>PGZdP(tdV0K=Y0(gZtPvpSk}A{Mq$}jnuh5-Sq!A$EGK^()`0!?j&PiZ zzbo)J0e>O{QVt&3V$>IJ;HGd{ube{27k8c zcqi`!IN{V(wWe|IZ|d&HR%%Co=dO|5_Di`E#w>Auw~css2BYaB1p*})jq`gn6{G-8 zsM?-pb16!2bXVZiV&Ku75l~a$L10PKRNw@+qp5&%wBumD-<43&vqa_USfg=<7Q(}6 zS8jo8VJ{q5K+<%;*qunpZJM8m1KtAOkbzKVS3*N;it`<%>X+-8A=lh1>caz zHu5kpJn15E?{M;qL{_})zUOqzywTZyUN9>|!{q0_JKqTb`IXseSaEj(dWHk#9pYDF z<>lk`Gj&fvdq+8bZG^sEAr^7@394#bdj~?CPg8~G!^)`_1}ag6aJG;XeZuBha_q!CCm?~SD_Vp zquiIujIXGxwr6V3747wGe0{&H6+42CKh$57@5tI7srI9p9i0}?)&6=wW-C_vxjT)k z5fxc`%DYPm^P_eCw+XKH@5DnL%Wv=4RJR|4>u_VWe+QrhbxTQmM|J%RY-x8LnxSU3 zMBvf_wJ!AM2UUNqHICVR6=^ve{0hADJcgECqz?XC3Uz6H^D`J^=oYwzw?*dCuA+Oz;}kpX0` zNyg5|Y(L(7{W~i=a*HoA#T!b8&8V5;RBsfvcYsw`%E~*C#D#9_oMgPC8H>o&YYf`9 z+V4b6lKPMbn_Hw_jSc>_ROF4puW!8HKlZ*u%}H-IeCsr}HmCtr+lMD@#X2F?T|Evv znh5zL>--qRtXMV?>Wuxg+-d6GO}(S*BzIed3q{Y1xa3kDPJ58J5Pt#uO-6C^isFUq z0nOL?QP+5N)+}0vS+oP=MQc`p%c%9&;yJk1UxUX9$|h~i!7Xn{Ib?O|XI@TztYe= zAnBE=BMA$;sRv*uU>4@+ez4ZRfwkFDRiA1vaQAqDd#U$aQi=);=D8-$`EFDTYX_S*z zqW(ZRi~WmWAuw>+5sDye3!ds3UIE2*8r0~ysDw1IWe3%VrR^Os$=OIyq;7|Xv@NVv ztBUc=Qzg1i0*JIF4+Pckb#g`&smxgNJSLY8if5TRLr0(qc0iM)sx8vZ((8lj z8x)5*FUD>P&Tcy}$g410r*=7*q<^Nmmv27W(UJQ#uBGX_$f~baW{xQHuqhFq3Kf}y zzq$CUP%9B3whC;pL{N>EsMcSJKv2!m$uKw>fx)>74-C#qJWjM*S849`2}oZLj<`LZ zejT7k0cGt}Pp`ysZ#!EQCK~qH7q`zxoeT^(y56R0eREv{u9hJ$1xGp7K*IbU zQ4NMxe>u_-P~$M-43)J9u19W*yZUx)0Tio3aH68h6LAT*P2D11OG>f2Ov95(is3>` z0va6+KMEUCe~SozajDT(o=~FxiY{1_dWF%5ofWtRlf~wuYt*1u(RPn@tn}m!``_@9 z!3}|uC~S->9F5_h5DGvgx(Dbpv{4Bvzo@+fpL1s6AO|XC9n9UfU|en+X7hiek$?u! z5%TotTI`>UDIH|x@FBg!1HjcyZP8qLm`xc8OWNqnXYbKx{vTlL+Q<{SalXtEPAoeYHmGu~+$Arm+z6qzUfjcX%NVYu3aJ@TsU zso>!;udeeXwGGkI96%~52lHjN%<}$#`V_jNj2M~I0MCWG2xZl8dJHqKI&w~XNA9+8 z@2vV9bZqwn^%#>LF6NP2Sx|j@dwU1w?~drT32;&TqI3b2X8zz9V`|`3BPk(+=b7{`md)Wvv{>))1?f z(cEd2X_rV3G>oqG;KuyyfOa&RfA`>@oOS+Pc*t-e7@GDqhs)U*`!ZPIFL`sfxvP($ zqhLh64VJ)*W#6FxqVCkX3Frm2{sTaR0c`6`L(Ni(Q{Aw+y(7lRj$RMAo4Sh$>insY zR>TCEh@si+u7*eg85!EuKn(qy9%?kwpoitm@n=e7r3Tc)mUXT%otrFP242(MR z6oLmApo8je%>&<^4#gNmXCpc!O*Xkm&5A{b5Iq~wlTjDd$Wbzx8&Fqi4zn#0xdxFj zy8>(O#o6_Kv|*_l1WN!5Ve*K@r4NGc8Wlw&+9<)|a!|qIGS;kmaMwwt6{(#uZnlZ( zm4cg93hq`sq;Ks;AfSF9<7Nc76&~PbEV$|1i6+uIYHp015#Xka2X4lK+poFn{2l~~ z)HRxWeM0kNI-Uwi-qaj}m z>IT&Pnj0fY&r6*KQ>_dPjHe!G-DTU?pa9m8!g$)X$+rH>>@<8}p<|O2GT_p$5VaGZ zokklVY_ro9q+_#F24<&QaibRW$59h*ZwI#;JXi&WdWjQb4YP4BrBd}GQ zn!Cfjd@z=i&D&vvb2mt3V#a#~lQD~yV=tBa1#f0iXeeA`wOPl{!i>+EL`q#22<0>G z_cDX+e9Y~}U@PLf_%-{QU;Wcssq z;+2vMmazgetllmD*d6x!qbbGqcbt4?@5cK_(m6d%qxBrW&>MkuYaH!#h6dg!h2<@IcBKNMVck@MOz-r>Vz=Ve&cL zQIV4u5H~3eOYwJxYJbCc1C#1x@RD8a$_6Libn!@!N(-oVnZBJUc&%1E(i?n^DZK1l zD}{qintwNK(r`#%tD!#9?fX&bR%M{~;2jE+V&i9o6^+8`pXVzq&E!=O1SuYHs*8$mdPv%u+c1AH znhGz^(QHh{E1h_0tHgLs?R7FkPgSEovd|;9VRfkqQifIL)bVo~8?st%T1?BQRmhR?DEZvk}Lm8bCe%r8r z0Ji-LaqxrHKbpiJEaG6sr0Otcq~y-vQs;9_8ph?uKJ;h2-Wfhiy$2wxKAO@I9d6_< z@+|C!t935Cmf79t-qMT(!&1B(t2Qtd?t$QfE8bN}=Nktp@e_JpNq03mu~CWLWD=f| zQuRE1!l?IP)cNZwdDGKYetn*w7I!(TT4(7__!186F*ZBDB!Fvv??pyEXpBsWOkacT zT`XhJoa4QNci3v}tA>38lD;zT@?iNpKE)QHt8-HmUX&TU0~-M-%?HxvOY? zjMv|6-Yl_i=DstZvJ;cO%x%NYa~taJUstzx;L0IKm@z)3anu@zQM{&ze}TxTy2z;2 z#wZU~a40KnDx)W?L2S^N@L-W~xICdWvShVdhh?EL(sMkAr>LsQUm76Coe)6X$EO(Y z4u12v-iUP3$%zS(;x%ahb0q%;<-(2{Y6KHoK($mMb@3Wba--^^DF>q|HBs+dk@4PW z%BskCPh@0DbAOh!c#RRRGnT9_f>GarH6s#~s3(vZ0e%1R_t@cD;?eo z6j3$O<2SCOn5u0bM3?N4`@Y7ZmYGx-)p@7nfV!%x_bZRqThx8>cT{Jsnx@t1Ms@D; zltveRPy&0(`xV9nl-`5lzD#12CtBu@E?JA0yg?mO6_9n@t&Rz;S+A+f?nE?R97!=x zO|t6CI|Akm8Y%FW;+9K+Q(c~g)T2}RZsoOUk%?(Wqh*CS1X8T=fMMg2F;N7E5{2hz zkhj?40|KT1doly)%s{sK@Y2qLVQX@~4*x6my1U#@MVd?N;a>4o$rL>KdK$(FbH?kS zm>phMpQ4n5zt%0VFW!<-XMGa>#|Xwfz@{048!(t%mg=IE9-p5+WpiOqem@uQ)@1F$ zC7Q_eqdC)47ED10NI+@)SUOu(HbbgxhEpXSSF(-?DJWdc^rMlmtEIsRx8mkb?xBhl z^*)XVSnNaL16g|}O;RsmyX3f*vc1oW^C!FrnEO%1ApJf&E3#^zziPj~1T*o^hoCwO zQX_biZDLyF+BDSVM@G}kcy*fhi@tgGhm<#*VjQu`o4dqSamw=cW7f7VVih(8o!KmJ zij?G!!l^KJfmz+UYrZ`}{fs{;;s9c$rb8pIm_dHFe_%Q)B2<{4OkoXOqvRIBRTDr-i zfbP<0(_I=9#exoE)gK4zjG}s5-pnmYJ#>lQy{6J;MmR0P`cK>ir=hii1MY(IviPPr zNZEiA2LtL^R0c)`Dk%;5x~sp2eQt4?*DY5?t7Y*Cmo85#Y>xbbLq=Erbe;bLNGw9h zGS#18FwB~CVktGesy)elPcy4{;<0kRYCH!1REBze5UO>qw+eo3g7JFp>+>;1fpuQD zO;Ey7waDke?sWjW;89%2Y1s5h8&)1?C1ZQ*rSJgqot0Hj$=Kq0Dct8^wG_z{c0QBP zl6dJJv@=`M2}uX(kye~pHQVoNhle>$dzfgA)k~x`s`pfkhu-NyRCXo!i?Fd0QhOie zyy3#uS*p<#Kyg|juDjZV>!DWJAZ!tZ;b$p=>RK%<>kD0Cr&Z#k<<3}%Ke#Yf;>37~ zohUK&JfXxNu*B)TtP(qQiJd>J#EH7Z$E*@dw|H!Eyu{qdM@L|ZgHqyskHky-F3-tW zVwY;V?!*%3`)3E#bS+Gm7`wRb3G=#bL=qk{m-tz@!6WNfUL_L^J6($g+C1G{3u=n>Z&nWVJm zCZk-3kylUk;($stp|oDS0bz%_4*{LB}*#f#T}aA4blVXQ9rj$6KI7?kTFO7@smBM?+6 zI$Pwy2pFt&ctAhKI_#tSW6ayo&s3cQKTlN8!2XAhf<9^1C@)eS*cnG(UQv%7Yn+SF z!40T0_4$OgwLz;Wx>O<%RFzuJ$<3u{Q; z{si}m3S@^t>W_|SyRr>o_q{hzn}a;~=f;$r`fpyOnNT@i>zp86mU-UF;h7^AUoTvB zHZGhM#2E_i&J%|DCIcfe4!n?ne-YJ9l_3hFG2O!~wB(g3S5!8n)ud!ny@K2?=PlD( z;j~3-<+tT`qE^>0K2I`jUl`ZDlU6@j3ZXaz`Osp}>m{#w!Ga~rTs&D=HlLg&=k6g8 z<6gcH>tfbEmVLeemWb!ToJoPi26}^PJWIIUiS7Eca^G#~X2s!^;Uaa3j+0#<+ua1N zZ&T4R9=n}MZF?_t(9l1A^J2_dS=PE1)nav#YX2Hg$Ibs60mbJ3Pe5Q|E5jyO02e+d zbJ?G@hua<75u={GPAo-s&>FTlsKJP0s)R|H3fd5`-2;$go5ATAza_YSjPW}R+xmB5 zra}S6z~<*4f4ZC1Aq#A71-YvigOMvy9A2NLD?$#hQTEu`eJbL4fSrNAOiYksPoU6V z=%FtrEG~DNhu0fn5P7zq3;)Ap;l5vJFs7nThu7vJ|1b{h-wTVbvtb&tQDp11elGl1 z+iCsSAB)7J%v7a*&XNviN#E6DC<8g9caa0m>+jI=(;+Vy)#vpvVOt;wHO_{?Zuz5l zsLw8tEb0;N2Bl9Xvg&XmPTU7lDyAx)vS-T~)f`BzMp{U%#G?jhx9a}5$nIT=v<~r; zAaYklT;ybk)GigIu7Nm6rMZQ!vDQKrzMQW&6 zbZ0f}>tNIqI@;oZ8W0D0zX^^+8M1m1La^^Q8IAysI(71!G{p{zbfuuO_E?9p$C>43 z=#CKvWf=iwSK$F=EAhZKIA^fQ{@L*VOujk(Md(fysHEB00OzzKrw}Y6{2$F^7LBh$ zr=wT?2o*RKrYj?;KETd1saU3qVxY(d-l(g|K6Tm zHxTyho`1&d*^(b>&z8pR**IMl|0jFa-Lz+|raik=Tc5qCv+uQMJ>g2A$-c*)-SH!v zJuCb)X3yT^kUY8Zfj#@nT;ceBdv?0cq8>`0+MYRKd?rzZ7ZO^(v zq$4J>8*SG2ShNsCf4@b$L9QhnXVE6a!4oXnAFj1qwEHz>TC^3QPHNH4fc7*C-)GVG zi-X{V=Y0x`_KIdYxkc;6y)4V3tp@i=E!y3T{I4up+yBv`1#bJn7VUhnp2VVMa?8oG zXj?^O7Z&X=I-(1U_6sw~sVrKzpLDip_@zb59mD1ya!=*!a#n3~RvmWE|GeB0 z;?)*x^cBKfWqpA&lZ>VPcwcyB>g~#PZhOZl{sPtFFL7G3KH)kvng`Z*3bMf#AZdTh(^Y%&6Q3(O)pAEhr$M~MCbl$!f z;?nr4Ue?Y_>y^_KD!Yf`pYDinrUg4WqwtYqXH5CH_dN!#s23Y*I9@|W!*NIFib=X$ zuc-=H5IDs~}Xy)8JLeGPIGQdl*s-EoLa4lkhx-3K)O!4COJj zhM~(D;++f6XF;vIUQw)g`k1(`@*zXwfCLnab#4;2?=(rUO_Lr+Z!Jc|( zW0P$a6Y6bW#bko&d`i0ri0(R7OI(S@s1)>^p-XzHpQEXohhHh92iGh2PeiCre7dYX zMQ{bHkxsn_6y~oI;e<)Dbs?QBTI=AnpX2;JOG5QJrk-gw_;>TM+W$5l z&}ci^7slCp#R~iZ8K(J%;V&0|Irz&*@&h_~n@+x$$+M9>TJ873pW!YgJ3%t`KX{^# z-+T9V@S0&LXvU;KPL_JM5IqO4ZR-syM6E%h-jUh;J*A!IEmN) z!*mkEw~9biay_z8chGs13-lDy$2f{EDb)^XI0$;^e%Vu0Khnv~YV3{q=WV3+;5;W& z79^AvP|3J60&|v)1+csNkW(h$MT7AxGhM7W8}t2_B*214*|dw} zZ;PJ;+H9$Q>TUQD)%XPzbi>tP&ajA^QNeIvK>sC`F%T6doJ& zgNGaHW|IkbjtBGiuW&IN8y@MYCk%`Nywrn8T)$X88(TqWnu{wgkW1RAd0KEa0ZTE| zeBV$ds!EN$LDYbSzF6)KP%m3r1eL^ zS#3sBRfl!V5*q<{lLt{40Xnd07gbufpSI7vg1=gZH16dk2*CUy$cyFf75o)6_8Z*S zMu;PFE(_-D$6IUAKU$`Z_)x?9l(99sD0Y9W3BOT+eK#^MgzagTUynw;1CT`lHrO^G zEPFu&L9>m~T5Mq%sM6Gd&@?LA`+C-03Pj4#I?!A0RddWM#W3yRN=G%d(_q=i{1Ni$3@|X^Xtgf}XWcW}~TW!Kv|<2#@VNdgn5;r5OFX72W~~ z-yf~8{$#E2B}RGkW8j12AEM1}YE%0~T$|$KwTW9s(WVXNNoykw$v*9U`efSNNNrM~ z&882Kk7Y5>fvbb@G74qIku2Iw1phiFxCL!&aP!jaY`jk?D9yLj|2r2h^=o*tMK86Rc#qPi*N7o$d;zg9*Dh!5#g{aY}U7;V>I!1-y{v zt0+s^WL>Rg^@5yB6PgDwy44n)rlarBDms`8ZcAdgdLXjM@IJ3D#@RSVBI&^9HY8Ok zaCQ-cnqn`;0V6r;gecm4lpLR^g82}^R=F`*P)ViaS&x*00842k{08Jyqr+V>3lQ2m@OtKFE zD#JKnY>nSFg2O(mW`?t~RmCpJ1*f5oo_g8z*WK0oyQ3s}&NDWM0w=sVr;kVIL%XZ* zfN`Q@6Vpx|9(h`C#+h$k(ycvHH(u9n?Hw>ur~&ewg^70; ziafa1zY~v66RK7)2Tm;9S~pJaP)lS&gO#yj_-bo4-KUPEt#-%u&XkyAd#0N3M$EBw zKt*InXB6476kTKo$9C;h$%+iHI-IjUL9SSd9pz)STqS@TqClxWIxjkCXP-j0K9bW; z?I?<`mi&LHQ~M~!@TO^cNbwxq>^`Zg12a8_qz^iB5@he3ta{=8HJrW%j^9u`k$Our ziwhff`ox}&Mh4BRn4rRz;14>%nVo0*TGWd=9SK@)*tFQjJzsN+PZ^&F=pn;k3`Wg%CTZ~9IGk0LP!F4%`e~Ucgf2z{5k$^5YXVB#)OyX7wTF}g z>%qb$GKaz5Wx1={VDH58t@wY(b`G zM@dsYtT-|3FNsd}2VysnX6a#?N=Z`pQZqk=6!qvkGBIGbNkOcB&-yR~22~U~p`#<_ zZO|TQLJnx+!ULL+3!|t`wo;1J49#x!ShKz`iY_$tC}OV+st2)qgft{%6#ZBydy(rn zq>(ued34c*j}=RUZP(qS9uEwojLr)!)@gy9EAxWN9Ne{T<{C3LmttcKq^uVh2!vLn z52}wQQyG`FEC?r}cDXE=!+^Og$V=?dui(Odv?8gLd^Z9`YBm%@S)>T4CB~uz3J=s0 zS&(EG9%6E~AP`VPbP{kg0^B?C05@a7Jqr(T*UBbIP$k8<83FETn!8YQ(@hX{SfnEL z4=IfkvKawxKOT_HSjgUhhiI|}fq;4>#?1(Dug3%2j0LwJv%hGXeHyABV?W-PcD;~|=a5Wsf# zB&qbs7Ks4&BF)WMaOYW?aE}=GA7b2$X#V(oheP)`yvS1&sz)b~%?9;$k@SQ~<<3c} z3fqQN^=Sch3AQ28hfn+|2wFp28H71paXzvQIi2WCzk~?5A^cedbpG?C^W$PDe*XX? z6V{3m`27Q|P;@B|=|a3b!DGzDC`Tnaw(4s}o1Jf42Y%Qk*6;8Ns8m6#D9eUERhQHI zuSM#G8272VT(xw$fLayfK2?{4dZNh?OAbq@%%lbLX~54Y^EQ{JkKoZTs_7D#2QRB|vM({zs|@!8&=(o0oFA z!9P%aH5C3C_h_&nn+@emE9_TCu(QE?NbDhc5~yKWAeD}5W4=E(0UFYKH8;{|)iLPA zgDp%D`?njAmH+vwR3;3kxR!N(#uZ^paW!;Q>u~!#YfsAsFt=^MxsS?uQOqp^flwaH ze*3jjc1uT#TTFqlsneu(oU#iKE68hNgY^}%6TA@)zPEc|@J*&@uZVWSlJB5Gj~_k8 z&7Mkz|3`=SGJL-dv+C8o4Aa^#WxyP8MMp8<^tcjx#sOEP?$Xk&*R;DBb=sawNodLg zYK%^T6+#!IZp-n8{;U{x7o$$wb5Vz*u1K}wY!Ai+vbz{{@HxRGnsC$w)C)20E=Jv! z;|=|)72RR7zPGeBo5rhNk$w)v=`Vhv*W(8vuIPp*g z?dTV<7)WdlxC_*>Au?VGa%pSqL~rJz^~YR=GmkodDn-eeirf|LICiW<4cZ)AhWABM z6tWHv^zBu6oY1$mr`-opSsmi{o{y6{3@S2XW!ofPBFFK`hj0YBqKNh(oUZELq842a z;pV|VXb7*vffYO^a|r*qiy?e1R7D=&Q$lQtS2f|?diV14am_+3M+&NqmV<^!EC&PT z4Zh2Cwiwc^c(wEJu@12jmMOuIWpelOChV{yYbFh^;>IC51_=N>!nxv1E^2)bb?&?{)1&@05r&!n}`w{bglfD7XtKw2jLJ1@}s0OTO^ zb$D>$)B4@94!$s`2L7*f3#%BYPI0+q^wuNOfO6e5nvEMly!(U7!RIB$NyGjSBZvhgk_6RAo#cCr zV4b)gMXG;{`&33yd-4JGpRqs02mV6h^T7*^q$<2@JA2JMPJ&o5p|CC~#tD@4#S{&fdM#*}vcF?C#|Q_)!^sk099G z3k2^mx$n6Gk}dl;T5RT8=mDb}b>_&9!ZeIsTh<&|_aQTsEE7r9f^Xn=pW2DA%+S0) zHopwn$PM|vh!A%;a(P?+@dBw^jyeM`P0-{YK;fq)?JD(?mEAdjZ?ks z$4md+RLLoXZt@^2wfXC~+$Ro5Ic##fK4=_`O_Iaz zfuFaMF2djWi){g%2$gKw@6W(*kP*-hY>E!K(|HTkOrl*>lleS_z_chx#3I z*fbk%Fs2wz_~vwSi8_FN49;_0XF-DAqkA!3+JJtVX2`r8&`Fi0Bjd9AC0=ZUpCLXogBy2QpXthoXLM&G4Yb45k`kg8bb`bvb=f zj%u4vdaE`sA>CQtrWWd5m@j?(Njp>GgoqEO?m`Lmf`eWbYRrWPYK*aP6sDo##Bm>k zKu}GHaWewkWq5#_vEZhM18!^kaDe8pt=2n|ewYUxfR8{2aX&Bf3PC>LxMJZPiMx{pasc|k#}i2AY0AqK=<12oD{$vH7L7R$JHP% zM-7ENu%=yG6RggYIyK951vuEu9{9j)E7J$wg&^vgc}a8Vo^icS3Nt2H%vDirKXjqyH&_3k)!eL;8aT%tj4#QabjoVMz`^8|or9Y^m{*>-3QdZ) zfiUw=i#mG+Hr3dQcgD$!H(b4snv{qSYhHB?it(bPnCrIYMDp(=*r%g(D%w1}wGah{$>3r` z1}SNCklr|gE%IB4z4WpPekXT z!(Fs;vOkEDtd^3LO_ytkLn?ZQHlVT8yj|`7R>ZtA<__?D2Cuy62+6|r- z4=R;X-=@@5Ej4tMgxe%s-9RLQfQ`?9VuNe_>3DP+^Q21LJmFc_h# z?Wv&*Xr#^+!WohR_tk`y5><4GyPEqIkZjvU&FZlK;5d(S-97Pru8m^jtGhVoi|EUi zm}eh^FxdYZJWy%k&SQGv_AmMgr=EPZ;y-4uCZqZk$g2ldgxkpqs(>J#OwHZE0HsVxAgm zwWfAQ-PI$&h2N{Q+LO~an$9+Lqdln#K${C^=nG^Az-?O*6v%j=RqjE3t>wIky94Tv zpTcv(*%`h9^0Ki@^#h5j{{Sh$B~9wt*WOWs`^cS}bvroJ1F$XeW<5%1IUq~h6TL-f zd!m;o+E)8#(aOLEqV~D}I;Jaa4}4;2E30ZKd;<_DOmERrc;*+Pa8_r93&Ej2fkzfs znBKX16A%RCBh254;nZD(Wta5PXJIGN&&X#TWeNF`T|s;*+vc$Lm|!9@xl? z19)@cFbVJL9Oi9M2tA+`4~%GOJaea*mKxZUKYtrwIh5tv1Xnr0#k=sU@Ko&_XV(0z^TT|r0~o|qgH?ExMZIqw^>^~u zC0K>)5QnO(g&KwGIW5Nn%;R2uC-j6ZWvYOBUl+0YCV-Ze*a$ut0URG8K*Indpf3^9 zWWY*ru!2F~`KMv9n~~wt3h_#3e2y0c(=_n3sb%L%{uFZCWC*GuTX7DP<74Dcol*xd~_ssY9_xtiPaoNVMk*H}D6OAs)5DYO`+Qvo6I) zB4~9*{Mz@xy&{&&*lW!sFm_#V>xFATef3X_Nc@05GLE-{&}hbU{`hhud-0SBn7y(QPcPa<65Vnv3CmS!gz!N?j`BK@J_*2P}gw z1>`Ie2-T9WUie(-^lVb=bauSj*A3~-{w#IK5foGQU?a4_omh1QKr+a&uXvEm~|9rDz}g)jqXP6|n`(Cb%0AF+s)fM~OC%&bm~C&}4y_ z`+m>N?j|7i>GSFD{k$)HviIJZGc#w-oH=vm%$XUnHwMsK1T^6X=*YZ$Gnb{a*xVTO zcO^EUNw#xz$OwS*&tlNu75ad_WVGzXnj3^dgnx5^(Rar%q@vLdWkd}Nevt|SV8EcM zVLtGkaaK(6C(;zZDaGXn2PqM zks_jib96`}D`8K^ph+_abf$o&SU|sq2dC}}c$vj2W6%@|1%Bsx0|9&@Xs{V zTQTT=rlEcogQgZlvu5CdW~F9Cvs&=rEOQogFJV85K~n^v%>tTY0lfte&N8&}HH%G( zK~n^vH{*f4DHhPH@c?wx=_WA-O%Z@zC7>$>bZ!(ATJFPj!LSMgME{vBbYu(d!p5Nind2}7_8+*3o!gc_#ddC&3_SeX8rj@0 z;WC=Nt1K8zmfN&-i||s+@&!^jgMJ;waP4cIgtvMQ0F@(!UHvH5z7mRAnt;`CoM{xJ z`HqOFot>040 ztoOVr^^uhB6gm(Ur~j%hmXk-9&s1iCn2%eXkJE9?575UPi&lWMg-_v#(^GV0vy0*6 zOm+l0p~@)!GADt85U3cN1yz6_h5I6w&?2WV@becc2Oi#cKslo0 zwr~g+wntCojRGYci~bpGHsk?Ks~YCv<{2r|&i-^9oU$Lv?|msHkt5LS?=us!*8>z< z_IPnr1I|1vL&Y#i@$=ay#F`LC&EhOG(SC0aMDcsim%a47)uPDxvT4A)f6oUU$&2%4 zw*x=LpUw}I#Tl#Vp?CS2vf_-@b(k_EGIplyqb`u%f4Ng-!QXN}bCp~~J$sD7GXe$n zr8tDayN=`zouGy@G1;DpfC8Q-i9L$~;@C_ISVz6Qm;y{}Dgwah zv!9DQCwRy~9@2|n4Tc$YD~%xaTN#BWBcp89O$RSd zRM+KF(8hfFeY%i-x6)WwzqOeEmf)A)iDw_!KK7=xeohiB1$vC@r-wMbeBi0^84;SS z&dd(X5HwlePm>93-VoII4Wfw~HJ)H(_fWu-L=z&?ggACP1^j_%GKT_8?0N*K&-c?} zJ*UOC)(K z4jdXniEuZ^4=5R^k4rY!zes4U-+|xy^)Jx-FQ3IP?-LnOnv3I0(wYXG3H`6q`_y0} zZ05_m%Y_@KF-

>0n1}Q2Bcj0<}%Z(EBH1ZO?ujUEhdY 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 J0B2_g{sz#*N234$ literal 0 HcmV?d00001 diff --git a/Client Applications/rcracki_mt/rcracki_mt.vcproj b/Client Applications/rcracki_mt/rcracki_mt.vcproj new file mode 100644 index 0000000..53f7498 --- /dev/null +++ b/Client Applications/rcracki_mt/rcracki_mt.vcproj @@ -0,0 +1,317 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Client Applications/rcracki_mt/sha1.cpp b/Client Applications/rcracki_mt/sha1.cpp new file mode 100644 index 0000000..339ebb9 --- /dev/null +++ b/Client Applications/rcracki_mt/sha1.cpp @@ -0,0 +1,355 @@ +//#include +#if defined(WIN32) +#include +#endif +#include + + + +#define SHA1CircularShift(bits,word) (((word) << (bits)) | ((word) >> (32-(bits)))) + +// this rotate isn't faster with me +#if defined(WIN32) +#define ROTATE(a,n) _lrotl(a,n) +#else +#define ROTATE(a,n) (((a)<<(n))|(((a)&0xffffffff)>>(32-(n)))) +#endif + +/* A nice byte order reversal from Wei Dai */ +#if defined(WIN32) +/* 5 instructions with rotate instruction, else 9 */ +#define Endian_Reverse32(a) \ + { \ + unsigned long l=(a); \ + (a)=((ROTATE(l,8)&0x00FF00FF)|(ROTATE(l,24)&0xFF00FF00)); \ + } +#else +/* 6 instructions with rotate instruction, else 8 */ +#define Endian_Reverse32(a) \ + { \ + unsigned long l=(a); \ + l=(((l&0xFF00FF00)>>8L)|((l&0x00FF00FF)<<8L)); \ + (a)=ROTATE(l,16L); \ + } +#endif + +#define F_00_19(b,c,d) ((((c) ^ (d)) & (b)) ^ (d)) +#define F_20_39(b,c,d) ((b) ^ (c) ^ (d)) +#define F_40_59(b,c,d) (((b) & (c)) | (((b)|(c)) & (d))) +#define F_60_79(b,c,d) F_20_39(b,c,d) + +#define K0 0x5A827999 +#define K1 0x6ED9EBA1 +#define K2 0x8F1BBCDC +#define K3 0xCA62C1D6 + +#define H0 0x67452301 +#define H1 0xEFCDAB89 +#define H2 0x98BADCFE +#define H3 0x10325476 +#define H4 0xC3D2E1F0 + +typedef unsigned int UINT4; +#define SHA1HashSize 20 + +void SHA1_NEW( unsigned char * pData, int length, unsigned char * pDigest) +{ + if (length > 16) + return; + + UINT4 Message_Block_Index = 0; + + union + { + unsigned char Message_Block[64]; + UINT4 Message_Block_W[16]; + }; + + Message_Block_W[0] = 0x00000000; + Message_Block_W[1] = 0x00000000; + Message_Block_W[2] = 0x00000000; + Message_Block_W[3] = 0x00000000; + Message_Block_W[4] = 0x00000000; + + UINT4 Intermediate_Hash[5] = { H0, H1, H2, H3, H4 }; + + memcpy(Message_Block, pData, length); + Message_Block_Index += length; + + //padMessage + Message_Block[length] = 0x80; + + UINT4 W_15 = length << 3; + + int t; /* Loop counter */ + UINT4 temp; /* Temporary word value */ + UINT4 W[80]; /* Word sequence */ + UINT4 A, B, C, D, E; /* Word buffers */ + + /* + * Initialize the first 16 words in the array W + */ + + #define INIT_OLD(x) \ + W[x] = (Message_Block[(x) * 4] << 24) | \ + (Message_Block[(x) * 4 + 1] << 16) | \ + (Message_Block[(x) * 4 +2] << 8) | \ + (Message_Block[(x) * 4 +3]) + + #define INIT(x) W[x] = Message_Block_W[x]; + + #define INIT_NULL(x) W[x] = 0; + + + Endian_Reverse32(Message_Block_W[0]); + INIT(0); + + #define INIT_NULL_1_14 \ + INIT_NULL(1); INIT_NULL_2_14; + + #define INIT_NULL_2_14 \ + INIT_NULL(2); INIT_NULL_3_14; + + #define INIT_NULL_3_14 \ + INIT_NULL(3); INIT_NULL_4_14; + + #define INIT_NULL_4_14 \ + INIT_NULL(4); INIT_NULL_5_14; + + #define INIT_NULL_5_14 \ + INIT_NULL(5); INIT_NULL(6); INIT_NULL(7); \ + INIT_NULL(8); INIT_NULL(9); INIT_NULL(10); INIT_NULL(11); \ + INIT_NULL(12); INIT_NULL(13); INIT_NULL(14); + + #define ROTATE1_NULL_1_14 \ + ROTATE1_NULL; ROTATE1_NULL_2_14; + + #define ROTATE1_NULL_2_14 \ + ROTATE1_NULL; ROTATE1_NULL_3_14; + + #define ROTATE1_NULL_3_14 \ + ROTATE1_NULL; ROTATE1_NULL_4_14; + + #define ROTATE1_NULL_4_14 \ + ROTATE1_NULL; ROTATE1_NULL_5_14; + + #define ROTATE1_NULL_5_14 \ + ROTATE1_NULL; ROTATE1_NULL; ROTATE1_NULL; \ + ROTATE1_NULL; ROTATE1_NULL; ROTATE1_NULL; ROTATE1_NULL; \ + ROTATE1_NULL; ROTATE1_NULL; ROTATE1_NULL; + + + #define EXPAND(t) \ + W[t] = SHA1CircularShift(1,W[t-3] ^ W[t-8] ^ W[t-14] ^ W[t-16]); \ + + #define EXPAND_3(t) W[t] = SHA1CircularShift(1,W[t-3]); + #define EXPAND_16(t) W[t] = SHA1CircularShift(1,W[t-16]); + #define EXPAND_3_8(t) W[t] = SHA1CircularShift(1,W[t-3] ^ W[t-8]); + + + if (length < 4) { + INIT_NULL_1_14; + W[15] = W_15; + EXPAND_16(16); + W[17] = 0; + W[18] = W_15<<1; + } + else if (length < 8) { + Endian_Reverse32(Message_Block_W[1]); + INIT(1); + INIT_NULL_2_14; + W[15] = W_15; + EXPAND_16(16); + EXPAND_16(17); + W[18] = W_15<<1; + } + else { + Endian_Reverse32(Message_Block_W[1]); + Endian_Reverse32(Message_Block_W[2]); + Endian_Reverse32(Message_Block_W[3]); + Endian_Reverse32(Message_Block_W[4]); + INIT(1); INIT(2); INIT(3); INIT(4); + INIT_NULL_5_14; + W[15] = W_15; + EXPAND(16); + EXPAND(17); + EXPAND(18); + } + + + if (length < 12) { + EXPAND_3(19); + } + else { + EXPAND(19); + } + + if (length < 16) { + EXPAND_3(20); + } + else { + EXPAND(20); + } + EXPAND_3(21); EXPAND_3(22); + EXPAND(23); + + EXPAND(24); EXPAND(25); EXPAND_3_8(26); EXPAND_3_8(27); + EXPAND(28); EXPAND(29); EXPAND(30); EXPAND(31); + EXPAND(32); EXPAND(33); EXPAND(34); EXPAND(35); + EXPAND(36); EXPAND(37); EXPAND(38); EXPAND(39); + EXPAND(40); EXPAND(41); EXPAND(42); EXPAND(43); + EXPAND(44); EXPAND(45); EXPAND(46); EXPAND(47); + EXPAND(48); EXPAND(49); EXPAND(50); EXPAND(51); + EXPAND(52); EXPAND(53); EXPAND(54); EXPAND(55); + EXPAND(56); EXPAND(57); EXPAND(58); EXPAND(59); + EXPAND(60); EXPAND(61); EXPAND(62); EXPAND(63); + EXPAND(64); EXPAND(65); EXPAND(66); EXPAND(67); + EXPAND(68); EXPAND(69); EXPAND(70); EXPAND(71); + EXPAND(72); EXPAND(73); EXPAND(74); EXPAND(75); + EXPAND(76); EXPAND(77); EXPAND(78); EXPAND(79); + + + #define ROTATE1(t) \ + temp = SHA1CircularShift(5,A) + F_00_19(B,C,D) + E + W[t] + K0; \ + E = D; D = C; \ + C = SHA1CircularShift(30,B); \ + B = A; A = temp; \ + + #define ROTATE1_NEW(a, b, c, d, e, x) \ + e += SHA1CircularShift(5,a) + F_00_19(b,c,d) + x + K0; \ + b = SHA1CircularShift(30,b); + + #define ROTATE1_W(w) \ + temp = SHA1CircularShift(5,A) + F_00_19(B,C,D) + E + w + K0; \ + E = D; D = C; \ + C = SHA1CircularShift(30,B); \ + B = A; A = temp; + + #define ROTATE1_NULL \ + temp = SHA1CircularShift(5,A) + F_00_19(B,C,D) + E + K0; \ + E = D; D = C; \ + C = SHA1CircularShift(30,B); \ + B = A; A = temp; \ + + #define ROTATE2_NEW(a, b, c, d, e, x) \ + e += SHA1CircularShift(5,a) + F_20_39(b,c,d) + x + K1; \ + b = SHA1CircularShift(30,b); + + #define ROTATE2(t) \ + temp = SHA1CircularShift(5,A) + F_20_39(B,C,D) + E + W[t] + K1; \ + E = D; D = C; \ + C = SHA1CircularShift(30,B); \ + B = A; A = temp; + + #define ROTATE2_W(w) \ + temp = SHA1CircularShift(5,A) + F_20_39(B,C,D) + E + w + K1; \ + E = D; D = C; \ + C = SHA1CircularShift(30,B); \ + B = A; A = temp; + + #define ROTATE3(t) \ + temp = SHA1CircularShift(5,A) + F_40_59(B,C,D) + E + W[t] + K2; \ + E = D; D = C; \ + C = SHA1CircularShift(30,B); \ + B = A; A = temp; + + #define ROTATE4(t) \ + temp = SHA1CircularShift(5,A) + F_60_79(B,C,D) + E + W[t] + K3; \ + E = D; D = C; \ + C = SHA1CircularShift(30,B); \ + B = A; A = temp; + + A = H0; + B = H1; + C = H2; + D = H3; + E = H4; + + + E = H2; + //D = 2079550178; + //C = 1506887872; + B = 2679412915 + W[0]; + if (length < 4) { + A = SHA1CircularShift(5,B) + 1722862861; + } + else { + A = SHA1CircularShift(5,B) + 1722862861 + W[1]; + } + + if (length < 8) { + temp = SHA1CircularShift(5,A) + ((((1506887872) ^ (2079550178)) & (B)) ^ (2079550178)) + H2 + K0; + } + else { + temp = SHA1CircularShift(5,A) + (((572662306) & (B)) ^ (2079550178)) + H2 + K0 + W[2]; + } + C = SHA1CircularShift(30,B); //SHA1CircularShift(30,(2679412915 + W[0])); + B = A; + A = temp; + + if (length < 12) { + temp = SHA1CircularShift(5,A) + ((((C) ^ (1506887872)) & (B)) ^ (1506887872)) + 2079550178 + K0; + } + else { + temp = SHA1CircularShift(5,A) + ((((C) ^ (1506887872)) & (B)) ^ (1506887872)) + 2079550178 + K0 + W[3]; + } + E = 1506887872; + D = C; + C = SHA1CircularShift(30,B); + B = A; + A = temp; + + if (length < 16) { + temp = SHA1CircularShift(5,A) + F_00_19(B,C,D) + 1506887872 + K0; + } + else { + temp = SHA1CircularShift(5,A) + F_00_19(B,C,D) + 1506887872 + K0 + W[4]; + } + E = D; + D = C; + C = SHA1CircularShift(30,B); + B = A; + A = temp; + + ROTATE1_NULL_5_14; + + ROTATE1_NEW( A, B, C, D, E, W_15 ); + ROTATE1_NEW( E, A, B, C, D, W[16] ); + ROTATE1_NEW( D, E, A, B, C, W[17] ); + ROTATE1_NEW( C, D, E, A, B, W[18] ); + ROTATE1_NEW( B, C, D, E, A, W[19] ); + + for(t = 20; t < 40; t++) + { + if (t == 21 && length < 8) { + ROTATE2_W((length<<5)); // *32 + } + else { + ROTATE2(t); + } + } + + for(t = 40; t < 60; t++) + { + ROTATE3(t); + } + + for(t = 60; t < 80; t++) + { + ROTATE4(t); + } + + Intermediate_Hash[0] += A; + Intermediate_Hash[1] += B; + Intermediate_Hash[2] += C; + Intermediate_Hash[3] += D; + Intermediate_Hash[4] += E; + + Endian_Reverse32(Intermediate_Hash[0]); + Endian_Reverse32(Intermediate_Hash[1]); + Endian_Reverse32(Intermediate_Hash[2]); + Endian_Reverse32(Intermediate_Hash[3]); + Endian_Reverse32(Intermediate_Hash[4]); + + memcpy(pDigest, Intermediate_Hash, 20); +} diff --git a/Client Applications/rcracki_mt/sha1.h b/Client Applications/rcracki_mt/sha1.h new file mode 100644 index 0000000..e10a64b --- /dev/null +++ b/Client Applications/rcracki_mt/sha1.h @@ -0,0 +1 @@ +void SHA1_NEW( unsigned char * pData, int length, unsigned char * pDigest); -- 2.39.2