]> git.sesse.net Git - freerainbowtables/blobdiff - Client Applications/rti2rto/rti2rto.cpp
(C)
[freerainbowtables] / Client Applications / rti2rto / rti2rto.cpp
index e4ee4fc740cfd88cd60e7c0322a3f00252ad95a7..760a7f56a552b429bb583cf993dd138661f7631f 100644 (file)
@@ -87,6 +87,7 @@ void ConvertRainbowTable(string sPathName, string sResultFileName, string sType)
                sFileName = sPathName.substr(nIndex + 1);
        else
                sFileName = sPathName;
+
        // Info
        printf("%s:\n", sFileName.c_str());
        FILE *fResult = fopen(sResultFileName.c_str(), "wb");
@@ -96,9 +97,8 @@ void ConvertRainbowTable(string sPathName, string sResultFileName, string sType)
                return;
        }
        static CMemoryPool mp;
-       unsigned int nAllocatedSize;
+       uint64 nAllocatedSize;
        BaseRTReader *reader = NULL;
-
        if(sType == "RTI2")
                reader = (BaseRTReader*)new RTI2Reader(sFileName);
        else if(sType == "RTI")
@@ -108,16 +108,28 @@ void ConvertRainbowTable(string sPathName, string sResultFileName, string sType)
                printf("Invalid table type '%s'", sType.c_str());
                return ;
        }
-
-       RainbowChainCP* pChain = (RainbowChainCP*)mp.Allocate(reader->GetChainsLeft() * sizeof(RainbowChainCP), nAllocatedSize);
+       uint64 size = reader->GetChainsLeft() * sizeof(RainbowChain);
+#ifdef _MEMORYDEBUG
+       printf("Starting allocation of %i bytes\n", size);
+#endif
+       RainbowChain* pChain = (RainbowChain*)mp.Allocate(size, nAllocatedSize);
+#ifdef _MEMORYDEBUG
+       printf("Finished. Got %i bytes\n", nAllocatedSize);
+#endif
        if (pChain != NULL)
        {
-               nAllocatedSize = nAllocatedSize / sizeof(RainbowChainCP) * sizeof(RainbowChainCP);              // Round to boundary
-               unsigned int nChains = nAllocatedSize / sizeof(RainbowChainCP);
+               nAllocatedSize = nAllocatedSize / sizeof(RainbowChain) * sizeof(RainbowChain);          // Round to boundary
+               unsigned int nChains = nAllocatedSize / sizeof(RainbowChain);
                while(reader->GetChainsLeft() > 0)
                {
+#ifdef _MEMORYDEBUG
+                       printf("Grabbing %i chains from file\n", nChains);
+#endif
                        reader->ReadChains(nChains, pChain);
-                       for(UINT4 i = 0; i < nChains; i++)
+#ifdef _MEMORYDEBUG
+                       printf("Recieved %i chains from file\n", nChains);
+#endif
+                       for(uint32 i = 0; i < nChains; i++)
                        {
                                fwrite(&pChain[i], 1, 16, fResult);
                        }
@@ -158,7 +170,7 @@ int main(int argc, char* argv[])
                printf("no rainbow table found\n");
                return 0;
        }
-       for (UINT4 i = 0; i < vPathName.size(); i++)
+       for (uint32 i = 0; i < vPathName.size(); i++)
        {
                string sResultFile, sType;