From: Martin Westergaard Jorgensen Date: Wed, 12 Aug 2009 06:46:00 +0000 (+0200) Subject: cleanup X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=a6c3bc5722a9dba811ffb1d2d5d8ae97be09d8ee;p=freerainbowtables cleanup --- diff --git a/BOINC software/BOINC client apps/chain_checker/Debug/BuildLog.htm b/BOINC software/BOINC client apps/chain_checker/Debug/BuildLog.htm deleted file mode 100644 index 989a24a..0000000 Binary files a/BOINC software/BOINC client apps/chain_checker/Debug/BuildLog.htm and /dev/null differ diff --git a/BOINC software/BOINC client apps/chain_checker/Debug/ChainWalkContext.obj b/BOINC software/BOINC client apps/chain_checker/Debug/ChainWalkContext.obj deleted file mode 100644 index bf1bb3f..0000000 Binary files a/BOINC software/BOINC client apps/chain_checker/Debug/ChainWalkContext.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/chain_checker/Debug/HashAlgorithm.obj b/BOINC software/BOINC client apps/chain_checker/Debug/HashAlgorithm.obj deleted file mode 100644 index 4dcae37..0000000 Binary files a/BOINC software/BOINC client apps/chain_checker/Debug/HashAlgorithm.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/chain_checker/Debug/HashRoutine.obj b/BOINC software/BOINC client apps/chain_checker/Debug/HashRoutine.obj deleted file mode 100644 index f79446c..0000000 Binary files a/BOINC software/BOINC client apps/chain_checker/Debug/HashRoutine.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/chain_checker/Debug/Public.obj b/BOINC software/BOINC client apps/chain_checker/Debug/Public.obj deleted file mode 100644 index a0c9d44..0000000 Binary files a/BOINC software/BOINC client apps/chain_checker/Debug/Public.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/chain_checker/Debug/chain_checker.exe.embed.manifest b/BOINC software/BOINC client apps/chain_checker/Debug/chain_checker.exe.embed.manifest deleted file mode 100644 index 11bb704..0000000 --- a/BOINC software/BOINC client apps/chain_checker/Debug/chain_checker.exe.embed.manifest +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/BOINC software/BOINC client apps/chain_checker/Debug/chain_checker.exe.embed.manifest.res b/BOINC software/BOINC client apps/chain_checker/Debug/chain_checker.exe.embed.manifest.res deleted file mode 100644 index 9c8df0e..0000000 Binary files a/BOINC software/BOINC client apps/chain_checker/Debug/chain_checker.exe.embed.manifest.res and /dev/null differ diff --git a/BOINC software/BOINC client apps/chain_checker/Debug/chain_checker.exe.intermediate.manifest b/BOINC software/BOINC client apps/chain_checker/Debug/chain_checker.exe.intermediate.manifest deleted file mode 100644 index ecea6f7..0000000 --- a/BOINC software/BOINC client apps/chain_checker/Debug/chain_checker.exe.intermediate.manifest +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/BOINC software/BOINC client apps/chain_checker/Debug/chain_checker.obj b/BOINC software/BOINC client apps/chain_checker/Debug/chain_checker.obj deleted file mode 100644 index 723e15c..0000000 Binary files a/BOINC software/BOINC client apps/chain_checker/Debug/chain_checker.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/chain_checker/Debug/des_enc.obj b/BOINC software/BOINC client apps/chain_checker/Debug/des_enc.obj deleted file mode 100644 index 856aea8..0000000 Binary files a/BOINC software/BOINC client apps/chain_checker/Debug/des_enc.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/chain_checker/Debug/des_setkey.obj b/BOINC software/BOINC client apps/chain_checker/Debug/des_setkey.obj deleted file mode 100644 index 3a2afa9..0000000 Binary files a/BOINC software/BOINC client apps/chain_checker/Debug/des_setkey.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/chain_checker/Debug/ecb_enc.obj b/BOINC software/BOINC client apps/chain_checker/Debug/ecb_enc.obj deleted file mode 100644 index a83f885..0000000 Binary files a/BOINC software/BOINC client apps/chain_checker/Debug/ecb_enc.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/chain_checker/Debug/md4.obj b/BOINC software/BOINC client apps/chain_checker/Debug/md4.obj deleted file mode 100644 index dd3abc7..0000000 Binary files a/BOINC software/BOINC client apps/chain_checker/Debug/md4.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/chain_checker/Debug/md5.obj b/BOINC software/BOINC client apps/chain_checker/Debug/md5.obj deleted file mode 100644 index d09f579..0000000 Binary files a/BOINC software/BOINC client apps/chain_checker/Debug/md5.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/chain_checker/Debug/mt.dep b/BOINC software/BOINC client apps/chain_checker/Debug/mt.dep deleted file mode 100644 index 7da780d..0000000 --- a/BOINC software/BOINC client apps/chain_checker/Debug/mt.dep +++ /dev/null @@ -1 +0,0 @@ -Manifest resource last updated at 21:46:51,37 on 28-11-2008 diff --git a/BOINC software/BOINC client apps/chain_checker/Debug/vc90.idb b/BOINC software/BOINC client apps/chain_checker/Debug/vc90.idb deleted file mode 100644 index f76af2a..0000000 Binary files a/BOINC software/BOINC client apps/chain_checker/Debug/vc90.idb and /dev/null differ diff --git a/BOINC software/BOINC client apps/chain_checker/Debug/vc90.pdb b/BOINC software/BOINC client apps/chain_checker/Debug/vc90.pdb deleted file mode 100644 index abb6e5e..0000000 Binary files a/BOINC software/BOINC client apps/chain_checker/Debug/vc90.pdb and /dev/null differ diff --git a/BOINC software/BOINC client apps/chain_checker/ReadMe.txt b/BOINC software/BOINC client apps/chain_checker/ReadMe.txt deleted file mode 100644 index 4a7b573..0000000 --- a/BOINC software/BOINC client apps/chain_checker/ReadMe.txt +++ /dev/null @@ -1,33 +0,0 @@ -======================================================================== - CONSOLE APPLICATION : chain_checker Project Overview -======================================================================== - -AppWizard has created this chain_checker application for you. - -This file contains a summary of what you will find in each of the files that -make up your chain_checker application. - - -chain_checker.vcproj - This is the main project file for VC++ projects generated using an Application Wizard. - It contains information about the version of Visual C++ that generated the file, and - information about the platforms, configurations, and project features selected with the - Application Wizard. - -chain_checker.cpp - This is the main application source file. - -///////////////////////////////////////////////////////////////////////////// -Other standard files: - -StdAfx.h, StdAfx.cpp - These files are used to build a precompiled header (PCH) file - named chain_checker.pch and a precompiled types file named StdAfx.obj. - -///////////////////////////////////////////////////////////////////////////// -Other notes: - -AppWizard uses "TODO:" comments to indicate parts of the source code you -should add to or customize. - -///////////////////////////////////////////////////////////////////////////// diff --git a/BOINC software/BOINC client apps/chain_checker/Release/BuildLog.htm b/BOINC software/BOINC client apps/chain_checker/Release/BuildLog.htm deleted file mode 100644 index 3240473..0000000 Binary files a/BOINC software/BOINC client apps/chain_checker/Release/BuildLog.htm and /dev/null differ diff --git a/BOINC software/BOINC client apps/chain_checker/Release/ChainWalkContext.obj b/BOINC software/BOINC client apps/chain_checker/Release/ChainWalkContext.obj deleted file mode 100644 index 603b434..0000000 Binary files a/BOINC software/BOINC client apps/chain_checker/Release/ChainWalkContext.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/chain_checker/Release/HashAlgorithm.obj b/BOINC software/BOINC client apps/chain_checker/Release/HashAlgorithm.obj deleted file mode 100644 index 63fdbe0..0000000 Binary files a/BOINC software/BOINC client apps/chain_checker/Release/HashAlgorithm.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/chain_checker/Release/HashRoutine.obj b/BOINC software/BOINC client apps/chain_checker/Release/HashRoutine.obj deleted file mode 100644 index 6483539..0000000 Binary files a/BOINC software/BOINC client apps/chain_checker/Release/HashRoutine.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/chain_checker/Release/Public.obj b/BOINC software/BOINC client apps/chain_checker/Release/Public.obj deleted file mode 100644 index f91d39a..0000000 Binary files a/BOINC software/BOINC client apps/chain_checker/Release/Public.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/chain_checker/Release/chain_checker.exe.intermediate.manifest b/BOINC software/BOINC client apps/chain_checker/Release/chain_checker.exe.intermediate.manifest deleted file mode 100644 index ecea6f7..0000000 --- a/BOINC software/BOINC client apps/chain_checker/Release/chain_checker.exe.intermediate.manifest +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/BOINC software/BOINC client apps/chain_checker/Release/chain_checker.obj b/BOINC software/BOINC client apps/chain_checker/Release/chain_checker.obj deleted file mode 100644 index c4ef26f..0000000 Binary files a/BOINC software/BOINC client apps/chain_checker/Release/chain_checker.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/chain_checker/Release/des_enc.obj b/BOINC software/BOINC client apps/chain_checker/Release/des_enc.obj deleted file mode 100644 index eaf9b3a..0000000 Binary files a/BOINC software/BOINC client apps/chain_checker/Release/des_enc.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/chain_checker/Release/des_setkey.obj b/BOINC software/BOINC client apps/chain_checker/Release/des_setkey.obj deleted file mode 100644 index c3b113d..0000000 Binary files a/BOINC software/BOINC client apps/chain_checker/Release/des_setkey.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/chain_checker/Release/ecb_enc.obj b/BOINC software/BOINC client apps/chain_checker/Release/ecb_enc.obj deleted file mode 100644 index c30e9fc..0000000 Binary files a/BOINC software/BOINC client apps/chain_checker/Release/ecb_enc.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/chain_checker/Release/md4.obj b/BOINC software/BOINC client apps/chain_checker/Release/md4.obj deleted file mode 100644 index d49f3cf..0000000 Binary files a/BOINC software/BOINC client apps/chain_checker/Release/md4.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/chain_checker/Release/md5.obj b/BOINC software/BOINC client apps/chain_checker/Release/md5.obj deleted file mode 100644 index 91a8b6b..0000000 Binary files a/BOINC software/BOINC client apps/chain_checker/Release/md5.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/chain_checker/Release/mt.dep b/BOINC software/BOINC client apps/chain_checker/Release/mt.dep deleted file mode 100644 index 331b271..0000000 --- a/BOINC software/BOINC client apps/chain_checker/Release/mt.dep +++ /dev/null @@ -1 +0,0 @@ -Manifest resource last updated at 23:22:47,51 on 28-11-2008 diff --git a/BOINC software/BOINC client apps/chain_checker/Release/vc90.idb b/BOINC software/BOINC client apps/chain_checker/Release/vc90.idb deleted file mode 100644 index 0f4b159..0000000 Binary files a/BOINC software/BOINC client apps/chain_checker/Release/vc90.idb and /dev/null differ diff --git a/BOINC software/BOINC client apps/chain_checker/Release/vc90.pdb b/BOINC software/BOINC client apps/chain_checker/Release/vc90.pdb deleted file mode 100644 index 9f4325a..0000000 Binary files a/BOINC software/BOINC client apps/chain_checker/Release/vc90.pdb and /dev/null differ diff --git a/BOINC software/BOINC client apps/chain_checker/boinc_lockfile b/BOINC software/BOINC client apps/chain_checker/boinc_lockfile deleted file mode 100644 index e69de29..0000000 diff --git a/BOINC software/BOINC client apps/chain_checker/chain_checker.ncb b/BOINC software/BOINC client apps/chain_checker/chain_checker.ncb deleted file mode 100644 index 732b725..0000000 Binary files a/BOINC software/BOINC client apps/chain_checker/chain_checker.ncb and /dev/null differ diff --git a/BOINC software/BOINC client apps/chain_checker/chain_checker.vcproj.W-L-MWJ.Administrator.user b/BOINC software/BOINC client apps/chain_checker/chain_checker.vcproj.W-L-MWJ.Administrator.user deleted file mode 100644 index 34fec73..0000000 --- a/BOINC software/BOINC client apps/chain_checker/chain_checker.vcproj.W-L-MWJ.Administrator.user +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - diff --git a/BOINC software/BOINC client apps/chain_checker/chain_checker.vcproj.mwj-PC.mwj.user b/BOINC software/BOINC client apps/chain_checker/chain_checker.vcproj.mwj-PC.mwj.user deleted file mode 100644 index 15b19f6..0000000 --- a/BOINC software/BOINC client apps/chain_checker/chain_checker.vcproj.mwj-PC.mwj.user +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - diff --git a/BOINC software/BOINC client apps/chain_checker/chains b/BOINC software/BOINC client apps/chain_checker/chains deleted file mode 100644 index 118bde5..0000000 Binary files a/BOINC software/BOINC client apps/chain_checker/chains and /dev/null differ diff --git a/BOINC software/BOINC client apps/chain_checker/result b/BOINC software/BOINC client apps/chain_checker/result deleted file mode 100644 index e69de29..0000000 diff --git a/BOINC software/BOINC client apps/chain_checker/stderr.txt b/BOINC software/BOINC client apps/chain_checker/stderr.txt deleted file mode 100644 index edd0888..0000000 --- a/BOINC software/BOINC client apps/chain_checker/stderr.txt +++ /dev/null @@ -1,3 +0,0 @@ -Can't open init data file - running in standalone mode -Can't open init data file - running in standalone mode -Can't open init data file - running in standalone mode diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/BuildLog.htm b/BOINC software/BOINC client apps/distrrtgen/Debug/BuildLog.htm deleted file mode 100644 index 8dfe859..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Debug/BuildLog.htm and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/ChainWalkContext.obj b/BOINC software/BOINC client apps/distrrtgen/Debug/ChainWalkContext.obj deleted file mode 100644 index def2732..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Debug/ChainWalkContext.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/HashAlgorithm.obj b/BOINC software/BOINC client apps/distrrtgen/Debug/HashAlgorithm.obj deleted file mode 100644 index cab0de9..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Debug/HashAlgorithm.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/HashRoutine.obj b/BOINC software/BOINC client apps/distrrtgen/Debug/HashRoutine.obj deleted file mode 100644 index c60dfde..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Debug/HashRoutine.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/Public.obj b/BOINC software/BOINC client apps/distrrtgen/Debug/Public.obj deleted file mode 100644 index 9a64abf..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Debug/Public.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/chain_checker.exe b/BOINC software/BOINC client apps/distrrtgen/Debug/chain_checker.exe deleted file mode 100644 index 94b12a5..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Debug/chain_checker.exe and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/chain_checker.ilk b/BOINC software/BOINC client apps/distrrtgen/Debug/chain_checker.ilk deleted file mode 100644 index a1bc805..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Debug/chain_checker.ilk and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/chain_checker.pdb b/BOINC software/BOINC client apps/distrrtgen/Debug/chain_checker.pdb deleted file mode 100644 index 2a6d03f..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Debug/chain_checker.pdb and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/convertrti2.exe b/BOINC software/BOINC client apps/distrrtgen/Debug/convertrti2.exe deleted file mode 100644 index c71afbb..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Debug/convertrti2.exe and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/convertrti2.pdb b/BOINC software/BOINC client apps/distrrtgen/Debug/convertrti2.pdb deleted file mode 100644 index 60e01f1..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Debug/convertrti2.pdb and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/des_enc.obj b/BOINC software/BOINC client apps/distrrtgen/Debug/des_enc.obj deleted file mode 100644 index f9c88e4..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Debug/des_enc.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/des_setkey.obj b/BOINC software/BOINC client apps/distrrtgen/Debug/des_setkey.obj deleted file mode 100644 index ab943e3..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Debug/des_setkey.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/distrrtgen.exe b/BOINC software/BOINC client apps/distrrtgen/Debug/distrrtgen.exe deleted file mode 100644 index 060fca3..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Debug/distrrtgen.exe and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/distrrtgen.exe.embed.manifest b/BOINC software/BOINC client apps/distrrtgen/Debug/distrrtgen.exe.embed.manifest deleted file mode 100644 index d2d2076..0000000 --- a/BOINC software/BOINC client apps/distrrtgen/Debug/distrrtgen.exe.embed.manifest +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/distrrtgen.exe.embed.manifest.res b/BOINC software/BOINC client apps/distrrtgen/Debug/distrrtgen.exe.embed.manifest.res deleted file mode 100644 index 3a6eb75..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Debug/distrrtgen.exe.embed.manifest.res and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/distrrtgen.exe.intermediate.manifest b/BOINC software/BOINC client apps/distrrtgen/Debug/distrrtgen.exe.intermediate.manifest deleted file mode 100644 index ecea6f7..0000000 --- a/BOINC software/BOINC client apps/distrrtgen/Debug/distrrtgen.exe.intermediate.manifest +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/distrrtgen.ilk b/BOINC software/BOINC client apps/distrrtgen/Debug/distrrtgen.ilk deleted file mode 100644 index 227ea3a..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Debug/distrrtgen.ilk and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/distrrtgen.obj b/BOINC software/BOINC client apps/distrrtgen/Debug/distrrtgen.obj deleted file mode 100644 index 8335a00..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Debug/distrrtgen.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/distrrtgen.pdb b/BOINC software/BOINC client apps/distrrtgen/Debug/distrrtgen.pdb deleted file mode 100644 index a0d24c7..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Debug/distrrtgen.pdb and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/ecb_enc.obj b/BOINC software/BOINC client apps/distrrtgen/Debug/ecb_enc.obj deleted file mode 100644 index b0fa5f9..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Debug/ecb_enc.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/index_calculator.exe b/BOINC software/BOINC client apps/distrrtgen/Debug/index_calculator.exe deleted file mode 100644 index 9a36288..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Debug/index_calculator.exe and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/index_calculator.pdb b/BOINC software/BOINC client apps/distrrtgen/Debug/index_calculator.pdb deleted file mode 100644 index 7362924..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Debug/index_calculator.pdb and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/md4.obj b/BOINC software/BOINC client apps/distrrtgen/Debug/md4.obj deleted file mode 100644 index 6a63e2a..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Debug/md4.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/md5.obj b/BOINC software/BOINC client apps/distrrtgen/Debug/md5.obj deleted file mode 100644 index 3dee2f8..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Debug/md5.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/mt.dep b/BOINC software/BOINC client apps/distrrtgen/Debug/mt.dep deleted file mode 100644 index bce7c40..0000000 --- a/BOINC software/BOINC client apps/distrrtgen/Debug/mt.dep +++ /dev/null @@ -1 +0,0 @@ -Manifest resource last updated at 18:46:19,51 on 28-11-2008 diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/rcracki.exe b/BOINC software/BOINC client apps/distrrtgen/Debug/rcracki.exe deleted file mode 100644 index e38e71f..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Debug/rcracki.exe and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/rcracki.pdb b/BOINC software/BOINC client apps/distrrtgen/Debug/rcracki.pdb deleted file mode 100644 index 07e3a69..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Debug/rcracki.pdb and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/rsearch.exe b/BOINC software/BOINC client apps/distrrtgen/Debug/rsearch.exe deleted file mode 100644 index df7686c..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Debug/rsearch.exe and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/rsearch.pdb b/BOINC software/BOINC client apps/distrrtgen/Debug/rsearch.pdb deleted file mode 100644 index 35c7f3c..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Debug/rsearch.pdb and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/rti2rto.exe b/BOINC software/BOINC client apps/distrrtgen/Debug/rti2rto.exe deleted file mode 100644 index 9f3371b..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Debug/rti2rto.exe and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/rti2rto.pdb b/BOINC software/BOINC client apps/distrrtgen/Debug/rti2rto.pdb deleted file mode 100644 index e03c832..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Debug/rti2rto.pdb and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/rtperfectp.exe b/BOINC software/BOINC client apps/distrrtgen/Debug/rtperfectp.exe deleted file mode 100644 index 7b2825d..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Debug/rtperfectp.exe and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/rtperfectp.pdb b/BOINC software/BOINC client apps/distrrtgen/Debug/rtperfectp.pdb deleted file mode 100644 index 4d50d8c..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Debug/rtperfectp.pdb and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/vc90.idb b/BOINC software/BOINC client apps/distrrtgen/Debug/vc90.idb deleted file mode 100644 index b2ed940..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Debug/vc90.idb and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Debug/vc90.pdb b/BOINC software/BOINC client apps/distrrtgen/Debug/vc90.pdb deleted file mode 100644 index 001d111..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Debug/vc90.pdb and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/BuildLog.htm b/BOINC software/BOINC client apps/distrrtgen/Release/BuildLog.htm deleted file mode 100644 index d752f6b..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Release/BuildLog.htm and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/ChainWalkContext.obj b/BOINC software/BOINC client apps/distrrtgen/Release/ChainWalkContext.obj deleted file mode 100644 index ea146c8..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Release/ChainWalkContext.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/ChainWalkSet.obj b/BOINC software/BOINC client apps/distrrtgen/Release/ChainWalkSet.obj deleted file mode 100644 index fa49662..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Release/ChainWalkSet.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/HashAlgorithm.obj b/BOINC software/BOINC client apps/distrrtgen/Release/HashAlgorithm.obj deleted file mode 100644 index d928d5d..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Release/HashAlgorithm.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/HashRoutine.obj b/BOINC software/BOINC client apps/distrrtgen/Release/HashRoutine.obj deleted file mode 100644 index 7fc80b5..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Release/HashRoutine.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/Public.obj b/BOINC software/BOINC client apps/distrrtgen/Release/Public.obj deleted file mode 100644 index 1d09354..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Release/Public.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/chain_checker.exe b/BOINC software/BOINC client apps/distrrtgen/Release/chain_checker.exe deleted file mode 100644 index 4322fb0..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Release/chain_checker.exe and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/chain_checker.pdb b/BOINC software/BOINC client apps/distrrtgen/Release/chain_checker.pdb deleted file mode 100644 index 53bd84f..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Release/chain_checker.pdb and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/convertrti2.exe b/BOINC software/BOINC client apps/distrrtgen/Release/convertrti2.exe deleted file mode 100644 index 096a655..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Release/convertrti2.exe and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/convertrti2.pdb b/BOINC software/BOINC client apps/distrrtgen/Release/convertrti2.pdb deleted file mode 100644 index 09e55b1..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Release/convertrti2.pdb and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/des_enc.obj b/BOINC software/BOINC client apps/distrrtgen/Release/des_enc.obj deleted file mode 100644 index 528ad51..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Release/des_enc.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/des_setkey.obj b/BOINC software/BOINC client apps/distrrtgen/Release/des_setkey.obj deleted file mode 100644 index 4c11adb..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Release/des_setkey.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/distrrtgen.exe b/BOINC software/BOINC client apps/distrrtgen/Release/distrrtgen.exe deleted file mode 100644 index 8f1ce49..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Release/distrrtgen.exe and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/distrrtgen.exe.intermediate.manifest b/BOINC software/BOINC client apps/distrrtgen/Release/distrrtgen.exe.intermediate.manifest deleted file mode 100644 index ecea6f7..0000000 --- a/BOINC software/BOINC client apps/distrrtgen/Release/distrrtgen.exe.intermediate.manifest +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/distrrtgen.obj b/BOINC software/BOINC client apps/distrrtgen/Release/distrrtgen.obj deleted file mode 100644 index 6647311..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Release/distrrtgen.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/distrrtgen.pdb b/BOINC software/BOINC client apps/distrrtgen/Release/distrrtgen.pdb deleted file mode 100644 index c0f5e43..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Release/distrrtgen.pdb and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/distrrtgen_2.17_windows_intelx86.exe b/BOINC software/BOINC client apps/distrrtgen/Release/distrrtgen_2.17_windows_intelx86.exe deleted file mode 100644 index a09d632..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Release/distrrtgen_2.17_windows_intelx86.exe and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/distrrtgen_2.18_windows_intelx86.exe b/BOINC software/BOINC client apps/distrrtgen/Release/distrrtgen_2.18_windows_intelx86.exe deleted file mode 100644 index 56b32ab..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Release/distrrtgen_2.18_windows_intelx86.exe and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/distrrtgen_2.19_windows_intelx86.exe b/BOINC software/BOINC client apps/distrrtgen/Release/distrrtgen_2.19_windows_intelx86.exe deleted file mode 100644 index fcb3fe4..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Release/distrrtgen_2.19_windows_intelx86.exe and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/ecb_enc.obj b/BOINC software/BOINC client apps/distrrtgen/Release/ecb_enc.obj deleted file mode 100644 index a249083..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Release/ecb_enc.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/index_calculator.exe b/BOINC software/BOINC client apps/distrrtgen/Release/index_calculator.exe deleted file mode 100644 index c9b1467..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Release/index_calculator.exe and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/index_calculator.pdb b/BOINC software/BOINC client apps/distrrtgen/Release/index_calculator.pdb deleted file mode 100644 index cbff30b..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Release/index_calculator.pdb and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/md4.obj b/BOINC software/BOINC client apps/distrrtgen/Release/md4.obj deleted file mode 100644 index ffed4b0..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Release/md4.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/md5.obj b/BOINC software/BOINC client apps/distrrtgen/Release/md5.obj deleted file mode 100644 index 3d75ae7..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Release/md5.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/mt.dep b/BOINC software/BOINC client apps/distrrtgen/Release/mt.dep deleted file mode 100644 index 8d0afae..0000000 --- a/BOINC software/BOINC client apps/distrrtgen/Release/mt.dep +++ /dev/null @@ -1 +0,0 @@ -Manifest resource last updated at 18:29:03,89 on 28-11-2008 diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/rcracki.exe b/BOINC software/BOINC client apps/distrrtgen/Release/rcracki.exe deleted file mode 100644 index 36f5f5f..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Release/rcracki.exe and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/rcracki.pdb b/BOINC software/BOINC client apps/distrrtgen/Release/rcracki.pdb deleted file mode 100644 index 9612176..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Release/rcracki.pdb and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/rsearch.exe b/BOINC software/BOINC client apps/distrrtgen/Release/rsearch.exe deleted file mode 100644 index 64d4c88..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Release/rsearch.exe and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/rsearch.pdb b/BOINC software/BOINC client apps/distrrtgen/Release/rsearch.pdb deleted file mode 100644 index 1ba5703..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Release/rsearch.pdb and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/rti2rto.exe b/BOINC software/BOINC client apps/distrrtgen/Release/rti2rto.exe deleted file mode 100644 index b2b2e9b..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Release/rti2rto.exe and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/rti2rto.pdb b/BOINC software/BOINC client apps/distrrtgen/Release/rti2rto.pdb deleted file mode 100644 index 8dfa421..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Release/rti2rto.pdb and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/rtperfectp.exe b/BOINC software/BOINC client apps/distrrtgen/Release/rtperfectp.exe deleted file mode 100644 index b4ac5a8..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Release/rtperfectp.exe and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/rtperfectp.pdb b/BOINC software/BOINC client apps/distrrtgen/Release/rtperfectp.pdb deleted file mode 100644 index aebd777..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Release/rtperfectp.pdb and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/sched_util.cpp b/BOINC software/BOINC client apps/distrrtgen/Release/sched_util.cpp deleted file mode 100644 index d680b14..0000000 --- a/BOINC software/BOINC client apps/distrrtgen/Release/sched_util.cpp +++ /dev/null @@ -1,333 +0,0 @@ -// This file is part of BOINC. -// http://boinc.berkeley.edu -// Copyright (C) 2008 University of California -// -// BOINC is free software; you can redistribute it and/or modify it -// under the terms of the GNU Lesser General Public License -// as published by the Free Software Foundation, -// either version 3 of the License, or (at your option) any later version. -// -// BOINC is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -// See the GNU Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with BOINC. If not, see . - -using namespace std; - -#include "config.h" -#include -#include -#include -#include -#include -#include -#include - -#include "filesys.h" -#include "md5_file.h" -#include "error_numbers.h" - -#include "sched_msgs.h" -#include "sched_util.h" -#include "util.h" - -#ifdef _USING_FCGI_ -#include "boinc_fcgi.h" -#endif - -const char* STOP_DAEMONS_FILENAME = "../stop_daemons"; - // NOTE: this must be same as in the "start" script -const char* STOP_SCHED_FILENAME = "../stop_sched"; - // NOTE: this must be same as in the "start" script -const int STOP_SIGNAL = SIGHUP; - // NOTE: this must be same as in the "start" script - -void write_pid_file(const char* filename) { -#ifndef _USING_FCGI_ - FILE* fpid = fopen(filename, "w"); -#else - FCGI_FILE* fpid = FCGI::fopen(filename,"w"); -#endif - - if (!fpid) { - log_messages.printf(MSG_CRITICAL, "Couldn't write pid file\n"); - return; - } - fprintf(fpid, "%d\n", (int)getpid()); - fclose(fpid); -} - -// caught_sig_int will be set to true if STOP_SIGNAL (normally SIGHUP) -// is caught. -bool caught_stop_signal = false; -static void stop_signal_handler(int) { - fprintf(stderr, "GOT STOP SIGNAL\n"); - caught_stop_signal = true; -} - -void install_stop_signal_handler() { - signal(STOP_SIGNAL, stop_signal_handler); - // handler is now default again so hitting ^C again will kill the program. -} - -void check_stop_daemons() { - if (caught_stop_signal) { - log_messages.printf(MSG_NORMAL, "Quitting due to SIGHUP\n"); - exit(0); - } - if (boinc_file_exists(STOP_DAEMONS_FILENAME)) { - log_messages.printf(MSG_NORMAL, - "Quitting because trigger file '%s' is present\n", - STOP_DAEMONS_FILENAME - ); - exit(0); - } -} - -bool check_stop_sched() { - return boinc_file_exists(STOP_SCHED_FILENAME); -} - -// try to open a file. -// On failure: -// return ERR_FOPEN if the dir is there but not file -// (this is generally a nonrecoverable failure) -// return ERR_OPENDIR if dir is not there. -// (this is generally a recoverable error, -// like NFS mount failure, that may go away later) -// -#ifndef _USING_FCGI_ -int try_fopen(const char* path, FILE*& f, const char* mode) { -#else -int try_fopen(const char* path, FCGI_FILE*& f, const char *mode) { -#endif - char* p; - DIR* d; - char dirpath[256]; - -#ifndef _USING_FCGI_ - f = fopen(path, mode); -#else - f = FCGI::fopen(path, mode); -#endif - - if (!f) { - memset(dirpath, '\0', sizeof(dirpath)); - p = strrchr(path, '/'); - if (p) { - strncpy(dirpath, path, (int)(p-path)); - } else { - strcpy(dirpath, "."); - } - if ((d = opendir(dirpath)) == NULL) { - return ERR_OPENDIR; - } else { - closedir(d); - return ERR_FOPEN; - } - } - return 0; -} - -void get_log_path(char* p, const char* filename) { - char host[256]; - char dir[256]; - gethostname(host, 256); - char* q = strchr(host, '.'); - if (q) *q=0; - sprintf(dir, "../log_%s", host); - sprintf(p, "%s/%s", dir, filename); - mode_t old_mask = umask(0); - mkdir(dir, 01770); - // make log_x directory sticky and group-rwx - // so that whatever apache puts there will be owned by us - umask(old_mask); -} - -static void filename_hash(const char* filename, int fanout, char* dir) { - std::string s = md5_string((const unsigned char*)filename, strlen(filename)); - int x = strtol(s.substr(1, 7).c_str(), 0, 16); - sprintf(dir, "%x", x % fanout); -} - -// given a filename, compute its path in a directory hierarchy -// If create is true, create the directory if needed -// -int dir_hier_path( - const char* filename, const char* root, int fanout, - char* path, bool create -) { - char dir[256], dirpath[256]; - int retval; - - if (fanout==0) { - sprintf(path, "%s/%s", root, filename); - return 0; - } - - filename_hash(filename, fanout, dir); - - sprintf(dirpath, "%s/%s", root, dir); - if (create) { - retval = boinc_mkdir(dirpath); - if (retval && (errno != EEXIST)) { - fprintf(stderr, "boinc_mkdir(%s): retval %d errno %d\n", dirpath, retval, errno); - return ERR_MKDIR; - } - } - sprintf(path, "%s/%s", dirpath, filename); - return 0; -} - -// same, but the output is a URL (used by tools/backend_lib.C) -// -int dir_hier_url( - const char* filename, const char* root, int fanout, - char* result -) { - char dir[256]; - - if (fanout==0) { - sprintf(result, "%s/%s", root, filename); - return 0; - } - - filename_hash(filename, fanout, dir); - sprintf(result, "%s/%s/%s", root, dir, filename); - return 0; -} - -// Locality scheduling: get filename from result name -// - -int extract_filename(char* in, char* out) { - strcpy(out, in); - char* p = strstr(out, "__"); - if (!p) return -1; - *p = 0; - return 0; -} - -void compute_avg_turnaround(HOST& host, double turnaround) { - double new_avg; - if (host.avg_turnaround == 0) { - new_avg = turnaround; - } else { - new_avg = .7*host.avg_turnaround + .3*turnaround; - } - host.avg_turnaround = new_avg; -} - -double elapsed_wallclock_time() { - static double wallclock_execution_time=0.0; - - if (wallclock_execution_time == 0.0) { - wallclock_execution_time=dtime(); - return 0.0; - } - - return dtime()-wallclock_execution_time; -} - -// Request lock on the given file with given fd. Returns: -// 0 if we get lock -// PID (>0) if another process has lock -// -1 if error -// -int mylockf(int fd) { - struct flock fl; - fl.l_type=F_WRLCK; - fl.l_whence=SEEK_SET; - fl.l_start=0; - fl.l_len=0; - if (-1 != fcntl(fd, F_SETLK, &fl)) return 0; - - // if lock failed, find out why - errno=0; - fcntl(fd, F_GETLK, &fl); - if (fl.l_pid>0) return fl.l_pid; - return -1; -} - -double fpops_to_credit(double fpops, double intops) { - // TODO: use fp_weight if specified in config file - double fpc = (fpops/1e9)*COBBLESTONE_FACTOR/SECONDS_PER_DAY; - double intc = (intops/1e9)*COBBLESTONE_FACTOR/SECONDS_PER_DAY; - return std::max(fpc, intc); -} - -double credit_multiplier(int appid, time_t create_time) { - DB_CREDIT_MULTIPLIER mult; - mult.get_nearest(appid,create_time); - return mult.multiplier; -} - -int count_results(char* query, int& n) { - DB_RESULT result; - int retval = result.count(n, query); - if (retval) return retval; - return 0; -} - -int count_workunits(int& n, const char* query) { - DB_WORKUNIT workunit; - int retval = workunit.count(n, query); - if (retval) return retval; - return 0; -} - -int count_unsent_results(int& n, int appid) { - char buf[256]; - if (appid) { - sprintf(buf, "where server_state=%d and appid=%d ", - RESULT_SERVER_STATE_UNSENT, appid - ); - } else { - sprintf(buf, "where server_state=%d", RESULT_SERVER_STATE_UNSENT); - } - return count_results(buf, n); - -} - -#ifdef GCL_SIMULATOR - -void simulator_signal_handler(int signum){ - FILE *fsim; - char currenttime[64]; - fsim = fopen("../simulator/sim_time.txt","r"); - if(fsim){ - fscanf(fsim,"%s", currenttime); - simtime = atof(currenttime); - fclose(fsim); - } - log_messages.printf(SCHED_MSG_LOG::MSG_NORMAL, - "Invoked by the simulator at time %.0f... \n", simtime - ); -} - -int itime() { - return (int) simtime; -} - -void continue_simulation(const char *daemonname){ - char daemonfilelok[64]; - char daemonfile[64]; - sprintf(daemonfile, "../simulator/sim_%s.txt",daemonname); - sprintf(daemonfilelok, "../simulator/sim_%s.lok",daemonname); - FILE *fsimlok = fopen(daemonfilelok, "w"); - if (fsimlok){ - fclose(fsimlok); - FILE *fsim = fopen(daemonfile, "w"); - if (fsim) { - fclose(fsim); - } - } - remove(daemonfilelok); -} - -#endif - -const char *BOINC_RCSID_affa6ef1e4 = "$Id: sched_util.cpp 16097 2008-09-30 18:21:41Z davea $"; diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/validate_util.cpp b/BOINC software/BOINC client apps/distrrtgen/Release/validate_util.cpp deleted file mode 100644 index f3bf361..0000000 --- a/BOINC software/BOINC client apps/distrrtgen/Release/validate_util.cpp +++ /dev/null @@ -1,564 +0,0 @@ -// This file is part of BOINC. -// http://boinc.berkeley.edu -// Copyright (C) 2008 University of California -// -// BOINC is free software; you can redistribute it and/or modify it -// under the terms of the GNU Lesser General Public License -// as published by the Free Software Foundation, -// either version 3 of the License, or (at your option) any later version. -// -// BOINC is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -// See the GNU Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with BOINC. If not, see . - -// Code to facilitate writing validators. -// Can be used as the basis for a validator that accepts everything -// (see sample_trivial_validator.C), -// or that requires strict equality (see sample_bitwise_validator.C) -// or that uses fuzzy comparison. - -#include -#include "config.h" - -#include "error_numbers.h" -#include "parse.h" -#include "util.h" -#include "filesys.h" - -#include "sched_util.h" -#include "sched_config.h" -#include "sched_msgs.h" -#include "validator.h" -#include "validate_util.h" - -using std::vector; -using std::string; - -int FILE_INFO::parse(XML_PARSER& xp) { - char tag[256]; - bool is_tag, found=false; - optional = false; - no_validate = false; - while (!xp.get(tag, sizeof(tag), is_tag)) { - if (!is_tag) continue; - if (!strcmp(tag, "/file_ref")) { - return found?0:ERR_XML_PARSE; - } - if (xp.parse_string(tag, "file_name", name)) { - found = true; - continue; - } - if (xp.parse_bool(tag, "optional", optional)) continue; - if (xp.parse_bool(tag, "no_validate", no_validate)) continue; - } - return ERR_XML_PARSE; -} - -int get_output_file_info(RESULT& result, FILE_INFO& fi) { - char tag[256], path[1024]; - bool is_tag; - string name; - MIOFILE mf; - mf.init_buf_read(result.xml_doc_in); - XML_PARSER xp(&mf); - while (!xp.get(tag, sizeof(tag), is_tag)) { - if (!is_tag) continue; - if (!strcmp(tag, "file_ref")) { - int retval = fi.parse(xp); - if (retval) return retval; - dir_hier_path( - fi.name.c_str(), config.upload_dir, config.uldl_dir_fanout, path - ); - fi.path = path; - return 0; - } - } - return ERR_XML_PARSE; -} - -int get_output_file_infos(RESULT& result, vector& fis) { - char tag[256], path[1024]; - bool is_tag; - MIOFILE mf; - string name; - mf.init_buf_read(result.xml_doc_in); - XML_PARSER xp(&mf); - fis.clear(); - while (!xp.get(tag, sizeof(tag), is_tag)) { - if (!is_tag) continue; - if (!strcmp(tag, "file_ref")) { - FILE_INFO fi; - int retval = fi.parse(xp); - if (retval) return retval; - dir_hier_path( - fi.name.c_str(), config.upload_dir, config.uldl_dir_fanout, path - ); - fi.path = path; - fis.push_back(fi); - } - } - return 0; -} - -int get_output_file_path(RESULT& result, string& path) { - FILE_INFO fi; - int retval = get_output_file_info(result, fi); - if (retval) return retval; - path = fi.path; - return 0; -} - -int get_output_file_paths(RESULT& result, vector& paths) { - vector fis; - int retval = get_output_file_infos(result, fis); - if (retval) return retval; - paths.clear(); - for (unsigned int i=0; i2, toss out min and max, return average of rest -// -double median_mean_credit(WORKUNIT& /*wu*/, vector& results) { - int ilow=-1, ihigh=-1; - double credit_low = 0, credit_high = 0; - int nvalid = 0; - unsigned int i; - - for (i=0; i credit_high) { - ihigh = i; - credit_high = result.claimed_credit; - } - } - nvalid++; - } - - switch(nvalid) { - case 0: - return CREDIT_EPSILON; - case 1: - case 2: - return credit_low; - default: - double sum = 0; - for (i=0; i&, double& credit) { - double x; - int retval; - DB_WORKUNIT dbwu; - - dbwu.id = wu.id; - retval = dbwu.get_field_str("xml_doc", dbwu.xml_doc, sizeof(dbwu.xml_doc)); - if (!retval) { - if (parse_double(dbwu.xml_doc, "", x)) { - credit = x; - return 0; - } - } - return ERR_XML_PARSE; -} - -// This function should be called from the validator whenever credit -// is granted to a host. It's purpose is to track the average credit -// per cpu time for that host. -// -// It updates an exponentially-decaying estimate of credit_per_cpu_sec -// Note that this does NOT decay with time, but instead decays with -// total credits earned. If a host stops earning credits, then this -// quantity stops decaying. So credit_per_cpu_sec must NOT be -// periodically decayed using the update_stats utility or similar -// methods. -// -// The intended purpose is for cross-project credit comparisons on -// BOINC statistics pages, for hosts attached to multiple machines. -// One day people will write PhD theses on how to normalize credit -// values to equalize them across projects. I hope this will be done -// according to "Allen's principle": "Credits granted by a project -// should be normalized so that, averaged across all hosts attached to -// multiple projects, projects grant equal credit per cpu second." -// This principle ensures that (on average) participants will choose -// projects based on merit, not based on credits. It also ensures -// that (on average) host machines migrate to the projects for which -// they are best suited. -// -// For cross-project comparison the value of credit_per_cpu_sec should -// be exported in the statistics file host_id.gz, which is written by -// the code in db_dump.C. -// -// Algorithm: credits_per_cpu_second should be updated each time that -// a host is granted credit, according to: -// -// CREDIT_AVERAGE_CONST = 500 [see Note 5] -// MAX_CREDIT_PER_CPU_SEC = 0.1 [see Note 6] -// -// e = tanh(granted_credit/CREDIT_AVERAGE_CONST) -// if (e < 0) then e = 0 -// if (e > 1) then e = 1 -// if (credit_per_cpu_sec <= 0) then e = 1 -// if (cpu_time <= 0) then e = 0 [see Note 4] -// if (granted_credit <= 0) then e = 0 [see Note 3] -// -// rate = granted_credit/cpu_time -// if (rate < 0) rate = 0 -// if (rate > MAX_CREDIT_PER_CPU_SEC) rate = MAX_CREDIT_PER_CPU_SEC -// -// credit_per_cpu_sec = e * rate + (1 - e) * credit_per_cpu_sec - -// Note 0: all quantities above should be treated as real numbers -// Note 1: cpu_time is measured in seconds -// Note 2: When a host is created, the initial value of -// credit_per_cpu_sec, should be zero. -// Note 3: If a host has done invalid work (granted_credit==0) we have -// chosen not to include it. One might argue that the -// boundary case granted_credit==0 should be treated the same -// as granted_credit>0. However the goal here is not to -// identify cpus whose host machines sometimes produce -// rubbish. It is to get a measure of how effectively the cpu -// runs the application code. -// Note 4: e==0 means 'DO NOT include the first term on the rhs of the -// equation defining credit_per_cpu_sec' which is equivalent -// to 'DO NOT update credit_per_cpu_sec'. -// Note 5: CREDIT_AVERAGE_CONST determines the exponential decay -// credit used in averaging credit_per_cpu_sec. It may be -// changed at any time, even if the project database has -// already been populated with non-zero values of -// credit_per_cpu_sec. -// Note 6: Typical VERY FAST cpus have credit_per_cpu_sec of around -// 0.02. This is a safety mechanism designed to prevent -// trouble if a client or host has reported absurd values (due -// to a bug in client or server software or by cheating). In -// five years when cpus are five time faster, please increase -// the value of R. You may also want to increase the value of -// CREDIT_AVERAGE_CONST. -// -// Nonzero return value: host exceeded the max allowed -// credit/cpu_sec. -// -int update_credit_per_cpu_sec( - double granted_credit, // credit granted for this work - double cpu_time, // cpu time (seconds) used for this work - double& credit_per_cpu_sec // (average) credit per cpu second -) { - int retval = 0; - - // Either of these values may be freely changed in the future. - // When CPUs get much faster one must increase the 'sanity-check' - // value of max_credit_per_cpu_sec. At that time it would also - // make sense to proportionally increase the credit_average_const. - // - const double credit_average_const = 500; - const double max_credit_per_cpu_sec = 0.07; - - double e = tanh(granted_credit/credit_average_const); - if (e <= 0.0 || cpu_time == 0.0 || granted_credit == 0.0) return retval; - if (e > 1.0 || credit_per_cpu_sec == 0.0) e = 1.0; - - double rate = granted_credit/cpu_time; - if (rate < 0.0) rate = 0.0; - if (rate > max_credit_per_cpu_sec) { - rate = max_credit_per_cpu_sec; - retval = 1; - } - - credit_per_cpu_sec = e * rate + (1.0 - e) * credit_per_cpu_sec; - - return retval; -} - -double stddev_credit(WORKUNIT& wu, std::vector& results) { - double credit_low_bound = 0, credit_high_bound = 0; - double penalize_credit_high_bound = 0; - double credit_avg = 0; - double credit = 0; - double old = 0; - double std_dev = 0; - int nvalid = 0; - unsigned int i; - - //calculate average - for (i=0; i credit_avg*.85) { - credit_low_bound = credit_avg*.85; - } - credit_low_bound = credit_low_bound - 2.5; - if (credit_low_bound < 1) credit_low_bound = 1; - - credit_high_bound = credit_avg+std_dev; - if (credit_high_bound < credit_avg*1.15) { - credit_high_bound = credit_avg*1.15; - } - credit_high_bound = credit_high_bound + 5; - - - nvalid=0; - credit = 0; - for (i=0; i credit_low_bound) { - credit = credit + result.claimed_credit; - nvalid++; - } else { - log_messages.printf(MSG_NORMAL, - "[RESULT#%d %s] CREDIT_CALC_SD Discarding invalid credit %.1lf, avg %.1lf, low %.1lf, high %.1lf \n", - result.id, result.name, result.claimed_credit, - credit_avg, credit_low_bound, credit_high_bound - ); - } - } - - double grant_credit; - switch(nvalid) { - case 0: - grant_credit = median_mean_credit(wu, results); - old = grant_credit; - break; - default: - grant_credit = credit/nvalid; - old = median_mean_credit(wu, results); - } - - // Log what happened - if (old > grant_credit) { - log_messages.printf(MSG_DEBUG, - "CREDIT_CALC_VAL New Method grant: %.1lf Old Method grant: %.1lf Less awarded\n", - grant_credit, old - ); - } else if (old == grant_credit) { - log_messages.printf(MSG_DEBUG, - "CREDIT_CALC_VAL New Method grant: %.1lf Old Method grant: %.1lf Same awarded\n", - grant_credit, old - ); - } else { - log_messages.printf(MSG_DEBUG, - "CREDIT_CALC_VAL New Method grant: %.1lf Old Method grant: %.1lf More awarded\n", - grant_credit, old - ); - } - - // penalize hosts that are claiming too much - penalize_credit_high_bound = grant_credit+1.5*std_dev; - if (penalize_credit_high_bound < grant_credit*1.65) { - penalize_credit_high_bound = grant_credit*1.65; - } - penalize_credit_high_bound = penalize_credit_high_bound + 20; - - for (i=0; i penalize_credit_high_bound) { - result.granted_credit = grant_credit * 0.5; - log_messages.printf(MSG_NORMAL, - "[RESULT#%d %s] CREDIT_CALC_PENALTY Penalizing host for too high credit %.1lf, grant %.1lf, penalize %.1lf, stddev %.1lf, avg %.1lf, low %.1lf, high %.1lf \n", - result.id, result.name, result.claimed_credit, grant_credit, - penalize_credit_high_bound, std_dev, credit_avg, - credit_low_bound, credit_high_bound - ); - } - } - - return grant_credit; -} - -double two_credit(WORKUNIT& wu, std::vector& results) { - unsigned int i; - double credit = 0; - double credit_avg = 0; - double last_credit = 0; - int nvalid = 0; - double grant_credit; - - //calculate average - for (i=0; i 2) return stddev_credit(wu, results); - log_messages.printf(MSG_DEBUG, - "[WORKUNIT#%d %s] Only 2 results \n",wu.id, wu.name - ); - - // If only 2, then check to see if range is reasonable - if (fabs(last_credit - credit_avg) < 0.15*credit_avg) return credit_avg; - log_messages.printf(MSG_DEBUG, - "[WORKUNIT#%d %s] Average is more than 15 percent from each value \n", - wu.id, wu.name - ); - - // log data on large variance in runtime - float cpu_time = 0.0; - for (i=0; i 2 || cpu_time/result.cpu_time < 0.5) { - log_messages.printf(MSG_DEBUG, - "[WORKUNIT#%d %s] Large difference in runtime \n", - wu.id, wu.name - ); - } - } - } - - - //find result with smallest deviation from historical credit and award that value - DB_HOST host; - double deviation = -1; - grant_credit = credit_avg; // default award in case nobody matches the cases - for (i=0; i fabs(result.claimed_credit - result.cpu_time*host.credit_per_cpu_sec)) && result.cpu_time > 30) { - deviation = fabs(result.claimed_credit - result.cpu_time*host.credit_per_cpu_sec); - log_messages.printf(MSG_NORMAL, - "[RESULT#%d %s] Credit deviation = %.2lf \n", - result.id, result.name, deviation - ); - grant_credit = result.claimed_credit; - } - } - log_messages.printf(MSG_DEBUG, - "[WORKUNIT#%d %s] Credit granted = %.2lf \n", - wu.id, wu.name, grant_credit - ); - return grant_credit; -} - -const char *BOINC_RCSID_07049e8a0e = "$Id: validate_util.cpp 16069 2008-09-26 18:20:24Z davea $"; diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/vc90.idb b/BOINC software/BOINC client apps/distrrtgen/Release/vc90.idb deleted file mode 100644 index 01c4579..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Release/vc90.idb and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/Release/vc90.pdb b/BOINC software/BOINC client apps/distrrtgen/Release/vc90.pdb deleted file mode 100644 index 734223a..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/Release/vc90.pdb and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/boinc_lockfile b/BOINC software/BOINC client apps/distrrtgen/boinc_lockfile deleted file mode 100644 index e69de29..0000000 diff --git a/BOINC software/BOINC client apps/distrrtgen/distrrtgen b/BOINC software/BOINC client apps/distrrtgen/distrrtgen deleted file mode 100644 index ec1bac7..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/distrrtgen and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/distrrtgen.ncb b/BOINC software/BOINC client apps/distrrtgen/distrrtgen.ncb deleted file mode 100644 index 50ed39d..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/distrrtgen.ncb and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/distrrtgen.vcproj.MWJ-PC.mwj.user b/BOINC software/BOINC client apps/distrrtgen/distrrtgen.vcproj.MWJ-PC.mwj.user deleted file mode 100644 index 15b19f6..0000000 --- a/BOINC software/BOINC client apps/distrrtgen/distrrtgen.vcproj.MWJ-PC.mwj.user +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - diff --git a/BOINC software/BOINC client apps/distrrtgen/distrrtgen.vcproj.W-L-MWJ.Administrator.user b/BOINC software/BOINC client apps/distrrtgen/distrrtgen.vcproj.W-L-MWJ.Administrator.user deleted file mode 100644 index 621d7cb..0000000 --- a/BOINC software/BOINC client apps/distrrtgen/distrrtgen.vcproj.W-L-MWJ.Administrator.user +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - diff --git a/BOINC software/BOINC client apps/distrrtgen/result b/BOINC software/BOINC client apps/distrrtgen/result deleted file mode 100644 index e5cf1ea..0000000 Binary files a/BOINC software/BOINC client apps/distrrtgen/result and /dev/null differ diff --git a/BOINC software/BOINC client apps/distrrtgen/stderr.txt b/BOINC software/BOINC client apps/distrrtgen/stderr.txt deleted file mode 100644 index 61cbb07..0000000 --- a/BOINC software/BOINC client apps/distrrtgen/stderr.txt +++ /dev/null @@ -1,7 +0,0 @@ -Can't open init data file - running in standalone mode -Can't open init data file - running in standalone mode -Can't open init data file - running in standalone mode -Can't open init data file - running in standalone mode -Can't open init data file - running in standalone mode -Can't open init data file - running in standalone mode -Can't open init data file - running in standalone mode diff --git a/BOINC software/BOINC client apps/distrrtgen/tmp/ChainWalkContext.cpp b/BOINC software/BOINC client apps/distrrtgen/tmp/ChainWalkContext.cpp deleted file mode 100644 index 03d3831..0000000 --- a/BOINC software/BOINC client apps/distrrtgen/tmp/ChainWalkContext.cpp +++ /dev/null @@ -1,584 +0,0 @@ -/* - 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 "ChainWalkContext.h" - -#include -#include -#include -#include -#ifdef _WIN32 - #pragma comment(lib, "libeay32.lib") -#endif - -////////////////////////////////////////////////////////////////////// - -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; -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; - } - vector vLine; - if (ReadLinesFromFile("charset.txt", vLine)) - { - 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() - 3) != ".rt") - { - 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; - } - - 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]; - -#ifdef _WIN64 - - // Slow version - for (i = m_nPlainLen - 1; 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_vCharset[j].m_PlainCharset[nIndexOfX % m_vCharset[j].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 volatile 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) - 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; -} diff --git a/BOINC software/BOINC client apps/distrrtgen/tmp/ChainWalkContext.h b/BOINC software/BOINC client apps/distrrtgen/tmp/ChainWalkContext.h deleted file mode 100644 index 7348cdf..0000000 --- a/BOINC software/BOINC client apps/distrrtgen/tmp/ChainWalkContext.h +++ /dev/null @@ -1,85 +0,0 @@ -/* - 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 unsigned char m_PlainCharset[256]; // Configuration -// static unsigned char m_PlainCharset2[256]; // Configuration - 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(); - - 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 GetPlainBinary(); - string GetHash(); - bool CheckHash(unsigned char* pHash); // The length should be m_nHashLen -}; - -#endif diff --git a/BOINC software/BOINC client apps/distrrtgen/tmp/ChainWalkSet.cpp b/BOINC software/BOINC client apps/distrrtgen/tmp/ChainWalkSet.cpp deleted file mode 100644 index a081eb8..0000000 --- a/BOINC software/BOINC client apps/distrrtgen/tmp/ChainWalkSet.cpp +++ /dev/null @@ -1,103 +0,0 @@ -/* - 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; -} - -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(); -} - -uint64* CChainWalkSet::RequestWalk(unsigned char* pHash, int nHashLen, - string sHashRoutineName, - string sPlainCharsetName, int nPlainLenMin, int nPlainLenMax, - int nRainbowTableIndex, - int nRainbowChainLen, - bool& fNewlyGenerated) -{ - 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); - - fNewlyGenerated = true; - 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); - - fNewlyGenerated = true; - 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/BOINC software/BOINC client apps/distrrtgen/tmp/ChainWalkSet.h b/BOINC software/BOINC client apps/distrrtgen/tmp/ChainWalkSet.h deleted file mode 100644 index 4276894..0000000 --- a/BOINC software/BOINC client apps/distrrtgen/tmp/ChainWalkSet.h +++ /dev/null @@ -1,47 +0,0 @@ -/* - 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; - -private: - void DiscardAll(); - -public: - uint64* RequestWalk(unsigned char* pHash, int nHashLen, - string sHashRoutineName, - string sPlainCharsetName, int nPlainLenMin, int nPlainLenMax, - int nRainbowTableIndex, - int nRainbowChainLen, - bool& fNewlyGenerated); - void DiscardWalk(uint64* pIndexE); -}; - -#endif diff --git a/BOINC software/BOINC client apps/distrrtgen/tmp/HashAlgorithm.cpp b/BOINC software/BOINC client apps/distrrtgen/tmp/HashAlgorithm.cpp deleted file mode 100644 index 6573620..0000000 --- a/BOINC software/BOINC client apps/distrrtgen/tmp/HashAlgorithm.cpp +++ /dev/null @@ -1,357 +0,0 @@ -/* - RainbowCrack - a general propose implementation of Philippe Oechslin's faster time-memory trade-off technique. - - Copyright (C) Zhu Shuanglei -*/ - -#include "HashAlgorithm.h" - -#include "Public.h" -#include -#include "md4.h" -#include "md5.h" -#include "des.h" -#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_NEW(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; -#ifdef _WIN32 - strcpy_s(username, sizeof(username), "SYS"); -#else - strcpy(username, "SYS"); -#endif - int userlen = 3; -#ifdef _WIN32 - _strupr((char*) pPlain); -#else - strupr((char*) pPlain); -#endif - 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); - - 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); -} -*/ \ No newline at end of file diff --git a/BOINC software/BOINC client apps/distrrtgen/tmp/HashAlgorithm.h b/BOINC software/BOINC client apps/distrrtgen/tmp/HashAlgorithm.h deleted file mode 100644 index 667245a..0000000 --- a/BOINC software/BOINC client apps/distrrtgen/tmp/HashAlgorithm.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - 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); - -#endif diff --git a/BOINC software/BOINC client apps/distrrtgen/tmp/HashRoutine.cpp b/BOINC software/BOINC client apps/distrrtgen/tmp/HashRoutine.cpp deleted file mode 100644 index 496f399..0000000 --- a/BOINC software/BOINC client apps/distrrtgen/tmp/HashRoutine.cpp +++ /dev/null @@ -1,78 +0,0 @@ -/* - 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 "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/BOINC software/BOINC client apps/distrrtgen/tmp/HashRoutine.h b/BOINC software/BOINC client apps/distrrtgen/tmp/HashRoutine.h deleted file mode 100644 index 681fa78..0000000 --- a/BOINC software/BOINC client apps/distrrtgen/tmp/HashRoutine.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - 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/BOINC software/BOINC client apps/distrrtgen/tmp/Public.cpp b/BOINC software/BOINC client apps/distrrtgen/tmp/Public.cpp deleted file mode 100644 index c7c6823..0000000 --- a/BOINC software/BOINC client apps/distrrtgen/tmp/Public.cpp +++ /dev/null @@ -1,242 +0,0 @@ -/* - 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 - -#ifdef _WIN32 -#include "boinc_win.h" -#else -#include "config.h" -#include -#include -#include -#include -#include -#include -#include - -#endif -#include "filesys.h" -#include "boinc_api.h" - -#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(); - // open the input file (resolve logical name first) - char input_path[512]; - boinc_resolve_filename(INPUT_FILENAME, input_path, sizeof(input_path)); - FILE *file = boinc_fopen(input_path, "rb"); - if (!file) { - fprintf(stderr, - "Couldn't find input file, resolved name %s.\n", input_path - ); - exit(-1); - } - - - 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 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 - return false; - } - vPart.push_back(s); - - return true; -} - -string uint64tostr(uint64 n) -{ - char str[32]; - -#ifdef _WIN32 - sprintf_s(str, sizeof(str), "%I64u", n); -#else - sprintf(str, "%llu", n); -#endif - - return str; -} - -string uint64tohexstr(uint64 n) -{ - char str[32]; - -#ifdef _WIN32 - sprintf_s(str, sizeof(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]; -#ifdef _WIN32 - sprintf_s(szByte, sizeof(szByte), "%02x", pData[i]); -#else - sprintf(szByte, "%02x", pData[i]); - -#endif - 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 -} - -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; -#ifdef _WIN32 - sscanf_s(sSub.c_str(), "%02x", &nValue); -#else - sscanf(sSub.c_str(), "%02x", &nValue); -#endif - pHash[i] = (unsigned char)nValue; - } - - nHashLen = sHash.size() / 2; -} - -void Logo() -{ - printf("RainbowCrack 1.2 - Making a Faster Cryptanalytic Time-Memory Trade-Off\n"); - printf("by Zhu Shuanglei \n"); - printf("http://www.antsight.com/zsl/rainbowcrack/\n\n"); -} diff --git a/BOINC software/BOINC client apps/distrrtgen/tmp/Public.h b/BOINC software/BOINC client apps/distrrtgen/tmp/Public.h deleted file mode 100644 index 70d788c..0000000 --- a/BOINC software/BOINC client apps/distrrtgen/tmp/Public.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - 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 -using namespace std; -#define INPUT_FILENAME "charset.txt" -#define OUTPUT_FILENAME "result" - -#ifdef _WIN32 - #define uint64 unsigned __int64 -#else - //#define uint64 u_int64_t - #define uint64 unsigned long long -#endif - -struct RainbowChain -{ - uint64 nIndexS; - uint64 nIndexE; -}; - - -struct RainbowChainCP -{ - uint64 nIndexS; - uint64 nIndexE; - unsigned short checkpoint; -}; - -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 - -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(); -void ParseHash(string sHash, unsigned char* pHash, int& nHashLen); -bool GetHybridCharsets(string sCharset, vector& vCharset); -void Logo(); - -#endif diff --git a/BOINC software/BOINC client apps/distrrtgen/tmp/RainbowTableGenerator.cpp b/BOINC software/BOINC client apps/distrrtgen/tmp/RainbowTableGenerator.cpp deleted file mode 100644 index 399cd31..0000000 --- a/BOINC software/BOINC client apps/distrrtgen/tmp/RainbowTableGenerator.cpp +++ /dev/null @@ -1,22 +0,0 @@ - -#include "RainbowTableGenerator.h" -#include "ChainWalkContext.h" -#include -#include -#include -#include - -CRainbowTableGenerator::CRainbowTableGenerator() -{ - m_nCurrentCalculatedChains = 0; -} - -CRainbowTableGenerator::~CRainbowTableGenerator(void) -{ -} - -int CRainbowTableGenerator::CalculateTable(std::string sFilename, int nRainbowChainCount, std::string sHashRoutineName, std::string sCharsetName, int nPlainLenMin, int nPlainLenMax, int nRainbowTableIndex, int nRainbowChainLen, uint64 nChainStart, std::string sSalt) -{ - return 0; -} - diff --git a/BOINC software/BOINC client apps/distrrtgen/tmp/RainbowTableGenerator.h b/BOINC software/BOINC client apps/distrrtgen/tmp/RainbowTableGenerator.h deleted file mode 100644 index c720bac..0000000 --- a/BOINC software/BOINC client apps/distrrtgen/tmp/RainbowTableGenerator.h +++ /dev/null @@ -1,19 +0,0 @@ -#ifndef __RAINBOWTABLEGENERATOR_H_ -#define __RAINBOWTABLEGENERATOR_H_ - - -class CRainbowTableGenerator -{ -private: - - //void CRainbowTableGenerator::GetCharset(std::string sCharsetName, char **pCharset); -public: - CRainbowTableGenerator(); -public: - ~CRainbowTableGenerator(void); - int CalculateTable(std::string sFilename, int nRainbowChainCount, std::string sHashRoutineName, std::string sCharsetName, int nPlainLenMin, int nPlainLenMax, int nRainbowTableIndex, int nRainbowChainLen, uint64 nChainStart, std::string sSalt = ""); -private: - int m_nCurrentCalculatedChains; -}; - -#endif diff --git a/BOINC software/BOINC client apps/distrrtgen/tmp/md5.cpp b/BOINC software/BOINC client apps/distrrtgen/tmp/md5.cpp deleted file mode 100644 index bc25b95..0000000 --- a/BOINC software/BOINC client apps/distrrtgen/tmp/md5.cpp +++ /dev/null @@ -1,1286 +0,0 @@ -/* - * This code implements the MD5 message-digest algorithm. - * The algorithm is due to Ron Rivest. This code was - * written by Colin Plumb in 1993, no copyright is claimed. - * This code is in the public domain; do with it what you wish. - * - * Equivalent code is available from RSA Data Security, Inc. - * This code has been tested against that, and is equivalent, - * except that you don't need to include two pages of legalese - * with every copy. - * - * To compute the message digest of a chunk of bytes, declare an - * MD5Context structure, pass it to MD5Init, call MD5Update as - * needed on buffers full of bytes, and then call MD5Final, which - * will fill a supplied 16-byte array with the digest. - */ - -/* Brutally hacked by John Walker back from ANSI C to K&R (no - prototypes) to maintain the tradition that Netfone will compile - with Sun's original "cc". */ - -/* - Brutally modified by daVajj, optimized for lengths of 1 - 10. - Generic version used for longer indata -*/ - -#include -#include -#include "md5.h" - -/* The four core functions - F1 is optimized somewhat */ -/* #define F1(x, y, z) (x & y | ~x & z) */ -#define F1(x, y, z) (z ^ (x & (y ^ z))) -#define F2(x, y, z) F1(z, x, y) -#define F3(x, y, z) (x ^ y ^ z) -#define F4(x, y, z) (y ^ (x | ~z)) - -//Here's two different ways to do a left bitwise rotation. I've seen no major speed differences between them. -//#define ROL(x, n) ( _lrotl(x, n) ) //This also requires #include -#define ROL(x,n) ( x << n | x >>(32-n) ) - -/* This is the central step in the MD5 algorithm. */ -#define MD5STEP(f, w, x, y, z, data, s) \ - ( w += f(x, y, z) + data, w = ROL(w,s) + x ) - -void MD5_NEW( unsigned char * pData, int len, unsigned char * pDigest) -{ - //Use optimized versions if available - switch( len ) - { - case 1: - { - //Main variables - unsigned char in[4]; - - memcpy(in, pData, 1); - in[1] = 0x80; - memset(in + 2, 0, 2); - - //START OF MD5TRANSFORM CODE - //==================================================== - register uint32 a, b, c, d; - uint32 * pUiIn = (uint32 *) in; - - a = 0x67452301; - b = 0xefcdab89; - c = 0x98badcfe; - d = 0x10325476; - - MD5STEP(F1, a, b, c, d, pUiIn[0] + 0xd76aa478, 7); - MD5STEP(F1, d, a, b, c, 0xe8c7b756, 12); - MD5STEP(F1, c, d, a, b, 0x242070db, 17); - MD5STEP(F1, b, c, d, a, 0xc1bdceee, 22); - MD5STEP(F1, a, b, c, d, 0xf57c0faf, 7); - MD5STEP(F1, d, a, b, c, 0x4787c62a, 12); - MD5STEP(F1, c, d, a, b, 0xa8304613, 17); - MD5STEP(F1, b, c, d, a, 0xfd469501, 22); - MD5STEP(F1, a, b, c, d, 0x698098d8, 7); - MD5STEP(F1, d, a, b, c, 0x8b44f7af, 12); - MD5STEP(F1, c, d, a, b, 0xffff5bb1, 17); - MD5STEP(F1, b, c, d, a, 0x895cd7be, 22); - MD5STEP(F1, a, b, c, d, 0x6b901122, 7); - MD5STEP(F1, d, a, b, c, 0xfd987193, 12); - MD5STEP(F1, c, d, a, b, 8 + 0xa679438e, 17); - MD5STEP(F1, b, c, d, a, 0x49b40821, 22); - - MD5STEP(F2, a, b, c, d, 0xf61e2562, 5); - MD5STEP(F2, d, a, b, c, 0xc040b340, 9); - MD5STEP(F2, c, d, a, b, 0x265e5a51, 14); - MD5STEP(F2, b, c, d, a, pUiIn[0] + 0xe9b6c7aa, 20); - MD5STEP(F2, a, b, c, d, 0xd62f105d, 5); - MD5STEP(F2, d, a, b, c, 0x02441453, 9); - MD5STEP(F2, c, d, a, b, 0xd8a1e681, 14); - MD5STEP(F2, b, c, d, a, 0xe7d3fbc8, 20); - MD5STEP(F2, a, b, c, d, 0x21e1cde6, 5); - MD5STEP(F2, d, a, b, c, 8 + 0xc33707d6, 9); - MD5STEP(F2, c, d, a, b, 0xf4d50d87, 14); - MD5STEP(F2, b, c, d, a, 0x455a14ed, 20); - MD5STEP(F2, a, b, c, d, 0xa9e3e905, 5); - MD5STEP(F2, d, a, b, c, 0xfcefa3f8, 9); - MD5STEP(F2, c, d, a, b, 0x676f02d9, 14); - MD5STEP(F2, b, c, d, a, 0x8d2a4c8a, 20); - - MD5STEP(F3, a, b, c, d, 0xfffa3942, 4); - MD5STEP(F3, d, a, b, c, 0x8771f681, 11); - MD5STEP(F3, c, d, a, b, 0x6d9d6122, 16); - MD5STEP(F3, b, c, d, a, 8 + 0xfde5380c, 23); - MD5STEP(F3, a, b, c, d, 0xa4beea44, 4); - MD5STEP(F3, d, a, b, c, 0x4bdecfa9, 11); - MD5STEP(F3, c, d, a, b, 0xf6bb4b60, 16); - MD5STEP(F3, b, c, d, a, 0xbebfbc70, 23); - MD5STEP(F3, a, b, c, d, 0x289b7ec6, 4); - MD5STEP(F3, d, a, b, c, pUiIn[0] + 0xeaa127fa, 11); - MD5STEP(F3, c, d, a, b, 0xd4ef3085, 16); - MD5STEP(F3, b, c, d, a, 0x04881d05, 23); - MD5STEP(F3, a, b, c, d, 0xd9d4d039, 4); - MD5STEP(F3, d, a, b, c, 0xe6db99e5, 11); - MD5STEP(F3, c, d, a, b, 0x1fa27cf8, 16); - MD5STEP(F3, b, c, d, a, 0xc4ac5665, 23); - - MD5STEP(F4, a, b, c, d, pUiIn[0] + 0xf4292244, 6); - MD5STEP(F4, d, a, b, c, 0x432aff97, 10); - MD5STEP(F4, c, d, a, b, 8 + 0xab9423a7, 15); - MD5STEP(F4, b, c, d, a, 0xfc93a039, 21); - MD5STEP(F4, a, b, c, d, 0x655b59c3, 6); - MD5STEP(F4, d, a, b, c, 0x8f0ccc92, 10); - MD5STEP(F4, c, d, a, b, 0xffeff47d, 15); - MD5STEP(F4, b, c, d, a, 0x85845dd1, 21); - MD5STEP(F4, a, b, c, d, 0x6fa87e4f, 6); - MD5STEP(F4, d, a, b, c, 0xfe2ce6e0, 10); - MD5STEP(F4, c, d, a, b, 0xa3014314, 15); - MD5STEP(F4, b, c, d, a, 0x4e0811a1, 21); - MD5STEP(F4, a, b, c, d, 0xf7537e82, 6); - MD5STEP(F4, d, a, b, c, 0xbd3af235, 10); - MD5STEP(F4, c, d, a, b, 0x2ad7d2bb, 15); - MD5STEP(F4, b, c, d, a, 0xeb86d391, 21); - - uint32 buf[4] = { 0x67452301 + a, 0xefcdab89 + b, 0x98badcfe + c, 0x10325476 + d }; - memcpy(pDigest, buf, 16); - return; - } - break; - - case 2: - { - //Main variables - unsigned char in[4]; - - memcpy(in, pData, 2); - in[2] = 0x80; - memset(in + 3, 0, 1); - - //START OF MD5TRANSFORM CODE - //==================================================== - register uint32 a, b, c, d; - uint32 * pUiIn = (uint32 *) in; - - a = 0x67452301; - b = 0xefcdab89; - c = 0x98badcfe; - d = 0x10325476; - - MD5STEP(F1, a, b, c, d, pUiIn[0] + 0xd76aa478, 7); - MD5STEP(F1, d, a, b, c, 0xe8c7b756, 12); - MD5STEP(F1, c, d, a, b, 0x242070db, 17); - MD5STEP(F1, b, c, d, a, 0xc1bdceee, 22); - MD5STEP(F1, a, b, c, d, 0xf57c0faf, 7); - MD5STEP(F1, d, a, b, c, 0x4787c62a, 12); - MD5STEP(F1, c, d, a, b, 0xa8304613, 17); - MD5STEP(F1, b, c, d, a, 0xfd469501, 22); - MD5STEP(F1, a, b, c, d, 0x698098d8, 7); - MD5STEP(F1, d, a, b, c, 0x8b44f7af, 12); - MD5STEP(F1, c, d, a, b, 0xffff5bb1, 17); - MD5STEP(F1, b, c, d, a, 0x895cd7be, 22); - MD5STEP(F1, a, b, c, d, 0x6b901122, 7); - MD5STEP(F1, d, a, b, c, 0xfd987193, 12); - MD5STEP(F1, c, d, a, b, 16 + 0xa679438e, 17); - MD5STEP(F1, b, c, d, a, 0x49b40821, 22); - - MD5STEP(F2, a, b, c, d, 0xf61e2562, 5); - MD5STEP(F2, d, a, b, c, 0xc040b340, 9); - MD5STEP(F2, c, d, a, b, 0x265e5a51, 14); - MD5STEP(F2, b, c, d, a, pUiIn[0] + 0xe9b6c7aa, 20); - MD5STEP(F2, a, b, c, d, 0xd62f105d, 5); - MD5STEP(F2, d, a, b, c, 0x02441453, 9); - MD5STEP(F2, c, d, a, b, 0xd8a1e681, 14); - MD5STEP(F2, b, c, d, a, 0xe7d3fbc8, 20); - MD5STEP(F2, a, b, c, d, 0x21e1cde6, 5); - MD5STEP(F2, d, a, b, c, 16 + 0xc33707d6, 9); - MD5STEP(F2, c, d, a, b, 0xf4d50d87, 14); - MD5STEP(F2, b, c, d, a, 0x455a14ed, 20); - MD5STEP(F2, a, b, c, d, 0xa9e3e905, 5); - MD5STEP(F2, d, a, b, c, 0xfcefa3f8, 9); - MD5STEP(F2, c, d, a, b, 0x676f02d9, 14); - MD5STEP(F2, b, c, d, a, 0x8d2a4c8a, 20); - - MD5STEP(F3, a, b, c, d, 0xfffa3942, 4); - MD5STEP(F3, d, a, b, c, 0x8771f681, 11); - MD5STEP(F3, c, d, a, b, 0x6d9d6122, 16); - MD5STEP(F3, b, c, d, a, 16 + 0xfde5380c, 23); - MD5STEP(F3, a, b, c, d, 0xa4beea44, 4); - MD5STEP(F3, d, a, b, c, 0x4bdecfa9, 11); - MD5STEP(F3, c, d, a, b, 0xf6bb4b60, 16); - MD5STEP(F3, b, c, d, a, 0xbebfbc70, 23); - MD5STEP(F3, a, b, c, d, 0x289b7ec6, 4); - MD5STEP(F3, d, a, b, c, pUiIn[0] + 0xeaa127fa, 11); - MD5STEP(F3, c, d, a, b, 0xd4ef3085, 16); - MD5STEP(F3, b, c, d, a, 0x04881d05, 23); - MD5STEP(F3, a, b, c, d, 0xd9d4d039, 4); - MD5STEP(F3, d, a, b, c, 0xe6db99e5, 11); - MD5STEP(F3, c, d, a, b, 0x1fa27cf8, 16); - MD5STEP(F3, b, c, d, a, 0xc4ac5665, 23); - - MD5STEP(F4, a, b, c, d, pUiIn[0] + 0xf4292244, 6); - MD5STEP(F4, d, a, b, c, 0x432aff97, 10); - MD5STEP(F4, c, d, a, b, 16 + 0xab9423a7, 15); - MD5STEP(F4, b, c, d, a, 0xfc93a039, 21); - MD5STEP(F4, a, b, c, d, 0x655b59c3, 6); - MD5STEP(F4, d, a, b, c, 0x8f0ccc92, 10); - MD5STEP(F4, c, d, a, b, 0xffeff47d, 15); - MD5STEP(F4, b, c, d, a, 0x85845dd1, 21); - MD5STEP(F4, a, b, c, d, 0x6fa87e4f, 6); - MD5STEP(F4, d, a, b, c, 0xfe2ce6e0, 10); - MD5STEP(F4, c, d, a, b, 0xa3014314, 15); - MD5STEP(F4, b, c, d, a, 0x4e0811a1, 21); - MD5STEP(F4, a, b, c, d, 0xf7537e82, 6); - MD5STEP(F4, d, a, b, c, 0xbd3af235, 10); - MD5STEP(F4, c, d, a, b, 0x2ad7d2bb, 15); - MD5STEP(F4, b, c, d, a, 0xeb86d391, 21); - uint32 buf[4] = { 0x67452301 + a, 0xefcdab89 + b, 0x98badcfe + c, 0x10325476 + d }; - memcpy(pDigest, buf, 16); - return; - } - break; - - case 3: - { - //Main variables - unsigned char in[4]; - - memcpy(in, pData, 3); - in[3] = 0x80; - - //START OF MD5TRANSFORM CODE - //==================================================== - register uint32 a, b, c, d; - uint32 * pUiIn = (uint32 *) in; - - a = 0x67452301; - b = 0xefcdab89; - c = 0x98badcfe; - d = 0x10325476; - - MD5STEP(F1, a, b, c, d, pUiIn[0] + 0xd76aa478, 7); - MD5STEP(F1, d, a, b, c, 0xe8c7b756, 12); - MD5STEP(F1, c, d, a, b, 0x242070db, 17); - MD5STEP(F1, b, c, d, a, 0xc1bdceee, 22); - MD5STEP(F1, a, b, c, d, 0xf57c0faf, 7); - MD5STEP(F1, d, a, b, c, 0x4787c62a, 12); - MD5STEP(F1, c, d, a, b, 0xa8304613, 17); - MD5STEP(F1, b, c, d, a, 0xfd469501, 22); - MD5STEP(F1, a, b, c, d, 0x698098d8, 7); - MD5STEP(F1, d, a, b, c, 0x8b44f7af, 12); - MD5STEP(F1, c, d, a, b, 0xffff5bb1, 17); - MD5STEP(F1, b, c, d, a, 0x895cd7be, 22); - MD5STEP(F1, a, b, c, d, 0x6b901122, 7); - MD5STEP(F1, d, a, b, c, 0xfd987193, 12); - MD5STEP(F1, c, d, a, b, 24 + 0xa679438e, 17); - MD5STEP(F1, b, c, d, a, 0x49b40821, 22); - - MD5STEP(F2, a, b, c, d, 0xf61e2562, 5); - MD5STEP(F2, d, a, b, c, 0xc040b340, 9); - MD5STEP(F2, c, d, a, b, 0x265e5a51, 14); - MD5STEP(F2, b, c, d, a, pUiIn[0] + 0xe9b6c7aa, 20); - MD5STEP(F2, a, b, c, d, 0xd62f105d, 5); - MD5STEP(F2, d, a, b, c, 0x02441453, 9); - MD5STEP(F2, c, d, a, b, 0xd8a1e681, 14); - MD5STEP(F2, b, c, d, a, 0xe7d3fbc8, 20); - MD5STEP(F2, a, b, c, d, 0x21e1cde6, 5); - MD5STEP(F2, d, a, b, c, 24 + 0xc33707d6, 9); - MD5STEP(F2, c, d, a, b, 0xf4d50d87, 14); - MD5STEP(F2, b, c, d, a, 0x455a14ed, 20); - MD5STEP(F2, a, b, c, d, 0xa9e3e905, 5); - MD5STEP(F2, d, a, b, c, 0xfcefa3f8, 9); - MD5STEP(F2, c, d, a, b, 0x676f02d9, 14); - MD5STEP(F2, b, c, d, a, 0x8d2a4c8a, 20); - - MD5STEP(F3, a, b, c, d, 0xfffa3942, 4); - MD5STEP(F3, d, a, b, c, 0x8771f681, 11); - MD5STEP(F3, c, d, a, b, 0x6d9d6122, 16); - MD5STEP(F3, b, c, d, a, 24 + 0xfde5380c, 23); - MD5STEP(F3, a, b, c, d, 0xa4beea44, 4); - MD5STEP(F3, d, a, b, c, 0x4bdecfa9, 11); - MD5STEP(F3, c, d, a, b, 0xf6bb4b60, 16); - MD5STEP(F3, b, c, d, a, 0xbebfbc70, 23); - MD5STEP(F3, a, b, c, d, 0x289b7ec6, 4); - MD5STEP(F3, d, a, b, c, pUiIn[0] + 0xeaa127fa, 11); - MD5STEP(F3, c, d, a, b, 0xd4ef3085, 16); - MD5STEP(F3, b, c, d, a, 0x04881d05, 23); - MD5STEP(F3, a, b, c, d, 0xd9d4d039, 4); - MD5STEP(F3, d, a, b, c, 0xe6db99e5, 11); - MD5STEP(F3, c, d, a, b, 0x1fa27cf8, 16); - MD5STEP(F3, b, c, d, a, 0xc4ac5665, 23); - - MD5STEP(F4, a, b, c, d, pUiIn[0] + 0xf4292244, 6); - MD5STEP(F4, d, a, b, c, 0x432aff97, 10); - MD5STEP(F4, c, d, a, b, 24 + 0xab9423a7, 15); - MD5STEP(F4, b, c, d, a, 0xfc93a039, 21); - MD5STEP(F4, a, b, c, d, 0x655b59c3, 6); - MD5STEP(F4, d, a, b, c, 0x8f0ccc92, 10); - MD5STEP(F4, c, d, a, b, 0xffeff47d, 15); - MD5STEP(F4, b, c, d, a, 0x85845dd1, 21); - MD5STEP(F4, a, b, c, d, 0x6fa87e4f, 6); - MD5STEP(F4, d, a, b, c, 0xfe2ce6e0, 10); - MD5STEP(F4, c, d, a, b, 0xa3014314, 15); - MD5STEP(F4, b, c, d, a, 0x4e0811a1, 21); - MD5STEP(F4, a, b, c, d, 0xf7537e82, 6); - MD5STEP(F4, d, a, b, c, 0xbd3af235, 10); - MD5STEP(F4, c, d, a, b, 0x2ad7d2bb, 15); - MD5STEP(F4, b, c, d, a, 0xeb86d391, 21); - uint32 buf[4] = { 0x67452301 + a, 0xefcdab89 + b, 0x98badcfe + c, 0x10325476 + d }; - memcpy(pDigest, buf, 16); - return; - } - break; - - case 4: - { - //Main variables - unsigned char in[4]; - - memcpy(in, pData, 4); - //in[4] = 0x80; //(uint32 *)in[1] = 128; - - //START OF MD5TRANSFORM CODE - //==================================================== - register uint32 a, b, c, d; - uint32 * pUiIn = (uint32 *) in; - - a = 0x67452301; - b = 0xefcdab89; - c = 0x98badcfe; - d = 0x10325476; - - MD5STEP(F1, a, b, c, d, pUiIn[0] + 0xd76aa478, 7); - MD5STEP(F1, d, a, b, c, 128 + 0xe8c7b756, 12); - MD5STEP(F1, c, d, a, b, 0x242070db, 17); - MD5STEP(F1, b, c, d, a, 0xc1bdceee, 22); - MD5STEP(F1, a, b, c, d, 0xf57c0faf, 7); - MD5STEP(F1, d, a, b, c, 0x4787c62a, 12); - MD5STEP(F1, c, d, a, b, 0xa8304613, 17); - MD5STEP(F1, b, c, d, a, 0xfd469501, 22); - MD5STEP(F1, a, b, c, d, 0x698098d8, 7); - MD5STEP(F1, d, a, b, c, 0x8b44f7af, 12); - MD5STEP(F1, c, d, a, b, 0xffff5bb1, 17); - MD5STEP(F1, b, c, d, a, 0x895cd7be, 22); - MD5STEP(F1, a, b, c, d, 0x6b901122, 7); - MD5STEP(F1, d, a, b, c, 0xfd987193, 12); - MD5STEP(F1, c, d, a, b, 32 + 0xa679438e, 17); - MD5STEP(F1, b, c, d, a, 0x49b40821, 22); - - MD5STEP(F2, a, b, c, d, 128 + 0xf61e2562, 5); - MD5STEP(F2, d, a, b, c, 0xc040b340, 9); - MD5STEP(F2, c, d, a, b, 0x265e5a51, 14); - MD5STEP(F2, b, c, d, a, pUiIn[0] + 0xe9b6c7aa, 20); - MD5STEP(F2, a, b, c, d, 0xd62f105d, 5); - MD5STEP(F2, d, a, b, c, 0x02441453, 9); - MD5STEP(F2, c, d, a, b, 0xd8a1e681, 14); - MD5STEP(F2, b, c, d, a, 0xe7d3fbc8, 20); - MD5STEP(F2, a, b, c, d, 0x21e1cde6, 5); - MD5STEP(F2, d, a, b, c, 32 + 0xc33707d6, 9); - MD5STEP(F2, c, d, a, b, 0xf4d50d87, 14); - MD5STEP(F2, b, c, d, a, 0x455a14ed, 20); - MD5STEP(F2, a, b, c, d, 0xa9e3e905, 5); - MD5STEP(F2, d, a, b, c, 0xfcefa3f8, 9); - MD5STEP(F2, c, d, a, b, 0x676f02d9, 14); - MD5STEP(F2, b, c, d, a, 0x8d2a4c8a, 20); - - MD5STEP(F3, a, b, c, d, 0xfffa3942, 4); - MD5STEP(F3, d, a, b, c, 0x8771f681, 11); - MD5STEP(F3, c, d, a, b, 0x6d9d6122, 16); - MD5STEP(F3, b, c, d, a, 32 + 0xfde5380c, 23); - MD5STEP(F3, a, b, c, d, 128 + 0xa4beea44, 4); - MD5STEP(F3, d, a, b, c, 0x4bdecfa9, 11); - MD5STEP(F3, c, d, a, b, 0xf6bb4b60, 16); - MD5STEP(F3, b, c, d, a, 0xbebfbc70, 23); - MD5STEP(F3, a, b, c, d, 0x289b7ec6, 4); - MD5STEP(F3, d, a, b, c, pUiIn[0] + 0xeaa127fa, 11); - MD5STEP(F3, c, d, a, b, 0xd4ef3085, 16); - MD5STEP(F3, b, c, d, a, 0x04881d05, 23); - MD5STEP(F3, a, b, c, d, 0xd9d4d039, 4); - MD5STEP(F3, d, a, b, c, 0xe6db99e5, 11); - MD5STEP(F3, c, d, a, b, 0x1fa27cf8, 16); - MD5STEP(F3, b, c, d, a, 0xc4ac5665, 23); - - MD5STEP(F4, a, b, c, d, pUiIn[0] + 0xf4292244, 6); - MD5STEP(F4, d, a, b, c, 0x432aff97, 10); - MD5STEP(F4, c, d, a, b, 32 + 0xab9423a7, 15); - MD5STEP(F4, b, c, d, a, 0xfc93a039, 21); - MD5STEP(F4, a, b, c, d, 0x655b59c3, 6); - MD5STEP(F4, d, a, b, c, 0x8f0ccc92, 10); - MD5STEP(F4, c, d, a, b, 0xffeff47d, 15); - MD5STEP(F4, b, c, d, a, 128 + 0x85845dd1, 21); - MD5STEP(F4, a, b, c, d, 0x6fa87e4f, 6); - MD5STEP(F4, d, a, b, c, 0xfe2ce6e0, 10); - MD5STEP(F4, c, d, a, b, 0xa3014314, 15); - MD5STEP(F4, b, c, d, a, 0x4e0811a1, 21); - MD5STEP(F4, a, b, c, d, 0xf7537e82, 6); - MD5STEP(F4, d, a, b, c, 0xbd3af235, 10); - MD5STEP(F4, c, d, a, b, 0x2ad7d2bb, 15); - MD5STEP(F4, b, c, d, a, 0xeb86d391, 21); - uint32 buf[4] = { 0x67452301 + a, 0xefcdab89 + b, 0x98badcfe + c, 0x10325476 + d }; - memcpy(pDigest, buf, 16); - return; - } - break; - - case 5: - { - //Main variables - unsigned char in[8]; - - memcpy(in, pData, 5); - in[5] = 0x80; - memset(in + 6, 0, 2); //(uint32 *)in[1] = 128; - - //START OF MD5TRANSFORM CODE - //==================================================== - register uint32 a, b, c, d; - uint32 * pUiIn = (uint32 *) in; - - a = 0x67452301; - b = 0xefcdab89; - c = 0x98badcfe; - d = 0x10325476; - - MD5STEP(F1, a, b, c, d, pUiIn[0] + 0xd76aa478, 7); - MD5STEP(F1, d, a, b, c, pUiIn[1] + 0xe8c7b756, 12); - MD5STEP(F1, c, d, a, b, 0x242070db, 17); - MD5STEP(F1, b, c, d, a, 0xc1bdceee, 22); - MD5STEP(F1, a, b, c, d, 0xf57c0faf, 7); - MD5STEP(F1, d, a, b, c, 0x4787c62a, 12); - MD5STEP(F1, c, d, a, b, 0xa8304613, 17); - MD5STEP(F1, b, c, d, a, 0xfd469501, 22); - MD5STEP(F1, a, b, c, d, 0x698098d8, 7); - MD5STEP(F1, d, a, b, c, 0x8b44f7af, 12); - MD5STEP(F1, c, d, a, b, 0xffff5bb1, 17); - MD5STEP(F1, b, c, d, a, 0x895cd7be, 22); - MD5STEP(F1, a, b, c, d, 0x6b901122, 7); - MD5STEP(F1, d, a, b, c, 0xfd987193, 12); - MD5STEP(F1, c, d, a, b, 40 + 0xa679438e, 17); - MD5STEP(F1, b, c, d, a, 0x49b40821, 22); - - MD5STEP(F2, a, b, c, d, pUiIn[1] + 0xf61e2562, 5); - MD5STEP(F2, d, a, b, c, 0xc040b340, 9); - MD5STEP(F2, c, d, a, b, 0x265e5a51, 14); - MD5STEP(F2, b, c, d, a, pUiIn[0] + 0xe9b6c7aa, 20); - MD5STEP(F2, a, b, c, d, 0xd62f105d, 5); - MD5STEP(F2, d, a, b, c, 0x02441453, 9); - MD5STEP(F2, c, d, a, b, 0xd8a1e681, 14); - MD5STEP(F2, b, c, d, a, 0xe7d3fbc8, 20); - MD5STEP(F2, a, b, c, d, 0x21e1cde6, 5); - MD5STEP(F2, d, a, b, c, 40 + 0xc33707d6, 9); - MD5STEP(F2, c, d, a, b, 0xf4d50d87, 14); - MD5STEP(F2, b, c, d, a, 0x455a14ed, 20); - MD5STEP(F2, a, b, c, d, 0xa9e3e905, 5); - MD5STEP(F2, d, a, b, c, 0xfcefa3f8, 9); - MD5STEP(F2, c, d, a, b, 0x676f02d9, 14); - MD5STEP(F2, b, c, d, a, 0x8d2a4c8a, 20); - - MD5STEP(F3, a, b, c, d, 0xfffa3942, 4); - MD5STEP(F3, d, a, b, c, 0x8771f681, 11); - MD5STEP(F3, c, d, a, b, 0x6d9d6122, 16); - MD5STEP(F3, b, c, d, a, 40 + 0xfde5380c, 23); - MD5STEP(F3, a, b, c, d, pUiIn[1] + 0xa4beea44, 4); - MD5STEP(F3, d, a, b, c, 0x4bdecfa9, 11); - MD5STEP(F3, c, d, a, b, 0xf6bb4b60, 16); - MD5STEP(F3, b, c, d, a, 0xbebfbc70, 23); - MD5STEP(F3, a, b, c, d, 0x289b7ec6, 4); - MD5STEP(F3, d, a, b, c, pUiIn[0] + 0xeaa127fa, 11); - MD5STEP(F3, c, d, a, b, 0xd4ef3085, 16); - MD5STEP(F3, b, c, d, a, 0x04881d05, 23); - MD5STEP(F3, a, b, c, d, 0xd9d4d039, 4); - MD5STEP(F3, d, a, b, c, 0xe6db99e5, 11); - MD5STEP(F3, c, d, a, b, 0x1fa27cf8, 16); - MD5STEP(F3, b, c, d, a, 0xc4ac5665, 23); - - MD5STEP(F4, a, b, c, d, pUiIn[0] + 0xf4292244, 6); - MD5STEP(F4, d, a, b, c, 0x432aff97, 10); - MD5STEP(F4, c, d, a, b, 40 + 0xab9423a7, 15); - MD5STEP(F4, b, c, d, a, 0xfc93a039, 21); - MD5STEP(F4, a, b, c, d, 0x655b59c3, 6); - MD5STEP(F4, d, a, b, c, 0x8f0ccc92, 10); - MD5STEP(F4, c, d, a, b, 0xffeff47d, 15); - MD5STEP(F4, b, c, d, a, pUiIn[1] + 0x85845dd1, 21); - MD5STEP(F4, a, b, c, d, 0x6fa87e4f, 6); - MD5STEP(F4, d, a, b, c, 0xfe2ce6e0, 10); - MD5STEP(F4, c, d, a, b, 0xa3014314, 15); - MD5STEP(F4, b, c, d, a, 0x4e0811a1, 21); - MD5STEP(F4, a, b, c, d, 0xf7537e82, 6); - MD5STEP(F4, d, a, b, c, 0xbd3af235, 10); - MD5STEP(F4, c, d, a, b, 0x2ad7d2bb, 15); - MD5STEP(F4, b, c, d, a, 0xeb86d391, 21); - uint32 buf[4] = { 0x67452301 + a, 0xefcdab89 + b, 0x98badcfe + c, 0x10325476 + d }; - memcpy(pDigest, buf, 16); - return; - } - break; - - case 6: - { - //Main variables - unsigned char in[8]; - - memcpy(in, pData, 6); - in[6] = 0x80; - memset(in + 7, 0, 1); //(uint32 *)in[1] = 128; - - //START OF MD5TRANSFORM CODE - //==================================================== - register uint32 a, b, c, d; - uint32 * pUiIn = (uint32 *) in; - - a = 0x67452301; - b = 0xefcdab89; - c = 0x98badcfe; - d = 0x10325476; - - MD5STEP(F1, a, b, c, d, pUiIn[0] + 0xd76aa478, 7); - MD5STEP(F1, d, a, b, c, pUiIn[1] + 0xe8c7b756, 12); - MD5STEP(F1, c, d, a, b, 0x242070db, 17); - MD5STEP(F1, b, c, d, a, 0xc1bdceee, 22); - MD5STEP(F1, a, b, c, d, 0xf57c0faf, 7); - MD5STEP(F1, d, a, b, c, 0x4787c62a, 12); - MD5STEP(F1, c, d, a, b, 0xa8304613, 17); - MD5STEP(F1, b, c, d, a, 0xfd469501, 22); - MD5STEP(F1, a, b, c, d, 0x698098d8, 7); - MD5STEP(F1, d, a, b, c, 0x8b44f7af, 12); - MD5STEP(F1, c, d, a, b, 0xffff5bb1, 17); - MD5STEP(F1, b, c, d, a, 0x895cd7be, 22); - MD5STEP(F1, a, b, c, d, 0x6b901122, 7); - MD5STEP(F1, d, a, b, c, 0xfd987193, 12); - MD5STEP(F1, c, d, a, b, 48 + 0xa679438e, 17); - MD5STEP(F1, b, c, d, a, 0x49b40821, 22); - - MD5STEP(F2, a, b, c, d, pUiIn[1] + 0xf61e2562, 5); - MD5STEP(F2, d, a, b, c, 0xc040b340, 9); - MD5STEP(F2, c, d, a, b, 0x265e5a51, 14); - MD5STEP(F2, b, c, d, a, pUiIn[0] + 0xe9b6c7aa, 20); - MD5STEP(F2, a, b, c, d, 0xd62f105d, 5); - MD5STEP(F2, d, a, b, c, 0x02441453, 9); - MD5STEP(F2, c, d, a, b, 0xd8a1e681, 14); - MD5STEP(F2, b, c, d, a, 0xe7d3fbc8, 20); - MD5STEP(F2, a, b, c, d, 0x21e1cde6, 5); - MD5STEP(F2, d, a, b, c, 48 + 0xc33707d6, 9); - MD5STEP(F2, c, d, a, b, 0xf4d50d87, 14); - MD5STEP(F2, b, c, d, a, 0x455a14ed, 20); - MD5STEP(F2, a, b, c, d, 0xa9e3e905, 5); - MD5STEP(F2, d, a, b, c, 0xfcefa3f8, 9); - MD5STEP(F2, c, d, a, b, 0x676f02d9, 14); - MD5STEP(F2, b, c, d, a, 0x8d2a4c8a, 20); - - MD5STEP(F3, a, b, c, d, 0xfffa3942, 4); - MD5STEP(F3, d, a, b, c, 0x8771f681, 11); - MD5STEP(F3, c, d, a, b, 0x6d9d6122, 16); - MD5STEP(F3, b, c, d, a, 48 + 0xfde5380c, 23); - MD5STEP(F3, a, b, c, d, pUiIn[1] + 0xa4beea44, 4); - MD5STEP(F3, d, a, b, c, 0x4bdecfa9, 11); - MD5STEP(F3, c, d, a, b, 0xf6bb4b60, 16); - MD5STEP(F3, b, c, d, a, 0xbebfbc70, 23); - MD5STEP(F3, a, b, c, d, 0x289b7ec6, 4); - MD5STEP(F3, d, a, b, c, pUiIn[0] + 0xeaa127fa, 11); - MD5STEP(F3, c, d, a, b, 0xd4ef3085, 16); - MD5STEP(F3, b, c, d, a, 0x04881d05, 23); - MD5STEP(F3, a, b, c, d, 0xd9d4d039, 4); - MD5STEP(F3, d, a, b, c, 0xe6db99e5, 11); - MD5STEP(F3, c, d, a, b, 0x1fa27cf8, 16); - MD5STEP(F3, b, c, d, a, 0xc4ac5665, 23); - - MD5STEP(F4, a, b, c, d, pUiIn[0] + 0xf4292244, 6); - MD5STEP(F4, d, a, b, c, 0x432aff97, 10); - MD5STEP(F4, c, d, a, b, 48 + 0xab9423a7, 15); - MD5STEP(F4, b, c, d, a, 0xfc93a039, 21); - MD5STEP(F4, a, b, c, d, 0x655b59c3, 6); - MD5STEP(F4, d, a, b, c, 0x8f0ccc92, 10); - MD5STEP(F4, c, d, a, b, 0xffeff47d, 15); - MD5STEP(F4, b, c, d, a, pUiIn[1] + 0x85845dd1, 21); - MD5STEP(F4, a, b, c, d, 0x6fa87e4f, 6); - MD5STEP(F4, d, a, b, c, 0xfe2ce6e0, 10); - MD5STEP(F4, c, d, a, b, 0xa3014314, 15); - MD5STEP(F4, b, c, d, a, 0x4e0811a1, 21); - MD5STEP(F4, a, b, c, d, 0xf7537e82, 6); - MD5STEP(F4, d, a, b, c, 0xbd3af235, 10); - MD5STEP(F4, c, d, a, b, 0x2ad7d2bb, 15); - MD5STEP(F4, b, c, d, a, 0xeb86d391, 21); - uint32 buf[4] = { 0x67452301 + a, 0xefcdab89 + b, 0x98badcfe + c, 0x10325476 + d }; - memcpy(pDigest, buf, 16); - return; - } - break; - - case 7: - { - //Main variables - unsigned char in[8]; - - memcpy(in, pData, 7); - in[7] = 0x80; - - //START OF MD5TRANSFORM CODE - //==================================================== - register uint32 a, b, c, d; - uint32 * pUiIn = (uint32 *) in; - - a = 0x67452301; - b = 0xefcdab89; - c = 0x98badcfe; - d = 0x10325476; - - MD5STEP(F1, a, b, c, d, pUiIn[0] + 0xd76aa478, 7); - MD5STEP(F1, d, a, b, c, pUiIn[1] + 0xe8c7b756, 12); - MD5STEP(F1, c, d, a, b, 0x242070db, 17); - MD5STEP(F1, b, c, d, a, 0xc1bdceee, 22); - MD5STEP(F1, a, b, c, d, 0xf57c0faf, 7); - MD5STEP(F1, d, a, b, c, 0x4787c62a, 12); - MD5STEP(F1, c, d, a, b, 0xa8304613, 17); - MD5STEP(F1, b, c, d, a, 0xfd469501, 22); - MD5STEP(F1, a, b, c, d, 0x698098d8, 7); - MD5STEP(F1, d, a, b, c, 0x8b44f7af, 12); - MD5STEP(F1, c, d, a, b, 0xffff5bb1, 17); - MD5STEP(F1, b, c, d, a, 0x895cd7be, 22); - MD5STEP(F1, a, b, c, d, 0x6b901122, 7); - MD5STEP(F1, d, a, b, c, 0xfd987193, 12); - MD5STEP(F1, c, d, a, b, 56 + 0xa679438e, 17); - MD5STEP(F1, b, c, d, a, 0x49b40821, 22); - - MD5STEP(F2, a, b, c, d, pUiIn[1] + 0xf61e2562, 5); - MD5STEP(F2, d, a, b, c, 0xc040b340, 9); - MD5STEP(F2, c, d, a, b, 0x265e5a51, 14); - MD5STEP(F2, b, c, d, a, pUiIn[0] + 0xe9b6c7aa, 20); - MD5STEP(F2, a, b, c, d, 0xd62f105d, 5); - MD5STEP(F2, d, a, b, c, 0x02441453, 9); - MD5STEP(F2, c, d, a, b, 0xd8a1e681, 14); - MD5STEP(F2, b, c, d, a, 0xe7d3fbc8, 20); - MD5STEP(F2, a, b, c, d, 0x21e1cde6, 5); - MD5STEP(F2, d, a, b, c, 56 + 0xc33707d6, 9); - MD5STEP(F2, c, d, a, b, 0xf4d50d87, 14); - MD5STEP(F2, b, c, d, a, 0x455a14ed, 20); - MD5STEP(F2, a, b, c, d, 0xa9e3e905, 5); - MD5STEP(F2, d, a, b, c, 0xfcefa3f8, 9); - MD5STEP(F2, c, d, a, b, 0x676f02d9, 14); - MD5STEP(F2, b, c, d, a, 0x8d2a4c8a, 20); - - MD5STEP(F3, a, b, c, d, 0xfffa3942, 4); - MD5STEP(F3, d, a, b, c, 0x8771f681, 11); - MD5STEP(F3, c, d, a, b, 0x6d9d6122, 16); - MD5STEP(F3, b, c, d, a, 56 + 0xfde5380c, 23); - MD5STEP(F3, a, b, c, d, pUiIn[1] + 0xa4beea44, 4); - MD5STEP(F3, d, a, b, c, 0x4bdecfa9, 11); - MD5STEP(F3, c, d, a, b, 0xf6bb4b60, 16); - MD5STEP(F3, b, c, d, a, 0xbebfbc70, 23); - MD5STEP(F3, a, b, c, d, 0x289b7ec6, 4); - MD5STEP(F3, d, a, b, c, pUiIn[0] + 0xeaa127fa, 11); - MD5STEP(F3, c, d, a, b, 0xd4ef3085, 16); - MD5STEP(F3, b, c, d, a, 0x04881d05, 23); - MD5STEP(F3, a, b, c, d, 0xd9d4d039, 4); - MD5STEP(F3, d, a, b, c, 0xe6db99e5, 11); - MD5STEP(F3, c, d, a, b, 0x1fa27cf8, 16); - MD5STEP(F3, b, c, d, a, 0xc4ac5665, 23); - - MD5STEP(F4, a, b, c, d, pUiIn[0] + 0xf4292244, 6); - MD5STEP(F4, d, a, b, c, 0x432aff97, 10); - MD5STEP(F4, c, d, a, b, 56 + 0xab9423a7, 15); - MD5STEP(F4, b, c, d, a, 0xfc93a039, 21); - MD5STEP(F4, a, b, c, d, 0x655b59c3, 6); - MD5STEP(F4, d, a, b, c, 0x8f0ccc92, 10); - MD5STEP(F4, c, d, a, b, 0xffeff47d, 15); - MD5STEP(F4, b, c, d, a, pUiIn[1] + 0x85845dd1, 21); - MD5STEP(F4, a, b, c, d, 0x6fa87e4f, 6); - MD5STEP(F4, d, a, b, c, 0xfe2ce6e0, 10); - MD5STEP(F4, c, d, a, b, 0xa3014314, 15); - MD5STEP(F4, b, c, d, a, 0x4e0811a1, 21); - MD5STEP(F4, a, b, c, d, 0xf7537e82, 6); - MD5STEP(F4, d, a, b, c, 0xbd3af235, 10); - MD5STEP(F4, c, d, a, b, 0x2ad7d2bb, 15); - MD5STEP(F4, b, c, d, a, 0xeb86d391, 21); - - uint32 buf[4] = { 0x67452301 + a, 0xefcdab89 + b, 0x98badcfe + c, 0x10325476 + d }; - memcpy(pDigest, buf, 16); - return; - } - break; - - case 8: - { - //Main variables - unsigned char in[8]; - - memcpy(in, pData, 8); - - //START OF MD5TRANSFORM CODE - //==================================================== - register uint32 a, b, c, d; - uint32 * pUiIn = (uint32 *) in; - - a = 0x67452301; - b = 0xefcdab89; - c = 0x98badcfe; - d = 0x10325476; - - MD5STEP(F1, a, b, c, d, pUiIn[0] + 0xd76aa478, 7); - MD5STEP(F1, d, a, b, c, pUiIn[1] + 0xe8c7b756, 12); - MD5STEP(F1, c, d, a, b, 128 + 0x242070db, 17); - MD5STEP(F1, b, c, d, a, 0xc1bdceee, 22); - MD5STEP(F1, a, b, c, d, 0xf57c0faf, 7); - MD5STEP(F1, d, a, b, c, 0x4787c62a, 12); - MD5STEP(F1, c, d, a, b, 0xa8304613, 17); - MD5STEP(F1, b, c, d, a, 0xfd469501, 22); - MD5STEP(F1, a, b, c, d, 0x698098d8, 7); - MD5STEP(F1, d, a, b, c, 0x8b44f7af, 12); - MD5STEP(F1, c, d, a, b, 0xffff5bb1, 17); - MD5STEP(F1, b, c, d, a, 0x895cd7be, 22); - MD5STEP(F1, a, b, c, d, 0x6b901122, 7); - MD5STEP(F1, d, a, b, c, 0xfd987193, 12); - MD5STEP(F1, c, d, a, b, 64 + 0xa679438e, 17); - MD5STEP(F1, b, c, d, a, 0x49b40821, 22); - - MD5STEP(F2, a, b, c, d, pUiIn[1] + 0xf61e2562, 5); - MD5STEP(F2, d, a, b, c, 0xc040b340, 9); - MD5STEP(F2, c, d, a, b, 0x265e5a51, 14); - MD5STEP(F2, b, c, d, a, pUiIn[0] + 0xe9b6c7aa, 20); - MD5STEP(F2, a, b, c, d, 0xd62f105d, 5); - MD5STEP(F2, d, a, b, c, 0x02441453, 9); - MD5STEP(F2, c, d, a, b, 0xd8a1e681, 14); - MD5STEP(F2, b, c, d, a, 0xe7d3fbc8, 20); - MD5STEP(F2, a, b, c, d, 0x21e1cde6, 5); - MD5STEP(F2, d, a, b, c, 64 + 0xc33707d6, 9); - MD5STEP(F2, c, d, a, b, 0xf4d50d87, 14); - MD5STEP(F2, b, c, d, a, 0x455a14ed, 20); - MD5STEP(F2, a, b, c, d, 0xa9e3e905, 5); - MD5STEP(F2, d, a, b, c, 128 + 0xfcefa3f8, 9); - MD5STEP(F2, c, d, a, b, 0x676f02d9, 14); - MD5STEP(F2, b, c, d, a, 0x8d2a4c8a, 20); - - MD5STEP(F3, a, b, c, d, 0xfffa3942, 4); - MD5STEP(F3, d, a, b, c, 0x8771f681, 11); - MD5STEP(F3, c, d, a, b, 0x6d9d6122, 16); - MD5STEP(F3, b, c, d, a, 64 + 0xfde5380c, 23); - MD5STEP(F3, a, b, c, d, pUiIn[1] + 0xa4beea44, 4); - MD5STEP(F3, d, a, b, c, 0x4bdecfa9, 11); - MD5STEP(F3, c, d, a, b, 0xf6bb4b60, 16); - MD5STEP(F3, b, c, d, a, 0xbebfbc70, 23); - MD5STEP(F3, a, b, c, d, 0x289b7ec6, 4); - MD5STEP(F3, d, a, b, c, pUiIn[0] + 0xeaa127fa, 11); - MD5STEP(F3, c, d, a, b, 0xd4ef3085, 16); - MD5STEP(F3, b, c, d, a, 0x04881d05, 23); - MD5STEP(F3, a, b, c, d, 0xd9d4d039, 4); - MD5STEP(F3, d, a, b, c, 0xe6db99e5, 11); - MD5STEP(F3, c, d, a, b, 0x1fa27cf8, 16); - MD5STEP(F3, b, c, d, a, 128 + 0xc4ac5665, 23); - - MD5STEP(F4, a, b, c, d, pUiIn[0] + 0xf4292244, 6); - MD5STEP(F4, d, a, b, c, 0x432aff97, 10); - MD5STEP(F4, c, d, a, b, 64 + 0xab9423a7, 15); - MD5STEP(F4, b, c, d, a, 0xfc93a039, 21); - MD5STEP(F4, a, b, c, d, 0x655b59c3, 6); - MD5STEP(F4, d, a, b, c, 0x8f0ccc92, 10); - MD5STEP(F4, c, d, a, b, 0xffeff47d, 15); - MD5STEP(F4, b, c, d, a, pUiIn[1] + 0x85845dd1, 21); - MD5STEP(F4, a, b, c, d, 0x6fa87e4f, 6); - MD5STEP(F4, d, a, b, c, 0xfe2ce6e0, 10); - MD5STEP(F4, c, d, a, b, 0xa3014314, 15); - MD5STEP(F4, b, c, d, a, 0x4e0811a1, 21); - MD5STEP(F4, a, b, c, d, 0xf7537e82, 6); - MD5STEP(F4, d, a, b, c, 0xbd3af235, 10); - MD5STEP(F4, c, d, a, b, 128 + 0x2ad7d2bb, 15); - MD5STEP(F4, b, c, d, a, 0xeb86d391, 21); - - uint32 buf[4] = { 0x67452301 + a, 0xefcdab89 + b, 0x98badcfe + c, 0x10325476 + d }; - memcpy(pDigest, buf, 16); - return; - } - break; - - case 9: - { - //Main variables - unsigned char in[12]; - - memcpy(in, pData, 9); - in[9] = 0x80; - memset(in + 10, 0, 2); - - //START OF MD5TRANSFORM CODE - //==================================================== - register uint32 a, b, c, d; - uint32 * pUiIn = (uint32 *) in; - - a = 0x67452301; - b = 0xefcdab89; - c = 0x98badcfe; - d = 0x10325476; - - MD5STEP(F1, a, b, c, d, pUiIn[0] + 0xd76aa478, 7); - MD5STEP(F1, d, a, b, c, pUiIn[1] + 0xe8c7b756, 12); - MD5STEP(F1, c, d, a, b, pUiIn[2] + 0x242070db, 17); - MD5STEP(F1, b, c, d, a, 0xc1bdceee, 22); - MD5STEP(F1, a, b, c, d, 0xf57c0faf, 7); - MD5STEP(F1, d, a, b, c, 0x4787c62a, 12); - MD5STEP(F1, c, d, a, b, 0xa8304613, 17); - MD5STEP(F1, b, c, d, a, 0xfd469501, 22); - MD5STEP(F1, a, b, c, d, 0x698098d8, 7); - MD5STEP(F1, d, a, b, c, 0x8b44f7af, 12); - MD5STEP(F1, c, d, a, b, 0xffff5bb1, 17); - MD5STEP(F1, b, c, d, a, 0x895cd7be, 22); - MD5STEP(F1, a, b, c, d, 0x6b901122, 7); - MD5STEP(F1, d, a, b, c, 0xfd987193, 12); - MD5STEP(F1, c, d, a, b, 72 + 0xa679438e, 17); - MD5STEP(F1, b, c, d, a, 0x49b40821, 22); - - MD5STEP(F2, a, b, c, d, pUiIn[1] + 0xf61e2562, 5); - MD5STEP(F2, d, a, b, c, 0xc040b340, 9); - MD5STEP(F2, c, d, a, b, 0x265e5a51, 14); - MD5STEP(F2, b, c, d, a, pUiIn[0] + 0xe9b6c7aa, 20); - MD5STEP(F2, a, b, c, d, 0xd62f105d, 5); - MD5STEP(F2, d, a, b, c, 0x02441453, 9); - MD5STEP(F2, c, d, a, b, 0xd8a1e681, 14); - MD5STEP(F2, b, c, d, a, 0xe7d3fbc8, 20); - MD5STEP(F2, a, b, c, d, 0x21e1cde6, 5); - MD5STEP(F2, d, a, b, c, 72 + 0xc33707d6, 9); - MD5STEP(F2, c, d, a, b, 0xf4d50d87, 14); - MD5STEP(F2, b, c, d, a, 0x455a14ed, 20); - MD5STEP(F2, a, b, c, d, 0xa9e3e905, 5); - MD5STEP(F2, d, a, b, c, pUiIn[2] + 0xfcefa3f8, 9); - MD5STEP(F2, c, d, a, b, 0x676f02d9, 14); - MD5STEP(F2, b, c, d, a, 0x8d2a4c8a, 20); - - MD5STEP(F3, a, b, c, d, 0xfffa3942, 4); - MD5STEP(F3, d, a, b, c, 0x8771f681, 11); - MD5STEP(F3, c, d, a, b, 0x6d9d6122, 16); - MD5STEP(F3, b, c, d, a, 72 + 0xfde5380c, 23); - MD5STEP(F3, a, b, c, d, pUiIn[1] + 0xa4beea44, 4); - MD5STEP(F3, d, a, b, c, 0x4bdecfa9, 11); - MD5STEP(F3, c, d, a, b, 0xf6bb4b60, 16); - MD5STEP(F3, b, c, d, a, 0xbebfbc70, 23); - MD5STEP(F3, a, b, c, d, 0x289b7ec6, 4); - MD5STEP(F3, d, a, b, c, pUiIn[0] + 0xeaa127fa, 11); - MD5STEP(F3, c, d, a, b, 0xd4ef3085, 16); - MD5STEP(F3, b, c, d, a, 0x04881d05, 23); - MD5STEP(F3, a, b, c, d, 0xd9d4d039, 4); - MD5STEP(F3, d, a, b, c, 0xe6db99e5, 11); - MD5STEP(F3, c, d, a, b, 0x1fa27cf8, 16); - MD5STEP(F3, b, c, d, a, pUiIn[2] + 0xc4ac5665, 23); - - MD5STEP(F4, a, b, c, d, pUiIn[0] + 0xf4292244, 6); - MD5STEP(F4, d, a, b, c, 0x432aff97, 10); - MD5STEP(F4, c, d, a, b, 72 + 0xab9423a7, 15); - MD5STEP(F4, b, c, d, a, 0xfc93a039, 21); - MD5STEP(F4, a, b, c, d, 0x655b59c3, 6); - MD5STEP(F4, d, a, b, c, 0x8f0ccc92, 10); - MD5STEP(F4, c, d, a, b, 0xffeff47d, 15); - MD5STEP(F4, b, c, d, a, pUiIn[1] + 0x85845dd1, 21); - MD5STEP(F4, a, b, c, d, 0x6fa87e4f, 6); - MD5STEP(F4, d, a, b, c, 0xfe2ce6e0, 10); - MD5STEP(F4, c, d, a, b, 0xa3014314, 15); - MD5STEP(F4, b, c, d, a, 0x4e0811a1, 21); - MD5STEP(F4, a, b, c, d, 0xf7537e82, 6); - MD5STEP(F4, d, a, b, c, 0xbd3af235, 10); - MD5STEP(F4, c, d, a, b, pUiIn[2] + 0x2ad7d2bb, 15); - MD5STEP(F4, b, c, d, a, 0xeb86d391, 21); - - uint32 buf[4] = { 0x67452301 + a, 0xefcdab89 + b, 0x98badcfe + c, 0x10325476 + d }; - memcpy(pDigest, buf, 16); - return; - } - break; - - case 10: - { - //Main variables - unsigned char in[12]; - - memcpy(in, pData, 10); - in[10] = 0x80; - memset(in + 11, 0, 1); - - //START OF MD5TRANSFORM CODE - //==================================================== - register uint32 a, b, c, d; - uint32 * pUiIn = (uint32 *) in; - - a = 0x67452301; - b = 0xefcdab89; - c = 0x98badcfe; - d = 0x10325476; - - MD5STEP(F1, a, b, c, d, pUiIn[0] + 0xd76aa478, 7); - MD5STEP(F1, d, a, b, c, pUiIn[1] + 0xe8c7b756, 12); - MD5STEP(F1, c, d, a, b, pUiIn[2] + 0x242070db, 17); - MD5STEP(F1, b, c, d, a, 0xc1bdceee, 22); - MD5STEP(F1, a, b, c, d, 0xf57c0faf, 7); - MD5STEP(F1, d, a, b, c, 0x4787c62a, 12); - MD5STEP(F1, c, d, a, b, 0xa8304613, 17); - MD5STEP(F1, b, c, d, a, 0xfd469501, 22); - MD5STEP(F1, a, b, c, d, 0x698098d8, 7); - MD5STEP(F1, d, a, b, c, 0x8b44f7af, 12); - MD5STEP(F1, c, d, a, b, 0xffff5bb1, 17); - MD5STEP(F1, b, c, d, a, 0x895cd7be, 22); - MD5STEP(F1, a, b, c, d, 0x6b901122, 7); - MD5STEP(F1, d, a, b, c, 0xfd987193, 12); - MD5STEP(F1, c, d, a, b, 80 + 0xa679438e, 17); - MD5STEP(F1, b, c, d, a, 0x49b40821, 22); - - MD5STEP(F2, a, b, c, d, pUiIn[1] + 0xf61e2562, 5); - MD5STEP(F2, d, a, b, c, 0xc040b340, 9); - MD5STEP(F2, c, d, a, b, 0x265e5a51, 14); - MD5STEP(F2, b, c, d, a, pUiIn[0] + 0xe9b6c7aa, 20); - MD5STEP(F2, a, b, c, d, 0xd62f105d, 5); - MD5STEP(F2, d, a, b, c, 0x02441453, 9); - MD5STEP(F2, c, d, a, b, 0xd8a1e681, 14); - MD5STEP(F2, b, c, d, a, 0xe7d3fbc8, 20); - MD5STEP(F2, a, b, c, d, 0x21e1cde6, 5); - MD5STEP(F2, d, a, b, c, 80 + 0xc33707d6, 9); - MD5STEP(F2, c, d, a, b, 0xf4d50d87, 14); - MD5STEP(F2, b, c, d, a, 0x455a14ed, 20); - MD5STEP(F2, a, b, c, d, 0xa9e3e905, 5); - MD5STEP(F2, d, a, b, c, pUiIn[2] + 0xfcefa3f8, 9); - MD5STEP(F2, c, d, a, b, 0x676f02d9, 14); - MD5STEP(F2, b, c, d, a, 0x8d2a4c8a, 20); - - MD5STEP(F3, a, b, c, d, 0xfffa3942, 4); - MD5STEP(F3, d, a, b, c, 0x8771f681, 11); - MD5STEP(F3, c, d, a, b, 0x6d9d6122, 16); - MD5STEP(F3, b, c, d, a, 80 + 0xfde5380c, 23); - MD5STEP(F3, a, b, c, d, pUiIn[1] + 0xa4beea44, 4); - MD5STEP(F3, d, a, b, c, 0x4bdecfa9, 11); - MD5STEP(F3, c, d, a, b, 0xf6bb4b60, 16); - MD5STEP(F3, b, c, d, a, 0xbebfbc70, 23); - MD5STEP(F3, a, b, c, d, 0x289b7ec6, 4); - MD5STEP(F3, d, a, b, c, pUiIn[0] + 0xeaa127fa, 11); - MD5STEP(F3, c, d, a, b, 0xd4ef3085, 16); - MD5STEP(F3, b, c, d, a, 0x04881d05, 23); - MD5STEP(F3, a, b, c, d, 0xd9d4d039, 4); - MD5STEP(F3, d, a, b, c, 0xe6db99e5, 11); - MD5STEP(F3, c, d, a, b, 0x1fa27cf8, 16); - MD5STEP(F3, b, c, d, a, pUiIn[2] + 0xc4ac5665, 23); - - MD5STEP(F4, a, b, c, d, pUiIn[0] + 0xf4292244, 6); - MD5STEP(F4, d, a, b, c, 0x432aff97, 10); - MD5STEP(F4, c, d, a, b, 80 + 0xab9423a7, 15); - MD5STEP(F4, b, c, d, a, 0xfc93a039, 21); - MD5STEP(F4, a, b, c, d, 0x655b59c3, 6); - MD5STEP(F4, d, a, b, c, 0x8f0ccc92, 10); - MD5STEP(F4, c, d, a, b, 0xffeff47d, 15); - MD5STEP(F4, b, c, d, a, pUiIn[1] + 0x85845dd1, 21); - MD5STEP(F4, a, b, c, d, 0x6fa87e4f, 6); - MD5STEP(F4, d, a, b, c, 0xfe2ce6e0, 10); - MD5STEP(F4, c, d, a, b, 0xa3014314, 15); - MD5STEP(F4, b, c, d, a, 0x4e0811a1, 21); - MD5STEP(F4, a, b, c, d, 0xf7537e82, 6); - MD5STEP(F4, d, a, b, c, 0xbd3af235, 10); - MD5STEP(F4, c, d, a, b, pUiIn[2] + 0x2ad7d2bb, 15); - MD5STEP(F4, b, c, d, a, 0xeb86d391, 21); - - uint32 buf[4] = { 0x67452301 + a, 0xefcdab89 + b, 0x98badcfe + c, 0x10325476 + d }; - memcpy(pDigest, buf, 16); - return; - } - break; - - default: - //Main variables - uint32 buf[4]; - unsigned char in[64]; - - //Initialize - buf[0] = 0x67452301; - buf[1] = 0xefcdab89; - buf[2] = 0x98badcfe; - buf[3] = 0x10325476; - - /* Process data in 64-byte chunks */ - if( len >= 64 ) - { - while( len >= 64 ) - { - memcpy(in, pData, 64); - - //START OF MD5TRANSFORM CODE - //==================================================== - register uint32 a, b, c, d; - uint32 * pUiIn = (uint32 *) in; - - a = buf[0]; - b = buf[1]; - c = buf[2]; - d = buf[3]; - - MD5STEP(F1, a, b, c, d, pUiIn[0] + 0xd76aa478, 7); - MD5STEP(F1, d, a, b, c, pUiIn[1] + 0xe8c7b756, 12); - MD5STEP(F1, c, d, a, b, pUiIn[2] + 0x242070db, 17); - MD5STEP(F1, b, c, d, a, pUiIn[3] + 0xc1bdceee, 22); - MD5STEP(F1, a, b, c, d, pUiIn[4] + 0xf57c0faf, 7); - MD5STEP(F1, d, a, b, c, pUiIn[5] + 0x4787c62a, 12); - MD5STEP(F1, c, d, a, b, pUiIn[6] + 0xa8304613, 17); - MD5STEP(F1, b, c, d, a, pUiIn[7] + 0xfd469501, 22); - MD5STEP(F1, a, b, c, d, pUiIn[8] + 0x698098d8, 7); - MD5STEP(F1, d, a, b, c, pUiIn[9] + 0x8b44f7af, 12); - MD5STEP(F1, c, d, a, b, pUiIn[10] + 0xffff5bb1, 17); - MD5STEP(F1, b, c, d, a, pUiIn[11] + 0x895cd7be, 22); - MD5STEP(F1, a, b, c, d, pUiIn[12] + 0x6b901122, 7); - MD5STEP(F1, d, a, b, c, pUiIn[13] + 0xfd987193, 12); - MD5STEP(F1, c, d, a, b, pUiIn[14] + 0xa679438e, 17); - MD5STEP(F1, b, c, d, a, pUiIn[15] + 0x49b40821, 22); - - MD5STEP(F2, a, b, c, d, pUiIn[1] + 0xf61e2562, 5); - MD5STEP(F2, d, a, b, c, pUiIn[6] + 0xc040b340, 9); - MD5STEP(F2, c, d, a, b, pUiIn[11] + 0x265e5a51, 14); - MD5STEP(F2, b, c, d, a, pUiIn[0] + 0xe9b6c7aa, 20); - MD5STEP(F2, a, b, c, d, pUiIn[5] + 0xd62f105d, 5); - MD5STEP(F2, d, a, b, c, pUiIn[10] + 0x02441453, 9); - MD5STEP(F2, c, d, a, b, pUiIn[15] + 0xd8a1e681, 14); - MD5STEP(F2, b, c, d, a, pUiIn[4] + 0xe7d3fbc8, 20); - MD5STEP(F2, a, b, c, d, pUiIn[9] + 0x21e1cde6, 5); - MD5STEP(F2, d, a, b, c, pUiIn[14] + 0xc33707d6, 9); - MD5STEP(F2, c, d, a, b, pUiIn[3] + 0xf4d50d87, 14); - MD5STEP(F2, b, c, d, a, pUiIn[8] + 0x455a14ed, 20); - MD5STEP(F2, a, b, c, d, pUiIn[13] + 0xa9e3e905, 5); - MD5STEP(F2, d, a, b, c, pUiIn[2] + 0xfcefa3f8, 9); - MD5STEP(F2, c, d, a, b, pUiIn[7] + 0x676f02d9, 14); - MD5STEP(F2, b, c, d, a, pUiIn[12] + 0x8d2a4c8a, 20); - - MD5STEP(F3, a, b, c, d, pUiIn[5] + 0xfffa3942, 4); - MD5STEP(F3, d, a, b, c, pUiIn[8] + 0x8771f681, 11); - MD5STEP(F3, c, d, a, b, pUiIn[11] + 0x6d9d6122, 16); - MD5STEP(F3, b, c, d, a, pUiIn[14] + 0xfde5380c, 23); - MD5STEP(F3, a, b, c, d, pUiIn[1] + 0xa4beea44, 4); - MD5STEP(F3, d, a, b, c, pUiIn[4] + 0x4bdecfa9, 11); - MD5STEP(F3, c, d, a, b, pUiIn[7] + 0xf6bb4b60, 16); - MD5STEP(F3, b, c, d, a, pUiIn[10] + 0xbebfbc70, 23); - MD5STEP(F3, a, b, c, d, pUiIn[13] + 0x289b7ec6, 4); - MD5STEP(F3, d, a, b, c, pUiIn[0] + 0xeaa127fa, 11); - MD5STEP(F3, c, d, a, b, pUiIn[3] + 0xd4ef3085, 16); - MD5STEP(F3, b, c, d, a, pUiIn[6] + 0x04881d05, 23); - MD5STEP(F3, a, b, c, d, pUiIn[9] + 0xd9d4d039, 4); - MD5STEP(F3, d, a, b, c, pUiIn[12] + 0xe6db99e5, 11); - MD5STEP(F3, c, d, a, b, pUiIn[15] + 0x1fa27cf8, 16); - MD5STEP(F3, b, c, d, a, pUiIn[2] + 0xc4ac5665, 23); - - MD5STEP(F4, a, b, c, d, pUiIn[0] + 0xf4292244, 6); - MD5STEP(F4, d, a, b, c, pUiIn[7] + 0x432aff97, 10); - MD5STEP(F4, c, d, a, b, pUiIn[14] + 0xab9423a7, 15); - MD5STEP(F4, b, c, d, a, pUiIn[5] + 0xfc93a039, 21); - MD5STEP(F4, a, b, c, d, pUiIn[12] + 0x655b59c3, 6); - MD5STEP(F4, d, a, b, c, pUiIn[3] + 0x8f0ccc92, 10); - MD5STEP(F4, c, d, a, b, pUiIn[10] + 0xffeff47d, 15); - MD5STEP(F4, b, c, d, a, pUiIn[1] + 0x85845dd1, 21); - MD5STEP(F4, a, b, c, d, pUiIn[8] + 0x6fa87e4f, 6); - MD5STEP(F4, d, a, b, c, pUiIn[15] + 0xfe2ce6e0, 10); - MD5STEP(F4, c, d, a, b, pUiIn[6] + 0xa3014314, 15); - MD5STEP(F4, b, c, d, a, pUiIn[13] + 0x4e0811a1, 21); - MD5STEP(F4, a, b, c, d, pUiIn[4] + 0xf7537e82, 6); - MD5STEP(F4, d, a, b, c, pUiIn[11] + 0xbd3af235, 10); - MD5STEP(F4, c, d, a, b, pUiIn[2] + 0x2ad7d2bb, 15); - MD5STEP(F4, b, c, d, a, pUiIn[9] + 0xeb86d391, 21); - - buf[0] += a; - buf[1] += b; - buf[2] += c; - buf[3] += d; - //END OF MD5TRANSFORM CODE - //==================================================== - - pData += 64; - len -= 64; - } - } - - /* Handle any remaining bytes of data. */ - memcpy(in, pData, len); - - //MD5FINAL STARTS HERE - //=========================================== - unsigned count = len & 0x3F; - unsigned char * p = in + count; - *p++ = 0x80; - - // Bytes of padding needed to make 64 bytes - count = 63 - count; - - /* Pad out to 56 mod 64 */ - if(count < 8) - { - // Two lots of padding: Pad the first block to 64 bytes - memset(p, 0, count); - - //START OF MD5TRANSFORM CODE - //==================================================== - register uint32 a, b, c, d; - uint32 * pUiIn = (uint32 *) in; - - a = buf[0]; - b = buf[1]; - c = buf[2]; - d = buf[3]; - - MD5STEP(F1, a, b, c, d, pUiIn[0] + 0xd76aa478, 7); - MD5STEP(F1, d, a, b, c, pUiIn[1] + 0xe8c7b756, 12); - MD5STEP(F1, c, d, a, b, pUiIn[2] + 0x242070db, 17); - MD5STEP(F1, b, c, d, a, pUiIn[3] + 0xc1bdceee, 22); - MD5STEP(F1, a, b, c, d, pUiIn[4] + 0xf57c0faf, 7); - MD5STEP(F1, d, a, b, c, pUiIn[5] + 0x4787c62a, 12); - MD5STEP(F1, c, d, a, b, pUiIn[6] + 0xa8304613, 17); - MD5STEP(F1, b, c, d, a, pUiIn[7] + 0xfd469501, 22); - MD5STEP(F1, a, b, c, d, pUiIn[8] + 0x698098d8, 7); - MD5STEP(F1, d, a, b, c, pUiIn[9] + 0x8b44f7af, 12); - MD5STEP(F1, c, d, a, b, pUiIn[10] + 0xffff5bb1, 17); - MD5STEP(F1, b, c, d, a, pUiIn[11] + 0x895cd7be, 22); - MD5STEP(F1, a, b, c, d, pUiIn[12] + 0x6b901122, 7); - MD5STEP(F1, d, a, b, c, pUiIn[13] + 0xfd987193, 12); - MD5STEP(F1, c, d, a, b, pUiIn[14] + 0xa679438e, 17); - MD5STEP(F1, b, c, d, a, pUiIn[15] + 0x49b40821, 22); - - MD5STEP(F2, a, b, c, d, pUiIn[1] + 0xf61e2562, 5); - MD5STEP(F2, d, a, b, c, pUiIn[6] + 0xc040b340, 9); - MD5STEP(F2, c, d, a, b, pUiIn[11] + 0x265e5a51, 14); - MD5STEP(F2, b, c, d, a, pUiIn[0] + 0xe9b6c7aa, 20); - MD5STEP(F2, a, b, c, d, pUiIn[5] + 0xd62f105d, 5); - MD5STEP(F2, d, a, b, c, pUiIn[10] + 0x02441453, 9); - MD5STEP(F2, c, d, a, b, pUiIn[15] + 0xd8a1e681, 14); - MD5STEP(F2, b, c, d, a, pUiIn[4] + 0xe7d3fbc8, 20); - MD5STEP(F2, a, b, c, d, pUiIn[9] + 0x21e1cde6, 5); - MD5STEP(F2, d, a, b, c, pUiIn[14] + 0xc33707d6, 9); - MD5STEP(F2, c, d, a, b, pUiIn[3] + 0xf4d50d87, 14); - MD5STEP(F2, b, c, d, a, pUiIn[8] + 0x455a14ed, 20); - MD5STEP(F2, a, b, c, d, pUiIn[13] + 0xa9e3e905, 5); - MD5STEP(F2, d, a, b, c, pUiIn[2] + 0xfcefa3f8, 9); - MD5STEP(F2, c, d, a, b, pUiIn[7] + 0x676f02d9, 14); - MD5STEP(F2, b, c, d, a, pUiIn[12] + 0x8d2a4c8a, 20); - - MD5STEP(F3, a, b, c, d, pUiIn[5] + 0xfffa3942, 4); - MD5STEP(F3, d, a, b, c, pUiIn[8] + 0x8771f681, 11); - MD5STEP(F3, c, d, a, b, pUiIn[11] + 0x6d9d6122, 16); - MD5STEP(F3, b, c, d, a, pUiIn[14] + 0xfde5380c, 23); - MD5STEP(F3, a, b, c, d, pUiIn[1] + 0xa4beea44, 4); - MD5STEP(F3, d, a, b, c, pUiIn[4] + 0x4bdecfa9, 11); - MD5STEP(F3, c, d, a, b, pUiIn[7] + 0xf6bb4b60, 16); - MD5STEP(F3, b, c, d, a, pUiIn[10] + 0xbebfbc70, 23); - MD5STEP(F3, a, b, c, d, pUiIn[13] + 0x289b7ec6, 4); - MD5STEP(F3, d, a, b, c, pUiIn[0] + 0xeaa127fa, 11); - MD5STEP(F3, c, d, a, b, pUiIn[3] + 0xd4ef3085, 16); - MD5STEP(F3, b, c, d, a, pUiIn[6] + 0x04881d05, 23); - MD5STEP(F3, a, b, c, d, pUiIn[9] + 0xd9d4d039, 4); - MD5STEP(F3, d, a, b, c, pUiIn[12] + 0xe6db99e5, 11); - MD5STEP(F3, c, d, a, b, pUiIn[15] + 0x1fa27cf8, 16); - MD5STEP(F3, b, c, d, a, pUiIn[2] + 0xc4ac5665, 23); - - MD5STEP(F4, a, b, c, d, pUiIn[0] + 0xf4292244, 6); - MD5STEP(F4, d, a, b, c, pUiIn[7] + 0x432aff97, 10); - MD5STEP(F4, c, d, a, b, pUiIn[14] + 0xab9423a7, 15); - MD5STEP(F4, b, c, d, a, pUiIn[5] + 0xfc93a039, 21); - MD5STEP(F4, a, b, c, d, pUiIn[12] + 0x655b59c3, 6); - MD5STEP(F4, d, a, b, c, pUiIn[3] + 0x8f0ccc92, 10); - MD5STEP(F4, c, d, a, b, pUiIn[10] + 0xffeff47d, 15); - MD5STEP(F4, b, c, d, a, pUiIn[1] + 0x85845dd1, 21); - MD5STEP(F4, a, b, c, d, pUiIn[8] + 0x6fa87e4f, 6); - MD5STEP(F4, d, a, b, c, pUiIn[15] + 0xfe2ce6e0, 10); - MD5STEP(F4, c, d, a, b, pUiIn[6] + 0xa3014314, 15); - MD5STEP(F4, b, c, d, a, pUiIn[13] + 0x4e0811a1, 21); - MD5STEP(F4, a, b, c, d, pUiIn[4] + 0xf7537e82, 6); - MD5STEP(F4, d, a, b, c, pUiIn[11] + 0xbd3af235, 10); - MD5STEP(F4, c, d, a, b, pUiIn[2] + 0x2ad7d2bb, 15); - MD5STEP(F4, b, c, d, a, pUiIn[9] + 0xeb86d391, 21); - - buf[0] += a; - buf[1] += b; - buf[2] += c; - buf[3] += d; - //END OF MD5TRANSFORM CODE - //==================================================== - - // Now fill the next block with 56 bytes - memset(in, 0, 56); - } - else - { - // Pad block to 56 bytes - memset(p, 0, count - 8); - }//*/ - - - /* Append length in bits and transform */ - ((uint32 *) in)[14] = len << 3; - ((uint32 *) in)[15] = len >> 29; - - //START OF MD5TRANSFORM CODE - //==================================================== - register uint32 a, b, c, d; - uint32 * pUiIn = (uint32 *) in; - - a = buf[0]; - b = buf[1]; - c = buf[2]; - d = buf[3]; - - MD5STEP(F1, a, b, c, d, pUiIn[0] + 0xd76aa478, 7); - MD5STEP(F1, d, a, b, c, pUiIn[1] + 0xe8c7b756, 12); - MD5STEP(F1, c, d, a, b, pUiIn[2] + 0x242070db, 17); - MD5STEP(F1, b, c, d, a, pUiIn[3] + 0xc1bdceee, 22); - MD5STEP(F1, a, b, c, d, pUiIn[4] + 0xf57c0faf, 7); - MD5STEP(F1, d, a, b, c, pUiIn[5] + 0x4787c62a, 12); - MD5STEP(F1, c, d, a, b, pUiIn[6] + 0xa8304613, 17); - MD5STEP(F1, b, c, d, a, pUiIn[7] + 0xfd469501, 22); - MD5STEP(F1, a, b, c, d, pUiIn[8] + 0x698098d8, 7); - MD5STEP(F1, d, a, b, c, pUiIn[9] + 0x8b44f7af, 12); - MD5STEP(F1, c, d, a, b, pUiIn[10] + 0xffff5bb1, 17); - MD5STEP(F1, b, c, d, a, pUiIn[11] + 0x895cd7be, 22); - MD5STEP(F1, a, b, c, d, pUiIn[12] + 0x6b901122, 7); - MD5STEP(F1, d, a, b, c, pUiIn[13] + 0xfd987193, 12); - MD5STEP(F1, c, d, a, b, pUiIn[14] + 0xa679438e, 17); - MD5STEP(F1, b, c, d, a, pUiIn[15] + 0x49b40821, 22); - - MD5STEP(F2, a, b, c, d, pUiIn[1] + 0xf61e2562, 5); - MD5STEP(F2, d, a, b, c, pUiIn[6] + 0xc040b340, 9); - MD5STEP(F2, c, d, a, b, pUiIn[11] + 0x265e5a51, 14); - MD5STEP(F2, b, c, d, a, pUiIn[0] + 0xe9b6c7aa, 20); - MD5STEP(F2, a, b, c, d, pUiIn[5] + 0xd62f105d, 5); - MD5STEP(F2, d, a, b, c, pUiIn[10] + 0x02441453, 9); - MD5STEP(F2, c, d, a, b, pUiIn[15] + 0xd8a1e681, 14); - MD5STEP(F2, b, c, d, a, pUiIn[4] + 0xe7d3fbc8, 20); - MD5STEP(F2, a, b, c, d, pUiIn[9] + 0x21e1cde6, 5); - MD5STEP(F2, d, a, b, c, pUiIn[14] + 0xc33707d6, 9); - MD5STEP(F2, c, d, a, b, pUiIn[3] + 0xf4d50d87, 14); - MD5STEP(F2, b, c, d, a, pUiIn[8] + 0x455a14ed, 20); - MD5STEP(F2, a, b, c, d, pUiIn[13] + 0xa9e3e905, 5); - MD5STEP(F2, d, a, b, c, pUiIn[2] + 0xfcefa3f8, 9); - MD5STEP(F2, c, d, a, b, pUiIn[7] + 0x676f02d9, 14); - MD5STEP(F2, b, c, d, a, pUiIn[12] + 0x8d2a4c8a, 20); - - MD5STEP(F3, a, b, c, d, pUiIn[5] + 0xfffa3942, 4); - MD5STEP(F3, d, a, b, c, pUiIn[8] + 0x8771f681, 11); - MD5STEP(F3, c, d, a, b, pUiIn[11] + 0x6d9d6122, 16); - MD5STEP(F3, b, c, d, a, pUiIn[14] + 0xfde5380c, 23); - MD5STEP(F3, a, b, c, d, pUiIn[1] + 0xa4beea44, 4); - MD5STEP(F3, d, a, b, c, pUiIn[4] + 0x4bdecfa9, 11); - MD5STEP(F3, c, d, a, b, pUiIn[7] + 0xf6bb4b60, 16); - MD5STEP(F3, b, c, d, a, pUiIn[10] + 0xbebfbc70, 23); - MD5STEP(F3, a, b, c, d, pUiIn[13] + 0x289b7ec6, 4); - MD5STEP(F3, d, a, b, c, pUiIn[0] + 0xeaa127fa, 11); - MD5STEP(F3, c, d, a, b, pUiIn[3] + 0xd4ef3085, 16); - MD5STEP(F3, b, c, d, a, pUiIn[6] + 0x04881d05, 23); - MD5STEP(F3, a, b, c, d, pUiIn[9] + 0xd9d4d039, 4); - MD5STEP(F3, d, a, b, c, pUiIn[12] + 0xe6db99e5, 11); - MD5STEP(F3, c, d, a, b, pUiIn[15] + 0x1fa27cf8, 16); - MD5STEP(F3, b, c, d, a, pUiIn[2] + 0xc4ac5665, 23); - - MD5STEP(F4, a, b, c, d, pUiIn[0] + 0xf4292244, 6); - MD5STEP(F4, d, a, b, c, pUiIn[7] + 0x432aff97, 10); - MD5STEP(F4, c, d, a, b, pUiIn[14] + 0xab9423a7, 15); - MD5STEP(F4, b, c, d, a, pUiIn[5] + 0xfc93a039, 21); - MD5STEP(F4, a, b, c, d, pUiIn[12] + 0x655b59c3, 6); - MD5STEP(F4, d, a, b, c, pUiIn[3] + 0x8f0ccc92, 10); - MD5STEP(F4, c, d, a, b, pUiIn[10] + 0xffeff47d, 15); - MD5STEP(F4, b, c, d, a, pUiIn[1] + 0x85845dd1, 21); - MD5STEP(F4, a, b, c, d, pUiIn[8] + 0x6fa87e4f, 6); - MD5STEP(F4, d, a, b, c, pUiIn[15] + 0xfe2ce6e0, 10); - MD5STEP(F4, c, d, a, b, pUiIn[6] + 0xa3014314, 15); - MD5STEP(F4, b, c, d, a, pUiIn[13] + 0x4e0811a1, 21); - MD5STEP(F4, a, b, c, d, pUiIn[4] + 0xf7537e82, 6); - MD5STEP(F4, d, a, b, c, pUiIn[11] + 0xbd3af235, 10); - MD5STEP(F4, c, d, a, b, pUiIn[2] + 0x2ad7d2bb, 15); - MD5STEP(F4, b, c, d, a, pUiIn[9] + 0xeb86d391, 21); - - buf[0] += a; - buf[1] += b; - buf[2] += c; - buf[3] += d; - //END OF MD5TRANSFORM CODE - //==================================================== - - memcpy(pDigest, buf, 16); - return; - - break; - } -} diff --git a/BOINC software/BOINC client apps/distrrtgen/tmp/md5.h b/BOINC software/BOINC client apps/distrrtgen/tmp/md5.h deleted file mode 100644 index 1d3da9e..0000000 --- a/BOINC software/BOINC client apps/distrrtgen/tmp/md5.h +++ /dev/null @@ -1,9 +0,0 @@ -#ifndef MD5_H -#define MD5_H - -typedef unsigned long uint32; - -//Main function -void MD5_NEW( unsigned char * buf, int len, unsigned char * pDigest); - -#endif /* !MD5_H */ diff --git a/BOINC software/BOINC client apps/index_calculator/Debug/BuildLog.htm b/BOINC software/BOINC client apps/index_calculator/Debug/BuildLog.htm deleted file mode 100644 index 30d7c09..0000000 Binary files a/BOINC software/BOINC client apps/index_calculator/Debug/BuildLog.htm and /dev/null differ diff --git a/BOINC software/BOINC client apps/index_calculator/Debug/ChainWalkContext.obj b/BOINC software/BOINC client apps/index_calculator/Debug/ChainWalkContext.obj deleted file mode 100644 index 857a7d8..0000000 Binary files a/BOINC software/BOINC client apps/index_calculator/Debug/ChainWalkContext.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/index_calculator/Debug/ChainWalkSet.obj b/BOINC software/BOINC client apps/index_calculator/Debug/ChainWalkSet.obj deleted file mode 100644 index 1a4fb1e..0000000 Binary files a/BOINC software/BOINC client apps/index_calculator/Debug/ChainWalkSet.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/index_calculator/Debug/HashAlgorithm.obj b/BOINC software/BOINC client apps/index_calculator/Debug/HashAlgorithm.obj deleted file mode 100644 index 11fc6c1..0000000 Binary files a/BOINC software/BOINC client apps/index_calculator/Debug/HashAlgorithm.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/index_calculator/Debug/HashRoutine.obj b/BOINC software/BOINC client apps/index_calculator/Debug/HashRoutine.obj deleted file mode 100644 index edbd0c7..0000000 Binary files a/BOINC software/BOINC client apps/index_calculator/Debug/HashRoutine.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/index_calculator/Debug/Public.obj b/BOINC software/BOINC client apps/index_calculator/Debug/Public.obj deleted file mode 100644 index da49af9..0000000 Binary files a/BOINC software/BOINC client apps/index_calculator/Debug/Public.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/index_calculator/Debug/des_enc.obj b/BOINC software/BOINC client apps/index_calculator/Debug/des_enc.obj deleted file mode 100644 index 61d88c8..0000000 Binary files a/BOINC software/BOINC client apps/index_calculator/Debug/des_enc.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/index_calculator/Debug/des_setkey.obj b/BOINC software/BOINC client apps/index_calculator/Debug/des_setkey.obj deleted file mode 100644 index 7deb3d4..0000000 Binary files a/BOINC software/BOINC client apps/index_calculator/Debug/des_setkey.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/index_calculator/Debug/ecb_enc.obj b/BOINC software/BOINC client apps/index_calculator/Debug/ecb_enc.obj deleted file mode 100644 index 8fe0c81..0000000 Binary files a/BOINC software/BOINC client apps/index_calculator/Debug/ecb_enc.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/index_calculator/Debug/index_calculator.exe.intermediate.manifest b/BOINC software/BOINC client apps/index_calculator/Debug/index_calculator.exe.intermediate.manifest deleted file mode 100644 index ecea6f7..0000000 --- a/BOINC software/BOINC client apps/index_calculator/Debug/index_calculator.exe.intermediate.manifest +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/BOINC software/BOINC client apps/index_calculator/Debug/index_calculator.obj b/BOINC software/BOINC client apps/index_calculator/Debug/index_calculator.obj deleted file mode 100644 index 523eb8c..0000000 Binary files a/BOINC software/BOINC client apps/index_calculator/Debug/index_calculator.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/index_calculator/Debug/md4.obj b/BOINC software/BOINC client apps/index_calculator/Debug/md4.obj deleted file mode 100644 index e567809..0000000 Binary files a/BOINC software/BOINC client apps/index_calculator/Debug/md4.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/index_calculator/Debug/md5.obj b/BOINC software/BOINC client apps/index_calculator/Debug/md5.obj deleted file mode 100644 index 5bea775..0000000 Binary files a/BOINC software/BOINC client apps/index_calculator/Debug/md5.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/index_calculator/Debug/mt.dep b/BOINC software/BOINC client apps/index_calculator/Debug/mt.dep deleted file mode 100644 index aa1d48b..0000000 --- a/BOINC software/BOINC client apps/index_calculator/Debug/mt.dep +++ /dev/null @@ -1 +0,0 @@ -Manifest resource last updated at 18:36:11,43 on 28-11-2008 diff --git a/BOINC software/BOINC client apps/index_calculator/Debug/vc90.idb b/BOINC software/BOINC client apps/index_calculator/Debug/vc90.idb deleted file mode 100644 index 67cbee1..0000000 Binary files a/BOINC software/BOINC client apps/index_calculator/Debug/vc90.idb and /dev/null differ diff --git a/BOINC software/BOINC client apps/index_calculator/Debug/vc90.pdb b/BOINC software/BOINC client apps/index_calculator/Debug/vc90.pdb deleted file mode 100644 index 554ebd6..0000000 Binary files a/BOINC software/BOINC client apps/index_calculator/Debug/vc90.pdb and /dev/null differ diff --git a/BOINC software/BOINC client apps/index_calculator/Release/BuildLog.htm b/BOINC software/BOINC client apps/index_calculator/Release/BuildLog.htm deleted file mode 100644 index e0a5e0e..0000000 Binary files a/BOINC software/BOINC client apps/index_calculator/Release/BuildLog.htm and /dev/null differ diff --git a/BOINC software/BOINC client apps/index_calculator/Release/ChainWalkContext.obj b/BOINC software/BOINC client apps/index_calculator/Release/ChainWalkContext.obj deleted file mode 100644 index 90fc802..0000000 Binary files a/BOINC software/BOINC client apps/index_calculator/Release/ChainWalkContext.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/index_calculator/Release/ChainWalkSet.obj b/BOINC software/BOINC client apps/index_calculator/Release/ChainWalkSet.obj deleted file mode 100644 index 3b91d25..0000000 Binary files a/BOINC software/BOINC client apps/index_calculator/Release/ChainWalkSet.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/index_calculator/Release/HashAlgorithm.obj b/BOINC software/BOINC client apps/index_calculator/Release/HashAlgorithm.obj deleted file mode 100644 index 0a323d2..0000000 Binary files a/BOINC software/BOINC client apps/index_calculator/Release/HashAlgorithm.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/index_calculator/Release/HashRoutine.obj b/BOINC software/BOINC client apps/index_calculator/Release/HashRoutine.obj deleted file mode 100644 index bfcd4c8..0000000 Binary files a/BOINC software/BOINC client apps/index_calculator/Release/HashRoutine.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/index_calculator/Release/Public.obj b/BOINC software/BOINC client apps/index_calculator/Release/Public.obj deleted file mode 100644 index 6091aff..0000000 Binary files a/BOINC software/BOINC client apps/index_calculator/Release/Public.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/index_calculator/Release/des_enc.obj b/BOINC software/BOINC client apps/index_calculator/Release/des_enc.obj deleted file mode 100644 index 691c507..0000000 Binary files a/BOINC software/BOINC client apps/index_calculator/Release/des_enc.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/index_calculator/Release/des_setkey.obj b/BOINC software/BOINC client apps/index_calculator/Release/des_setkey.obj deleted file mode 100644 index 0b0b664..0000000 Binary files a/BOINC software/BOINC client apps/index_calculator/Release/des_setkey.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/index_calculator/Release/ecb_enc.obj b/BOINC software/BOINC client apps/index_calculator/Release/ecb_enc.obj deleted file mode 100644 index 6c74416..0000000 Binary files a/BOINC software/BOINC client apps/index_calculator/Release/ecb_enc.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/index_calculator/Release/index_calculator.exe.intermediate.manifest b/BOINC software/BOINC client apps/index_calculator/Release/index_calculator.exe.intermediate.manifest deleted file mode 100644 index ecea6f7..0000000 --- a/BOINC software/BOINC client apps/index_calculator/Release/index_calculator.exe.intermediate.manifest +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/BOINC software/BOINC client apps/index_calculator/Release/index_calculator.obj b/BOINC software/BOINC client apps/index_calculator/Release/index_calculator.obj deleted file mode 100644 index 2cc1ae9..0000000 Binary files a/BOINC software/BOINC client apps/index_calculator/Release/index_calculator.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/index_calculator/Release/md4.obj b/BOINC software/BOINC client apps/index_calculator/Release/md4.obj deleted file mode 100644 index 6c4c273..0000000 Binary files a/BOINC software/BOINC client apps/index_calculator/Release/md4.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/index_calculator/Release/md5.obj b/BOINC software/BOINC client apps/index_calculator/Release/md5.obj deleted file mode 100644 index bc69341..0000000 Binary files a/BOINC software/BOINC client apps/index_calculator/Release/md5.obj and /dev/null differ diff --git a/BOINC software/BOINC client apps/index_calculator/Release/mt.dep b/BOINC software/BOINC client apps/index_calculator/Release/mt.dep deleted file mode 100644 index 5c47aba..0000000 --- a/BOINC software/BOINC client apps/index_calculator/Release/mt.dep +++ /dev/null @@ -1 +0,0 @@ -Manifest resource last updated at 18:30:10,73 on 28-11-2008 diff --git a/BOINC software/BOINC client apps/index_calculator/Release/vc90.idb b/BOINC software/BOINC client apps/index_calculator/Release/vc90.idb deleted file mode 100644 index 2bf7ad5..0000000 Binary files a/BOINC software/BOINC client apps/index_calculator/Release/vc90.idb and /dev/null differ diff --git a/BOINC software/BOINC client apps/index_calculator/Release/vc90.pdb b/BOINC software/BOINC client apps/index_calculator/Release/vc90.pdb deleted file mode 100644 index e0b0585..0000000 Binary files a/BOINC software/BOINC client apps/index_calculator/Release/vc90.pdb and /dev/null differ diff --git a/BOINC software/BOINC client apps/index_calculator/boinc_finish_called b/BOINC software/BOINC client apps/index_calculator/boinc_finish_called deleted file mode 100644 index e69de29..0000000 diff --git a/BOINC software/BOINC client apps/index_calculator/boinc_lockfile b/BOINC software/BOINC client apps/index_calculator/boinc_lockfile deleted file mode 100644 index e69de29..0000000 diff --git a/BOINC software/BOINC client apps/index_calculator/chains b/BOINC software/BOINC client apps/index_calculator/chains deleted file mode 100644 index 9a4a0e0..0000000 Binary files a/BOINC software/BOINC client apps/index_calculator/chains and /dev/null differ diff --git a/BOINC software/BOINC client apps/index_calculator/index_calculator.ncb b/BOINC software/BOINC client apps/index_calculator/index_calculator.ncb deleted file mode 100644 index b2a5b5c..0000000 Binary files a/BOINC software/BOINC client apps/index_calculator/index_calculator.ncb and /dev/null differ diff --git a/BOINC software/BOINC client apps/index_calculator/index_calculator.vcproj.MWJ-PC.mwj.user b/BOINC software/BOINC client apps/index_calculator/index_calculator.vcproj.MWJ-PC.mwj.user deleted file mode 100644 index 15b19f6..0000000 --- a/BOINC software/BOINC client apps/index_calculator/index_calculator.vcproj.MWJ-PC.mwj.user +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - diff --git a/BOINC software/BOINC client apps/index_calculator/index_calculator.vcproj.W-L-MWJ.Administrator.user b/BOINC software/BOINC client apps/index_calculator/index_calculator.vcproj.W-L-MWJ.Administrator.user deleted file mode 100644 index 7284908..0000000 --- a/BOINC software/BOINC client apps/index_calculator/index_calculator.vcproj.W-L-MWJ.Administrator.user +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - diff --git a/BOINC software/BOINC client apps/index_calculator/init_data.xml b/BOINC software/BOINC client apps/index_calculator/init_data.xml deleted file mode 100644 index 4a7e047..0000000 --- a/BOINC software/BOINC client apps/index_calculator/init_data.xml +++ /dev/null @@ -1,78 +0,0 @@ - -0 -0 -0 -0 -0 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -300.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 -0.000000 - - 0 - - - - 0 - - - - 0.000000 - 0.000000 - 0.000000 - 0.000000 - 0.000000 - 0.000000 - 0.000000 - 0.000000 - 0.000000 - - - - - 0 - - 0 - - 0 - - - - - - - - - 0.000000 - 0.000000 - 0.000000 - 0.000000 - 0.000000 - 0.000000 - 0.000000 - 0.000000 - 0.000000 - 0.000000 - 0.000000 - 0.000000 - 0.000000 - 0.000000 - 0.000000 - 0.000000 - 0.000000 - 0.000000 - 0.000000 - 0.000000 - 0.000000 - - diff --git a/BOINC software/BOINC client apps/index_calculator/stderr.txt b/BOINC software/BOINC client apps/index_calculator/stderr.txt deleted file mode 100644 index 2ed796c..0000000 --- a/BOINC software/BOINC client apps/index_calculator/stderr.txt +++ /dev/null @@ -1,22 +0,0 @@ -Can't open init data file - running in standalone mode -Couldn't find input file, resolved name charset.txt. -Detected memory leaks! -Dumping objects -> -{96} normal block at 0x00A95A50, 32 bytes long. - Data: 6C 6F 77 65 72 61 6C 70 68 61 2D 6E 75 6D 65 72 -{95} normal block at 0x00A959F0, 32 bytes long. - Data: 6C 6F 77 65 72 61 6C 70 68 61 2D 6E 75 6D 65 72 -{70} normal block at 0x00A95980, 48 bytes long. - Data: <098f6bcd4621d373> 30 39 38 66 36 62 63 64 34 36 32 31 64 33 37 33 -{69} normal block at 0x00A95920, 32 bytes long. - Data: 6C 6F 77 65 72 61 6C 70 68 61 2D 6E 75 6D 65 72 -..\lib\diagnostics_win.cpp(642) : {66} normal block at 0x00A954B8, 1068 bytes long. - Data: 64 6F 00 00 B0 1F 00 00 01 00 00 00 00 00 00 00 -Object dump complete. -Can't open init data file - running in standalone mode -Can't open init data file - running in standalone mode -called boinc_finish -Can't set up shared mem: -1 -Will run in standalone mode. -Can't set up shared mem: -1 -Will run in standalone mode. diff --git a/Client Applications/converti2/converti2.suo b/Client Applications/converti2/converti2.suo index 84a0d09..396b14a 100644 Binary files a/Client Applications/converti2/converti2.suo and b/Client Applications/converti2/converti2.suo differ diff --git a/Server Applications/rtperfecter0.0/rtperfecter0 b/Server Applications/rtperfecter0.0/rtperfecter0 deleted file mode 100644 index 23dfea1..0000000 Binary files a/Server Applications/rtperfecter0.0/rtperfecter0 and /dev/null differ diff --git a/Server Applications/rtperfecter0.0/rtperfecter0.0.7z b/Server Applications/rtperfecter0.0/rtperfecter0.0.7z deleted file mode 100644 index edd38dc..0000000 Binary files a/Server Applications/rtperfecter0.0/rtperfecter0.0.7z and /dev/null differ diff --git a/Server Applications/rtperfecter0.1/rtperfecter1 b/Server Applications/rtperfecter0.1/rtperfecter1 deleted file mode 100644 index 8baeae8..0000000 Binary files a/Server Applications/rtperfecter0.1/rtperfecter1 and /dev/null differ diff --git a/Server Applications/rtperfectp/Debug/BuildLog.htm b/Server Applications/rtperfectp/Debug/BuildLog.htm deleted file mode 100644 index d6d93f8..0000000 Binary files a/Server Applications/rtperfectp/Debug/BuildLog.htm and /dev/null differ diff --git a/Server Applications/rtperfectp/Debug/RTRead.obj b/Server Applications/rtperfectp/Debug/RTRead.obj deleted file mode 100644 index c49b2db..0000000 Binary files a/Server Applications/rtperfectp/Debug/RTRead.obj and /dev/null differ diff --git a/Server Applications/rtperfectp/Debug/RTWrite.obj b/Server Applications/rtperfectp/Debug/RTWrite.obj deleted file mode 100644 index f913045..0000000 Binary files a/Server Applications/rtperfectp/Debug/RTWrite.obj and /dev/null differ diff --git a/Server Applications/rtperfectp/Debug/main.obj b/Server Applications/rtperfectp/Debug/main.obj deleted file mode 100644 index 941dec0..0000000 Binary files a/Server Applications/rtperfectp/Debug/main.obj and /dev/null differ diff --git a/Server Applications/rtperfectp/Debug/mt.dep b/Server Applications/rtperfectp/Debug/mt.dep deleted file mode 100644 index 251314b..0000000 --- a/Server Applications/rtperfectp/Debug/mt.dep +++ /dev/null @@ -1 +0,0 @@ -Manifest resource last updated at 18:01:44,78 on 17-11-2008 diff --git a/Server Applications/rtperfectp/Debug/rtperfectp.exe.embed.manifest b/Server Applications/rtperfectp/Debug/rtperfectp.exe.embed.manifest deleted file mode 100644 index fac40ba..0000000 --- a/Server Applications/rtperfectp/Debug/rtperfectp.exe.embed.manifest +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Server Applications/rtperfectp/Debug/rtperfectp.exe.embed.manifest.res b/Server Applications/rtperfectp/Debug/rtperfectp.exe.embed.manifest.res deleted file mode 100644 index 9e54244..0000000 Binary files a/Server Applications/rtperfectp/Debug/rtperfectp.exe.embed.manifest.res and /dev/null differ diff --git a/Server Applications/rtperfectp/Debug/rtperfectp.exe.intermediate.manifest b/Server Applications/rtperfectp/Debug/rtperfectp.exe.intermediate.manifest deleted file mode 100644 index 3351598..0000000 --- a/Server Applications/rtperfectp/Debug/rtperfectp.exe.intermediate.manifest +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/Server Applications/rtperfectp/Debug/vc90.idb b/Server Applications/rtperfectp/Debug/vc90.idb deleted file mode 100644 index e4e998e..0000000 Binary files a/Server Applications/rtperfectp/Debug/vc90.idb and /dev/null differ diff --git a/Server Applications/rtperfectp/Debug/vc90.pdb b/Server Applications/rtperfectp/Debug/vc90.pdb deleted file mode 100644 index 5b1d14b..0000000 Binary files a/Server Applications/rtperfectp/Debug/vc90.pdb and /dev/null differ diff --git a/Server Applications/rtperfectp/README.txt b/Server Applications/rtperfectp/README.txt new file mode 100644 index 0000000..c48dc24 --- /dev/null +++ b/Server Applications/rtperfectp/README.txt @@ -0,0 +1,2 @@ +A tool used to perfect the parts and assemble them in 1 table. +It is used by the FreeRainbowTables.com server to perfect the incoming parts together into bigger files. \ No newline at end of file diff --git a/Server Applications/rtperfectp/Release/BuildLog.htm b/Server Applications/rtperfectp/Release/BuildLog.htm deleted file mode 100644 index ccb49da..0000000 Binary files a/Server Applications/rtperfectp/Release/BuildLog.htm and /dev/null differ diff --git a/Server Applications/rtperfectp/Release/RTRead.obj b/Server Applications/rtperfectp/Release/RTRead.obj deleted file mode 100644 index 9addaae..0000000 Binary files a/Server Applications/rtperfectp/Release/RTRead.obj and /dev/null differ diff --git a/Server Applications/rtperfectp/Release/RTWrite.obj b/Server Applications/rtperfectp/Release/RTWrite.obj deleted file mode 100644 index 31532ac..0000000 Binary files a/Server Applications/rtperfectp/Release/RTWrite.obj and /dev/null differ diff --git a/Server Applications/rtperfectp/Release/main.obj b/Server Applications/rtperfectp/Release/main.obj deleted file mode 100644 index 71ef23a..0000000 Binary files a/Server Applications/rtperfectp/Release/main.obj and /dev/null differ diff --git a/Server Applications/rtperfectp/Release/mt.dep b/Server Applications/rtperfectp/Release/mt.dep deleted file mode 100644 index ab06d59..0000000 --- a/Server Applications/rtperfectp/Release/mt.dep +++ /dev/null @@ -1 +0,0 @@ -Manifest resource last updated at 17:36:59,26 on 17-11-2008 diff --git a/Server Applications/rtperfectp/Release/rtperfectp.exe.intermediate.manifest b/Server Applications/rtperfectp/Release/rtperfectp.exe.intermediate.manifest deleted file mode 100644 index 7256947..0000000 --- a/Server Applications/rtperfectp/Release/rtperfectp.exe.intermediate.manifest +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - - - - - - diff --git a/Server Applications/rtperfectp/Release/vc90.idb b/Server Applications/rtperfectp/Release/vc90.idb deleted file mode 100644 index c7c43b0..0000000 Binary files a/Server Applications/rtperfectp/Release/vc90.idb and /dev/null differ diff --git a/Server Applications/rtperfectp/Release/vc90.pdb b/Server Applications/rtperfectp/Release/vc90.pdb deleted file mode 100644 index f1d2b32..0000000 Binary files a/Server Applications/rtperfectp/Release/vc90.pdb and /dev/null differ diff --git a/Server Applications/rtperfectp/rtperfectp.vcproj.MWJ-PC.mwj.user b/Server Applications/rtperfectp/rtperfectp.vcproj.MWJ-PC.mwj.user deleted file mode 100644 index 15b19f6..0000000 --- a/Server Applications/rtperfectp/rtperfectp.vcproj.MWJ-PC.mwj.user +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - diff --git a/Server Applications/rtperfectp/rtperfectp.vcproj.W-L-MWJ.Administrator.user b/Server Applications/rtperfectp/rtperfectp.vcproj.W-L-MWJ.Administrator.user deleted file mode 100644 index 5aff747..0000000 --- a/Server Applications/rtperfectp/rtperfectp.vcproj.W-L-MWJ.Administrator.user +++ /dev/null @@ -1,65 +0,0 @@ - - - - - - - - - - - diff --git a/Server Applications/rtperfectp/whatitis.txt b/Server Applications/rtperfectp/whatitis.txt deleted file mode 100644 index 274ec41..0000000 --- a/Server Applications/rtperfectp/whatitis.txt +++ /dev/null @@ -1 +0,0 @@ -A tool used to perfect the parts and assemble them in 1 table \ No newline at end of file