OSDN Git Service

Now using Keccak/SHA-3 to verify the built-in files.
authorLoRd_MuldeR <mulder2@gmx.de>
Sun, 11 Nov 2012 23:32:39 +0000 (00:32 +0100)
committerLoRd_MuldeR <mulder2@gmx.de>
Sun, 11 Nov 2012 23:32:39 +0000 (00:32 +0100)
LameXP_VS2010.vcxproj
src/Config.h
src/LockedFile.cpp
src/Thread_Initialization.cpp
src/Tools.h

index e70f115..d76882a 100644 (file)
     </CustomBuildStep>
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>$(QTDIR)\include;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(SolutionDir)\etc\Prerequisites\VisualLeakDetector\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(QTDIR)\include;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(SolutionDir)\etc\Prerequisites\VisualLeakDetector\include;$(SolutionDir)\etc\Prerequisites\keccak\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>_CONFIG_NAME=$(ConfigurationName);WIN32;_DEBUG;_CONSOLE;QT_LARGEFILE_SUPPORT;QT_GUI_LIB;QT_CORE_LIB;QT_THREAD_SUPPORT;QT_DLL;QT_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>false</MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
     </ClCompile>
     <Link>
       <AdditionalOptions>"/MANIFESTDEPENDENCY:type=%27win32%27 name=%27Microsoft.Windows.Common-Controls%27 version=%276.0.0.0%27 publicKeyToken=%276595b64144ccf1df%27 language=%27*%27 processorArchitecture=%27*%27" %(AdditionalOptions)</AdditionalOptions>
-      <AdditionalDependencies>qtmaind.lib;QtCored4.lib;QtGuid4.lib;Winmm.lib;Shlwapi.lib;Wininet.lib;PowrProf.lib;psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>
-      <AdditionalLibraryDirectories>$(QTDIR)\lib;$(QTDIR)\plugins\imageformats;$(SolutionDir)\etc\Prerequisites\VisualLeakDetector\lib\Win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalDependencies>qtmaind.lib;QtCored4.lib;QtGuid4.lib;Winmm.lib;Shlwapi.lib;Wininet.lib;PowrProf.lib;psapi.lib;QKeccakHash_VS2010.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalLibraryDirectories>$(QTDIR)\lib;$(QTDIR)\plugins\imageformats;$(SolutionDir)\etc\Prerequisites\VisualLeakDetector\lib\Win32;$(SolutionDir)\etc\Prerequisites\keccak\lib\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <GenerateDebugInformation>true</GenerateDebugInformation>
       <SubSystem>Windows</SubSystem>
       <TargetMachine>MachineX86</TargetMachine>
@@ -151,7 +151,7 @@ copy /Y "$(SolutionDir)\etc\Prerequisites\VisualLeakDetector\bin\Win32\*.manifes
     </CustomBuildStep>
     <ClCompile>
       <Optimization>Disabled</Optimization>
-      <AdditionalIncludeDirectories>$(QTDIR5)\qtbase\include;$(QTDIR5)\qtbase\include\QtCore;$(QTDIR5)\qtbase\include\QtGui;$(QTDIR5)\qtbase\include\QtWidgets;$(QTDIR5)\qtbase\include\QtConcurrent;$(SolutionDir)\etc\Prerequisites\VisualLeakDetector\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(QTDIR)\include;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(SolutionDir)\etc\Prerequisites\VisualLeakDetector\include;$(SolutionDir)\etc\Prerequisites\keccak\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>_CONFIG_NAME=$(ConfigurationName);WIN32;_DEBUG;_CONSOLE;QT_LARGEFILE_SUPPORT;QT_GUI_LIB;QT_CORE_LIB;QT_WIDGETS_LIB;QT_THREAD_SUPPORT;QT_DLL;QT_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>false</MinimalRebuild>
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
@@ -202,7 +202,7 @@ copy /Y "$(SolutionDir)\etc\Prerequisites\VisualLeakDetector\bin\Win32\*.manifes
       <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
       <OmitFramePointers>true</OmitFramePointers>
       <WholeProgramOptimization>true</WholeProgramOptimization>
-      <AdditionalIncludeDirectories>$(QTDIR)\include;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(SolutionDir)\etc\Prerequisites\VisualLeakDetector\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(QTDIR)\include;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(SolutionDir)\etc\Prerequisites\VisualLeakDetector\include;$(SolutionDir)\etc\Prerequisites\keccak\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>_CONFIG_NAME=$(ConfigurationName);WIN32;NDEBUG;_CONSOLE;QT_LARGEFILE_SUPPORT;QT_GUI_LIB;QT_CORE_LIB;QT_THREAD_SUPPORT;QT_DLL;QT_NO_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>false</MinimalRebuild>
       <BasicRuntimeChecks>Default</BasicRuntimeChecks>
@@ -222,7 +222,7 @@ copy /Y "$(SolutionDir)\etc\Prerequisites\VisualLeakDetector\bin\Win32\*.manifes
     </ClCompile>
     <Link>
       <AdditionalOptions>"/MANIFESTDEPENDENCY:type=%27win32%27 name=%27Microsoft.Windows.Common-Controls%27 version=%276.0.0.0%27 publicKeyToken=%276595b64144ccf1df%27 language=%27*%27 processorArchitecture=%27*%27" %(AdditionalOptions)</AdditionalOptions>
-      <AdditionalDependencies>qtmain.lib;QtCore4.lib;QtGui4.lib;Winmm.lib;Shlwapi.lib;Wininet.lib;PowrProf.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>qtmain.lib;QtCore4.lib;QtGui4.lib;Winmm.lib;Shlwapi.lib;Wininet.lib;PowrProf.lib;QKeccakHash_VS2010.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <ShowProgress>LinkVerboseLib</ShowProgress>
       <Version>
       </Version>
@@ -244,7 +244,7 @@ copy /Y "$(SolutionDir)\etc\Prerequisites\VisualLeakDetector\bin\Win32\*.manifes
       <TreatLinkerWarningAsErrors>true</TreatLinkerWarningAsErrors>
       <CreateHotPatchableImage>
       </CreateHotPatchableImage>
-      <AdditionalLibraryDirectories>$(QTDIR)\lib;$(QTDIR)\plugins\imageformats;$(SolutionDir)\etc\Prerequisites\VisualLeakDetector\lib\Win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalLibraryDirectories>$(QTDIR)\lib;$(QTDIR)\plugins\imageformats;$(SolutionDir)\etc\Prerequisites\VisualLeakDetector\lib\Win32;$(SolutionDir)\etc\Prerequisites\keccak\lib\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
     </Link>
     <PostBuildEvent>
       <Message>Copy plugin DLL%27s</Message>
@@ -274,7 +274,7 @@ del "$(TargetDir)imageformats\q???d4.dll"
       <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
       <OmitFramePointers>true</OmitFramePointers>
       <WholeProgramOptimization>true</WholeProgramOptimization>
-      <AdditionalIncludeDirectories>$(QTDIR)\include;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(SolutionDir)\etc\Prerequisites\VisualLeakDetector\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(QTDIR)\include;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(SolutionDir)\etc\Prerequisites\VisualLeakDetector\include;$(SolutionDir)\etc\Prerequisites\keccak\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>_CONFIG_NAME=$(ConfigurationName);WIN32;NDEBUG;_CONSOLE;QT_LARGEFILE_SUPPORT;QT_GUI_LIB;QT_CORE_LIB;QT_THREAD_SUPPORT;QT_NO_DEBUG;QT_NODLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>false</MinimalRebuild>
       <BasicRuntimeChecks>Default</BasicRuntimeChecks>
@@ -294,9 +294,9 @@ del "$(TargetDir)imageformats\q???d4.dll"
     </ClCompile>
     <Link>
       <AdditionalOptions>"/MANIFESTDEPENDENCY:type=%27win32%27 name=%27Microsoft.Windows.Common-Controls%27 version=%276.0.0.0%27 publicKeyToken=%276595b64144ccf1df%27 language=%27*%27 processorArchitecture=%27*%27" %(AdditionalOptions)</AdditionalOptions>
-      <AdditionalDependencies>qtmain.lib;QtCore.lib;QtGui.lib;QtSvg.lib;qsvg.lib;qico.lib;Winmm.lib;imm32.lib;ws2_32.lib;Shlwapi.lib;Wininet.lib;PowrProf.lib;EncodePointer.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>qtmain.lib;QtCore.lib;QtGui.lib;QtSvg.lib;qsvg.lib;qico.lib;Winmm.lib;imm32.lib;ws2_32.lib;Shlwapi.lib;Wininet.lib;PowrProf.lib;QKeccakHash_VS2010.lib;EncodePointer.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <ShowProgress>LinkVerboseLib</ShowProgress>
-      <AdditionalLibraryDirectories>$(SolutionDir)\etc\Prerequisites\qt4_static\lib;$(SolutionDir)\etc\Prerequisites\qt4_static\plugins\imageformats;$(SolutionDir)\etc\Prerequisites\EncodePointer\lib;$(SolutionDir)\etc\Prerequisites\VisualLeakDetector\lib\Win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+      <AdditionalLibraryDirectories>$(SolutionDir)\etc\Prerequisites\qt4_static\lib;$(SolutionDir)\etc\Prerequisites\qt4_static\plugins\imageformats;$(SolutionDir)\etc\Prerequisites\EncodePointer\lib;$(SolutionDir)\etc\Prerequisites\VisualLeakDetector\lib\Win32;$(SolutionDir)\etc\Prerequisites\keccak\lib\$(Configuration);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
       <IgnoreSpecificDefaultLibraries>%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
       <GenerateDebugInformation>false</GenerateDebugInformation>
       <AssemblyDebug>
@@ -339,7 +339,7 @@ del "$(TargetDir)imageformats\q???d4.dll"
       <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
       <OmitFramePointers>true</OmitFramePointers>
       <WholeProgramOptimization>true</WholeProgramOptimization>
-      <AdditionalIncludeDirectories>$(QTDIR5)\qtbase\include;$(QTDIR5)\qtbase\include\QtCore;$(QTDIR5)\qtbase\include\QtGui;$(QTDIR5)\qtbase\include\QtWidgets;$(QTDIR5)\qtbase\include\QtConcurrent;$(SolutionDir)\etc\Prerequisites\VisualLeakDetector\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>$(QTDIR)\include;$(QTDIR)\include\QtCore;$(QTDIR)\include\QtGui;$(SolutionDir)\etc\Prerequisites\VisualLeakDetector\include;$(SolutionDir)\etc\Prerequisites\keccak\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <PreprocessorDefinitions>_CONFIG_NAME=$(ConfigurationName);WIN32;NDEBUG;_CONSOLE;QT_LARGEFILE_SUPPORT;QT_GUI_LIB;QT_CORE_LIB;QT_WIDGETS_LIB;QT_THREAD_SUPPORT;QT_NO_DEBUG;QT_NODLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
       <MinimalRebuild>false</MinimalRebuild>
       <BasicRuntimeChecks>Default</BasicRuntimeChecks>
index a64f92b..675e145 100644 (file)
@@ -30,7 +30,7 @@
 #define VER_LAMEXP_MINOR_LO                                    7
 #define VER_LAMEXP_TYPE                                                Alpha
 #define VER_LAMEXP_PATCH                                       2
-#define VER_LAMEXP_BUILD                                       1178
+#define VER_LAMEXP_BUILD                                       1180
 
 ///////////////////////////////////////////////////////////////////////////////
 // Tool versions (minimum expected versions!)
index 38144b6..bb78d8d 100644 (file)
@@ -27,6 +27,7 @@
 #include <QFileInfo>
 #include <QDir>
 #include <QCryptographicHash>
+#include <QKeccakHash>
 
 #include <stdio.h>
 #include <io.h>
 
 ///////////////////////////////////////////////////////////////////////////////
 
-static const char *g_seed = "b14bf0ed8d5a62311b366907a6450ea2d52ad8bbc7d520b70400f1dd8ddfa9339011a473";
-static const char *g_salt = "80e0cce7af513880065488568071342e5889d6c5ee96190c303b7260e5c8356c350fbe44";
+static const char *g_blnk = "deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef";
+static const char *g_seed = "c375d83b4388329408dfcbb4d9a065b6e06d28272f25ef299c70b506e26600af79fd2f866ae24602daf38f25c9d4b7e1";
+static const char *g_salt = "ee9f7bdabc170763d2200a7e3030045aafe380011aefc1730e547e9244c62308aac42a976feeca224ba553de0c4bb883";
 
 static QByteArray fileHash(QFile &file)
 {
-       QByteArray hash = QByteArray::fromHex(g_seed);
-       QByteArray salt = QByteArray::fromHex(g_salt);
-       
+       QByteArray hash = QByteArray::fromHex(g_blnk);
+
        if(file.isOpen() && file.reset())
        {
-               QByteArray data = file.readAll();
-               QCryptographicHash sha(QCryptographicHash::Sha1);
-               QCryptographicHash md5(QCryptographicHash::Md5);
+               QKeccakHash keccak;
 
-               for(int r = 0; r < 8; r++)
+               QByteArray data = file.readAll();
+               QByteArray seed = QByteArray::fromHex(g_seed);
+               QByteArray salt = QByteArray::fromHex(g_salt);
+       
+               if(keccak.startBatch(QKeccakHash::hb384))
                {
-                       sha.reset(); md5.reset();
-                       sha.addData(hash); md5.addData(hash);
-                       sha.addData(data); md5.addData(data);
-                       sha.addData(salt); md5.addData(salt);
-                       hash = sha.result() + md5.result();
+                       bool ok[3];
+                       ok[0] = keccak.putBatch(seed);
+                       ok[1] = keccak.putBatch(data);
+                       ok[2] = keccak.putBatch(salt);
+                       if(ok[0] && ok[1] && ok[2])
+                       {
+                               if(keccak.stopBatch())
+                               {
+                                       hash = keccak.toHex();
+                               }
+                       }
                }
        }
 
@@ -154,7 +163,7 @@ LockedFile::LockedFile(const QString &resourcePath, const QString &outPath, cons
        QByteArray hash;
        if(outFile.isOpen())
        {
-               hash = fileHash(outFile).toHex();
+               hash = fileHash(outFile);
                outFile.close();
        }
        else
index ab42559..b2fa4d4 100644 (file)
@@ -235,7 +235,7 @@ void InitializationThread::run()
                        unsigned int toolCpuType = mapCpuType.take(toolName);
                        unsigned int toolVersion = mapVersion.take(toolName);
                        
-                       if(toolHash.size() != 72)
+                       if(toolHash.size() != 96)
                        {
                                throw "The required checksum is missing, take care!";
                        }
index c0f0907..70a3718 100644 (file)
@@ -51,39 +51,39 @@ static const struct
 }
 g_lamexp_tools[] =
 {
-       {"fff2a8f9116c6cff9b8ccf18a486c827df6be623b715899ae882f514c46e112bdbf510a2", CPU_TYPE_X86_GEN, "aften.i386.exe", 8},
-       {"9b52bd2efcb59aef1f65e9e11e6b51b171705e155af7c624562842f3c35429d41af9da30", CPU_TYPE_X86_SSE, "aften.sse2.exe", 8},
-       {"73a9ab3cf1859d469a3e3acb29ebca504f2bf044c6cd2a1b0c3d91aec3e3197dd1a71af5", CPU_TYPE_X64_ALL, "aften.x64.exe",  8},
-       {"6d22d4bbd7ce2162e38f70ac9187bc84eb28233b36ee6c0492d0a6195318782d7f05c444", CPU_TYPE_ALL_ALL, "avs2wav.exe", 13},
-       {"8fe60580f10542c25c81f03e130caf128daa1f825b621d9c7c134d8f06948f8c16f787f2", CPU_TYPE_ALL_ALL, "dcaenc.exe", 20120419},
-       {"e53a787d4a0319453f4fe48c3145f190fcce7ac4802e521db908771437f6250746116e6c", CPU_TYPE_ALL_ALL, "elevator.exe", UINT_MAX},
-       {"f53174553c7e2daa692f020f5ce802109d67585ba44992876399e333c9ae9b9481f6cd3a", CPU_TYPE_ALL_ALL, "faad.exe", 27},
-       {"446054f9a7f705f1aadc9053ca7b8a86a775499ef159978954ebdea92de056c34f8841f7", CPU_TYPE_ALL_ALL, "flac.exe", 121},
-       {"52fce35084247acc12cd5d06701c143ade9a0915fc9902bb402abd164ea35f28717432a4", CPU_TYPE_ALL_ALL, "gpgv.exe", 1412},
-       {"b3fca757b3567dab75c042e62213c231de378ea0fdd7fe29b733417cd5d3d33558452f94", CPU_TYPE_ALL_ALL, "gpgv.gpg", UINT_MAX},
-       {"3fd15a6b5b0120794650f1dcd0c35f147cc21576e78f17425288bfacbad0b14696186739", CPU_TYPE_ALL_GEN, "lame.i386.exe", 3995},
-       {"069a79d843939a65d8578f51b6acd09de95d44362c6a9c74e92a6e73ba40aea07916f7c4", CPU_TYPE_ALL_SSE, "lame.sse2.exe", 3995},
-       {"d4d806fc3d0a36ef357ea43b870c7e46de9c18be9920f451314d72d02ba0fe4f7c867d9c", CPU_TYPE_ALL_ALL, "mac.exe", 411},
-       {"d2e2864eda29fd27a44f874cb105f93cbff0aa99c6c6e23fcfb93f7e11584d53d8dcf0f7", CPU_TYPE_X86_ALL, "mediainfo.i386.exe", 761},
-       {"32420e9825d648816079d5881d38c0fee23c12d1a4a524561689bf1d3656f6eaafb8f5d0", CPU_TYPE_X64_ALL, "mediainfo.x64.exe",  761},
-       {"ed49bfeb5113e8eca4f2f5c5c9359f6edeecf457cff8511178902c7d792380eaa578d9bc", CPU_TYPE_ALL_ALL, "mpcdec.exe", 475},
-       {"14d93a75ec5a722d461c84ce300088385c10c56801f6774ab55ad3f29add018beae61f35", CPU_TYPE_ALL_ALL, "mpg123.exe", 1144},
-       {"0c781805dda931c529bd16069215f616a7a4c5e5c2dfb6b75fe85d52b20511830693e528", CPU_TYPE_ALL_ALL, "oggdec.exe", UINT_MAX},
-       {"0c019e13450dc664987e21f4e5489d182be7d6d0d81efbbaaf1c78693dfe3e38e0355b93", CPU_TYPE_X86_GEN, "oggenc2.i386.exe", 287603},
-       {"693dd6f779df70a047c15c2c79350855db38d5b0cd7e529b6877b7c821cfe6addfdd50a4", CPU_TYPE_X86_SSE, "oggenc2.sse2.exe", 287603},
-       {"291cedb6a1b213330a9cb508f975ee7132a25aa26770ab91cade50109b4ffb81c9bdd09a", CPU_TYPE_X64_ALL, "oggenc2.x64.exe",  287603},
-       {"0c77eb6dee3193b20b42550e893939439cf1b183390842e754771a96857eac4f4725c3f8", CPU_TYPE_ALL_ALL, "opusdec.exe",     20120922},
-       {"d474d922737eb3b11f1b820591ca0ecba47f9eceb8f244952479ef041d8777fe8eae2ae7", CPU_TYPE_ALL_ALL, "opusenc_ea7.exe", 20120922},
-       {"922ca02eb9fc8cc12f596291ad267a579a58c9baaee0560ff8903a071f9aee78b20c74c9", CPU_TYPE_ALL_ALL, "opusenc_std.exe", 20120922},
-       {"9a19025450c79d4e8bc67a24a498325bd6d97fefd192d9208442caf5d17f24a69d82f15b", CPU_TYPE_ALL_ALL, "refalac.exe", 56},
-       {"58c2b8bcff8f27bfa8fab8172b80f5da731221d072c7dba4dd3a3d7d6423490a25dc6760", CPU_TYPE_ALL_ALL, "shorten.exe", 361},
-       {"017a0f613a962af0620618019b015d5c54bb3c07cf1023e5fdb9502b652367ebbfaaebbc", CPU_TYPE_ALL_ALL, "sox.exe", 1440},
-       {"48e7f81c024cd17dac0eaeab253aad6b223e72dc80688f7576276b0563209514ff0bb9c8", CPU_TYPE_ALL_ALL, "speexdec.exe", 12},
-       {"9b50cf64747d4afbad5d8d9b5a0a2d41c5a58256f47ebdbd8cc920e7e576085dfe1b14ff", CPU_TYPE_ALL_ALL, "tta.exe", 21},
-       {"875871c942846f6ad163f9e4949bba2f4331bec678ca5aefe58c961b6825bd0d419a078b", CPU_TYPE_ALL_ALL, "valdec.exe", 31},
-       {"e657331e281840878a37eb4fb357cb79f33d528ddbd5f9b2e2f7d2194bed4720e1af8eaf", CPU_TYPE_ALL_ALL, "wget.exe", 1114},
-       {"8923cf65e181f8a99f28e9d1ea0d89ace02142241a7f76dae3d540ffd0790495af815644", CPU_TYPE_ALL_ALL, "wma2wav.exe", 20111001},
-       {"b9529092b4cf05f1b30567d12b39d01d973dbf9b717dbd7aff10195f604e32bd93736a04", CPU_TYPE_ALL_ALL, "wupdate.exe", 20120310},
-       {"6b053b37d47a9c8659ebf2de43ad19dcba17b9cd868b26974b9cc8c27b6167e8bf07a5a2", CPU_TYPE_ALL_ALL, "wvunpack.exe", 4601},
+       {"4870d7abbc3995dc5ca82147ee33f28c3ee7dc1986fbb0131912effe10c1a209d3f983c5dffd963c31707a5ce39611b4", CPU_TYPE_X86_GEN, "aften.i386.exe", 8},
+       {"fc4e38b11a0f52b68cca79aa2d71c02180b70eb0e592923dee4f0ccf766f1006642369b2178f6a61d1c2506446cc442d", CPU_TYPE_X86_SSE, "aften.sse2.exe", 8},
+       {"d053d2a87f31a6a8107d9963b0b5f76c4c89083ee315064b86b3b88577659add167cd408bebfd188937b9314ad49ee41", CPU_TYPE_X64_ALL, "aften.x64.exe",  8},
+       {"4558728999a05f12fe88566e8308cba0ada200814c2a1bfe2507f49faf8f3994b0d52a829148f5c6321d24faa2718439", CPU_TYPE_ALL_ALL, "avs2wav.exe", 13},
+       {"07834b1b8ecac2f3db79ad048005eca3a284cb759e15d399eb1a560a403122e20db5f08e60319759b8463aeef2410d02", CPU_TYPE_ALL_ALL, "dcaenc.exe", 20120419},
+       {"7c249f507b96967bedabdd7e631638807a7595ebff58eaaadf63530783d515eda9660bc2b1a0457fddae7e3eaef8a074", CPU_TYPE_ALL_ALL, "elevator.exe", UINT_MAX},
+       {"bbc262cfe9c48633e5f1780d30347d7663075cfd7bdc76347cce3b1191d62f788d9b91bc63dffae2f66d1759d5849e92", CPU_TYPE_ALL_ALL, "faad.exe", 27},
+       {"4f3a905b5b77ea49a7b302ab0a028ab115270e1b285caafbc35013ffc1de64bdec4488b561ef497c4befae952759a9dd", CPU_TYPE_ALL_ALL, "flac.exe", 121},
+       {"d098a6b2fc2abd2cbd817fc1cb0b6a7a1d96e917e26504cd000a02ed2bcd63bb5ae8e206f4c476cbae48a4a0a5b04cb1", CPU_TYPE_ALL_ALL, "gpgv.exe", 1412},
+       {"19c9dbe9089491c1f59ae48016d95d4336c4d3743577db4e782d8b59eca3b2bda6ed8f92f9004f88f434935b79e4974b", CPU_TYPE_ALL_ALL, "gpgv.gpg", UINT_MAX},
+       {"53cfab3896a47d48f523315f475fa07856d468ad1aefcc8cce19c18cdf509e2f92840dab92a442995df36d941cb7a6ca", CPU_TYPE_ALL_GEN, "lame.i386.exe", 3995},
+       {"9511e7ef2ad10de05386eedf7f14d637edab894a53dacd2f8f15c6f8ed582f12c25fb5bf88438e62c46b8eb92e7634b2", CPU_TYPE_ALL_SSE, "lame.sse2.exe", 3995},
+       {"c844c21fc734465bb7e40f05b892d1ca93ca4746c493501c07c12a2413d66866a5f9a8091efe7de88bd4da9eb0939f66", CPU_TYPE_ALL_ALL, "mac.exe", 411},
+       {"aeb7917151bf9ce4e30dbff78fcdd4b050b55a3721d8e0ce01092460dd1ed8f8f6e881fbab47953c0d692fcad4cbb2c4", CPU_TYPE_X86_ALL, "mediainfo.i386.exe", 761},
+       {"acc4875b240979b0fad0cca0ad951b7eb10418c6a7db208ed25c3c9868fe9cd1cca1f10b12b72c026bfbd0837b63dcb8", CPU_TYPE_X64_ALL, "mediainfo.x64.exe",  761},
+       {"7e6346a057634ff07b2e1f427035324f7f02100cc996425990f87f71d767fce4c7b101588c7d944ba49cb2d7e51c9bdb", CPU_TYPE_ALL_ALL, "mpcdec.exe", 475},
+       {"bcd609cddf15c940035de4db774f0bfc5066d4633a8353becca72674a2b4f28b158d43faac9655ee15c50181079f1caa", CPU_TYPE_ALL_ALL, "mpg123.exe", 1144},
+       {"75c39861ac82d7fc8392fbddff9f5b785e7abee29f8c1843706a9b225966e05ef4be2a160f98f389beaf5238c5de121c", CPU_TYPE_ALL_ALL, "oggdec.exe", UINT_MAX},
+       {"8b68461f38410421be30cc895e94e63184daa6f2cb20eb110b66b376b48141838a09bc920efeb1c49de79dd0770ce41b", CPU_TYPE_X86_GEN, "oggenc2.i386.exe", 287603},
+       {"20648f83cc637cada481143d48c437ced8423e9a0aae01dbce860cd97fb1ce4000e314f3a5395d1eafd8e154a8e74d08", CPU_TYPE_X86_SSE, "oggenc2.sse2.exe", 287603},
+       {"e1da48055a57bae41d6a1a0dc08b86831c121e85c07aa60aae4196997b166a08cfb7265d9f0f289f445ad73bce28d81f", CPU_TYPE_X64_ALL, "oggenc2.x64.exe",  287603},
+       {"64bdd8ef4841a4b2e0937e5956d1f441fa40d33b60bbd5333314f2e02e7c50423ca2b4c301689ab34c1dc2d01a3ac8ad", CPU_TYPE_ALL_ALL, "opusdec.exe",     20120922},
+       {"4a44373491af8cb3e7620f5b0acfaa5c06839739869c93767e5036225b0a3d6399fb720f822970d6c7d186f5d84de918", CPU_TYPE_ALL_ALL, "opusenc_ea7.exe", 20120922},
+       {"a5dd4358277ed70e0abd80ddd7960c7e60c7720335b2f09cead35c068ce78e6583793574225ede57c00c800e241a4903", CPU_TYPE_ALL_ALL, "opusenc_std.exe", 20120922},
+       {"bdfa8dec142b6327a33af6bb314d7beb924588d1b73f2ef3f46b31fa6046fe2f4e64ca78b025b7eb9290a78320e2aa57", CPU_TYPE_ALL_ALL, "refalac.exe", 56},
+       {"d041b60de6c5c6e77cbad84440db57bbeb021af59dd0f7bebd3ede047d9e2ddc2a0c14179472687ba91063743d23e337", CPU_TYPE_ALL_ALL, "shorten.exe", 361},
+       {"81633b4808ff13e25249aac038ed97570aaeea2bbffacf0f3905514064d1b82d141a6b04f63f1a913e4d09b2d892aea0", CPU_TYPE_ALL_ALL, "sox.exe", 1440},
+       {"5a4261e1b41a59d1a5bc92e1d2766422a67454d77e06ea29af392811b7b4704e0f3e494ab9cb6375ce9e39257867c5ed", CPU_TYPE_ALL_ALL, "speexdec.exe", 12},
+       {"a83628880da0b7519ec368a74a92da5a5099d8d46aa0583131f92d7321f47c9e16a1841b2a3fb8ffcca7205ef4b1bb0a", CPU_TYPE_ALL_ALL, "tta.exe", 21},
+       {"c07bbd790e2a9d8b694b44e33d47ee86740306049c8ca6dc0d7ecc73e6b18ad6cd77ad1d5865e4b4928cd8260be37e1d", CPU_TYPE_ALL_ALL, "valdec.exe", 31},
+       {"c472d443846fec57b2568c6e690736703497abc22245f08fb0e609189fd1c7aa2d670a7f42d5e05de6d7371de39dcf1a", CPU_TYPE_ALL_ALL, "wget.exe", 1114},
+       {"572b9448bf4a338ecb9727951fdfcc5a219cc69896695cc96b9f6b083690e339910e41558968264a38992e45f2be152c", CPU_TYPE_ALL_ALL, "wma2wav.exe", 20111001},
+       {"65fd97f357bd779d492012940d6eab1d9b7618b088430a62428d7b184ccbe5f683caa2aac67146c1d6cb07dbff997d79", CPU_TYPE_ALL_ALL, "wupdate.exe", 20120310},
+       {"b0a564e842f2cda6b67fdd09aaa66294c775bb3eb419debf311fe54eb76ea468e99917dc3ad8ed4734fcdb59034a13cb", CPU_TYPE_ALL_ALL, "wvunpack.exe", 4601},
        {NULL, NULL, NULL, NULL}
 };