From 153da29c26e2aa0e5f8ffdad6c1bc9fb01b2e3e5 Mon Sep 17 00:00:00 2001 From: Martin Westergaard Jorgensen Date: Thu, 20 Aug 2009 08:59:51 +0200 Subject: [PATCH] updated distrrtgen_flash --- .../distrrtgen_flash/distrrtgen.cpp | 152 +----------------- .../distrrtgen_flash/distrrtgen.ncb | Bin 10202112 -> 17837056 bytes .../distrrtgen_flash/distrrtgen.suo | Bin 16384 -> 16384 bytes .../distrrtgen_flash/distrrtgen.vcproj | 4 +- 4 files changed, 5 insertions(+), 151 deletions(-) diff --git a/BOINC software/BOINC client apps/distrrtgen_flash/distrrtgen.cpp b/BOINC software/BOINC client apps/distrrtgen_flash/distrrtgen.cpp index 5271512..bfd0ca4 100644 --- a/BOINC software/BOINC client apps/distrrtgen_flash/distrrtgen.cpp +++ b/BOINC software/BOINC client apps/distrrtgen_flash/distrrtgen.cpp @@ -36,9 +36,8 @@ // #ifdef _WIN32 -#include "boinc_win.h" + #else -#include "config.h" #include #include #include @@ -51,10 +50,7 @@ #include #include #include -#include "str_util.h" -#include "util.h" -#include "filesys.h" -#include "boinc_api.h" +#include #include "Public.h" // Rainbowcrack code #include "ChainWalkContext.h" @@ -70,60 +66,11 @@ bool early_crash = false; bool early_sleep = false; double cpu_time = 20, comp_result; */ -int QuickSortPartition(RainbowChainCP* pChain, int nLow, int nHigh) -{ - int nRandomIndex = nLow + ((unsigned int)rand() * (RAND_MAX + 1) + (unsigned int)rand()) % (nHigh - nLow + 1); - RainbowChainCP TempChain; - TempChain = pChain[nLow]; - pChain[nLow] = pChain[nRandomIndex]; - pChain[nRandomIndex] = TempChain; - - TempChain = pChain[nLow]; - uint64 nPivotKey = pChain[nLow].nIndexE; - while (nLow < nHigh) - { - while (nLow < nHigh && pChain[nHigh].nIndexE >= nPivotKey) - nHigh--; - pChain[nLow] = pChain[nHigh]; - while (nLow < nHigh && pChain[nLow].nIndexE <= nPivotKey) - nLow++; - pChain[nHigh] = pChain[nLow]; - } - pChain[nLow] = TempChain; - return nLow; -} - -void QuickSort(RainbowChainCP* pChain, int nLow, int nHigh) -{ - if (nLow < nHigh) - { - int nPivotLoc = QuickSortPartition(pChain, nLow, nHigh); - QuickSort(pChain, nLow, nPivotLoc - 1); - QuickSort(pChain, nPivotLoc + 1, nHigh); - } -} - int main(int argc, char **argv) { int retval; double fd; - char output_path[512], chkpt_path[512]; - FILE* state; - retval = boinc_init(); - if (retval) { - fprintf(stderr, "boinc_init returned %d\n", retval); - exit(retval); - } - // get size of input file (used to compute fraction done) - // - //file_size(input_path, fsize); - - // See if there's a valid checkpoint file. - // If so seek input file and truncate output file - // - - if(argc < 10) { fprintf(stderr, "Not enough parameters"); @@ -207,45 +154,18 @@ int main(int argc, char **argv) { //std::cout << "Opening chain file" << std::endl; - // Open file -// fclose(fopen(sFilename.c_str(), "a")); -// FILE* file = fopen(sFilename.c_str(), "r+b"); - boinc_resolve_filename("result", output_path, sizeof(output_path)); - fclose(boinc_fopen(output_path, "a")); - FILE *outfile = boinc_fopen(output_path, "r+b"); - - if (outfile == NULL) - { - std::cerr << "failed to create " << output_path << std::endl; - return 4; - } - // Check existing chains - unsigned int nDataLen = (unsigned int)GetFileLen(outfile); - unsigned int nFileLen; - - // Round to boundary - nDataLen = nDataLen / 18 * 18; - if ((int)nDataLen == nRainbowChainCount * 18) - { - std::cerr << "precomputation of this rainbow table already finished" << std::endl; - fclose(outfile); - return 0; - } - nChainStart += (nDataLen / 18); - fseek(outfile, nDataLen, SEEK_SET); size_t nReturn; CChainWalkContext cwc; uint64 nIndex[2]; time_t tStart = time(NULL); // std::cout << "Starting to generate chains" << std::endl; - for(int nCurrentCalculatedChains = nDataLen / 18; nCurrentCalculatedChains < nRainbowChainCount; nCurrentCalculatedChains++) + for(int nCurrentCalculatedChains = 0; nCurrentCalculatedChains < nRainbowChainCount; nCurrentCalculatedChains++) { int cpcheck = 0; unsigned short checkpoint = 0; fd = (double)nCurrentCalculatedChains / (double)nRainbowChainCount; - boinc_fraction_done(fd); cwc.SetIndex(nChainStart++); // use a given index now! nIndex[0] = cwc.GetIndex(); @@ -268,78 +188,12 @@ int main(int argc, char **argv) { nIndex[1] = cwc.GetIndex(); // Write chain to disk - if ((nReturn = fwrite(nIndex, 1, 16, outfile)) != 16) - { - std::cerr << "disk write fail" << std::endl; - fclose(outfile); - return 9; - } - if((nReturn = fwrite(&checkpoint, 1, 2, outfile)) != 2) - { - std::cerr << "disk write fail" << std::endl; - fclose(outfile); - return 9; - } -// fflush(file); } //std::cout << "Generation completed" << std::endl; - fseek(outfile, 0, SEEK_SET); - nFileLen = GetFileLen(outfile); - nRainbowChainCount = nFileLen / 18; - - RainbowChainCP* pChain = (RainbowChainCP*)new unsigned char[sizeof(RainbowChainCP) * nRainbowChainCount]; - - if (pChain != NULL) - { - // Load file - fseek(outfile, 0, SEEK_SET); - for(int i = 0; i < nRainbowChainCount; i++) - { - if(fread(&pChain[i], 1, 16, outfile) != 16) - { - printf("disk read fail\n"); - return 9; - } - if(fread(&pChain[i].nCheckPoint, 1, sizeof(pChain[i].nCheckPoint), outfile) != 2) - { - printf("disk read fail\n"); - return 9; - } - } - // Sort file - QuickSort(pChain, 0, nRainbowChainCount - 1); - - // Write file - fseek(outfile, 0, SEEK_SET); - for(int i = 0; i < nRainbowChainCount; i++) - { - fwrite(&pChain[i], 1, 16, outfile); - fwrite(&pChain[i].nCheckPoint, 2, 1, outfile); - } - delete[] pChain; - } - - fclose(outfile); // main loop - read characters, convert to UC, write // - boinc_fraction_done(1); - boinc_finish(0); } -#ifdef _WIN32 -int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR Args, int WinMode) { - LPSTR command_line; - char* argv[100]; - int argc; - - command_line = GetCommandLine(); - argc = parse_command_line( command_line, argv ); - return main(argc, argv); -} -#endif - -const char *BOINC_RCSID_33ac47a071 = "$Id: upper_case.C 12135 2007-02-21 20:04:14Z davea $"; - diff --git a/BOINC software/BOINC client apps/distrrtgen_flash/distrrtgen.ncb b/BOINC software/BOINC client apps/distrrtgen_flash/distrrtgen.ncb index 099aba7b62a83a02b4a0ed64a8162b8d858195cd..4b3076b4282b3c0df1b0f07cbeaf97099ce22dc0 100644 GIT binary patch delta 115101 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%0A)I>+ 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 diff --git a/BOINC software/BOINC client apps/distrrtgen_flash/distrrtgen.suo b/BOINC software/BOINC client apps/distrrtgen_flash/distrrtgen.suo index cfac2c8139b4c2173e79b092d3c4443b5b72dbbd..426c9d908c3ae02d09840b7499df1f032d9b723b 100644 GIT binary patch delta 666 zcmaKp&1(~35XR???{1qW*~B(!wA8eLNkXZCen<+|$Qv{rqb z)kCp^r9^uv`%Rr8qMN*?%iMB`T+o{T>S?PBZZF>oUu;G+uUb`gR)q1aA9hqa{&#}+ zb&kDg)zUC~q=xIU?>5PSpy-jRbBS?)cQF#BFUW`BoyZlbzyZC9q?G zoq~*_+3}^9I?Ox|k%A#{Wj-gT`!PJ{=jKoUwmQ8gWImkRRpD*4y#sl(Jn&Qblhy~T zRti=!IBc+DlLgryjB){^q#?USMrz33%d$kglP{V==C_l+M~`TM9^(0whUqRXQw{ku z6Th?{Y8Gm#BkcPM9k0O~@D?2H%rq2#9xa=Z(h8EXP5D3Uj<@`KsZU@ESvVxe8gD{d zYJ>k>Ten}rEGgdVDf5@>i#mTl{)!Isx)<{%y%`0Shc&dmEU+iFp(MQ`hx3?J2{ z%=*}F^IPd79Z*Vj`M$34mS5qr*1W6hW)SKjp7X}rY0dXcgYpvC$b5EBLhisEhB|Uxg?1{~Bdq54|IA1)UG1+b$1(C71f)W|PxK8b$_@i=${H zbZH+}NRp$t*#NRy!nEx2NFJmVZ;n-Lx%kt!Gbgqko=^E4j1RQSE2B@5eFpZh%L}X> z@DjWNdz%Y)$p(`h;vf}pcj{q0r{>9>WFXU_L&WF22^&poLlOTzyXrni<0SD$Uya|- z-qgdl=6~?<>M<&CSRGuOKvqU{0bB-ROF*<)a07_l2BOIf?*MtmDiAFL9s{v;AesRi zpa|MPG@%1d19=YOH6_FQ0M3BzM2rhR!7qa^e`y!dAqQW=Dw~zSG7zivv<3L}o`0>k k$_20dqe;(oIwFfwi%80EOQPP_?pLRXYu+i_JwHT$0FV}w