From d7044aecaeb2bbb33e0f5cc2080d5b2995bd79d5 Mon Sep 17 00:00:00 2001 From: Ladislav Zezula Date: Mon, 25 Aug 2014 12:59:01 +0200 Subject: + Added support for newest Spazzler protector --- storm_dll/Storm_dll.bat | 18 --- storm_dll/Storm_dll.sln | 10 ++ storm_dll/storm.dll | Bin 327680 -> 327531 bytes storm_dll/storm.lib | Bin 0 -> 5238 bytes storm_dll/storm_dll.h | 12 +- storm_dll/storm_test.cpp | 36 +++++ storm_dll/storm_test.vcproj | 351 ++++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 402 insertions(+), 25 deletions(-) delete mode 100644 storm_dll/Storm_dll.bat create mode 100644 storm_dll/storm.lib create mode 100644 storm_dll/storm_test.cpp create mode 100644 storm_dll/storm_test.vcproj (limited to 'storm_dll') diff --git a/storm_dll/Storm_dll.bat b/storm_dll/Storm_dll.bat deleted file mode 100644 index 466a3d3..0000000 --- a/storm_dll/Storm_dll.bat +++ /dev/null @@ -1,18 +0,0 @@ -@echo off -rem Post-build batch for StormDll project -rem Called as StormDll.bat $(PlatformName) $(ConfigurationName) -rem Example: StormDll.bat x64 Debug - -if x%1 == xWin32 goto PlatformWin32 -if x%1 == xx64 goto PlatformWin64 -goto exit - -:PlatformWin32 -copy .\bin\Storm_dll\%1\%2\*.lib . -goto exit - -:PlatformWin64 -copy .\bin\Storm_dll\%1\%2\*.lib . -goto exit - -:exit diff --git a/storm_dll/Storm_dll.sln b/storm_dll/Storm_dll.sln index 7f1616a..3b323fa 100644 --- a/storm_dll/Storm_dll.sln +++ b/storm_dll/Storm_dll.sln @@ -3,6 +3,8 @@ Microsoft Visual Studio Solution File, Format Version 10.00 # Visual Studio 2008 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Storm_dll", "Storm_dll.vcproj", "{BD600973-C6FA-4CE3-8821-67F6418B7F9C}" EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PhotoSort", "Storm_test.vcproj", "{5B0E680A-EC4E-402E-AE0D-18ADD2DC6EBE}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 @@ -19,6 +21,14 @@ Global {BD600973-C6FA-4CE3-8821-67F6418B7F9C}.Release|Win32.Build.0 = Release|Win32 {BD600973-C6FA-4CE3-8821-67F6418B7F9C}.Release|x64.ActiveCfg = Release|x64 {BD600973-C6FA-4CE3-8821-67F6418B7F9C}.Release|x64.Build.0 = Release|x64 + {5B0E680A-EC4E-402E-AE0D-18ADD2DC6EBE}.Debug|Win32.ActiveCfg = Debug|Win32 + {5B0E680A-EC4E-402E-AE0D-18ADD2DC6EBE}.Debug|Win32.Build.0 = Debug|Win32 + {5B0E680A-EC4E-402E-AE0D-18ADD2DC6EBE}.Debug|x64.ActiveCfg = Debug|x64 + {5B0E680A-EC4E-402E-AE0D-18ADD2DC6EBE}.Debug|x64.Build.0 = Debug|x64 + {5B0E680A-EC4E-402E-AE0D-18ADD2DC6EBE}.Release|Win32.ActiveCfg = Release|Win32 + {5B0E680A-EC4E-402E-AE0D-18ADD2DC6EBE}.Release|Win32.Build.0 = Release|Win32 + {5B0E680A-EC4E-402E-AE0D-18ADD2DC6EBE}.Release|x64.ActiveCfg = Release|x64 + {5B0E680A-EC4E-402E-AE0D-18ADD2DC6EBE}.Release|x64.Build.0 = Release|x64 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/storm_dll/storm.dll b/storm_dll/storm.dll index d4daca0..966c226 100644 Binary files a/storm_dll/storm.dll and b/storm_dll/storm.dll differ diff --git a/storm_dll/storm.lib b/storm_dll/storm.lib new file mode 100644 index 0000000..299a6d4 Binary files /dev/null and b/storm_dll/storm.lib differ diff --git a/storm_dll/storm_dll.h b/storm_dll/storm_dll.h index 6d67820..8625bd0 100644 --- a/storm_dll/storm_dll.h +++ b/storm_dll/storm_dll.h @@ -29,8 +29,7 @@ #define SCOMP(Name) SComp##Name #endif - -// Just in case anyone is still using C out there +// Make sure the functions are exported as C functions #ifdef __cplusplus extern "C" { #endif @@ -46,7 +45,7 @@ DWORD WINAPI SFILE(GetFileSize)(HANDLE hFile, LPDWORD lpFileSizeHigh); BOOL WINAPI SFILE(GetFileArchive)(HANDLE hFile, HANDLE *hMPQ); BOOL WINAPI SFILE(GetFileName)(HANDLE hFile, LPCSTR lpBuffer, DWORD dwBufferLength); DWORD WINAPI SFILE(SetFilePointer)(HANDLE hFile, long lDistanceToMove, PLONG lplDistanceToMoveHigh, DWORD dwMoveMethod); -BOOL WINAPI SFILE(ReadFile)(HANDLE hFile,LPVOID lpBuffer,DWORD nNumberOfBytesToRead,LPDWORD lpNumberOfBytesRead,LPOVERLAPPED lpOverlapped); +BOOL WINAPI SFILE(ReadFile)(HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped); LCID WINAPI SFILE(SetLocale)(LCID nNewLocale); BOOL WINAPI SFILE(GetBasePath)(LPCSTR lpBuffer, DWORD dwBufferLength); BOOL WINAPI SFILE(SetBasePath)(LPCSTR lpNewBasePath); @@ -55,13 +54,12 @@ BOOL WINAPI SFILE(SetBasePath)(LPCSTR lpNewBasePath); BOOL WINAPI SCOMP(Compress) (char * pbOutBuffer, int * pdwOutLength, char * pbInBuffer, int dwInLength, int uCmp, int uCmpType, int nCmpLevel); BOOL WINAPI SCOMP(Decompress)(char * pbOutBuffer, int * pdwOutLength, char * pbInBuffer, int dwInLength); +#ifdef __cplusplus +} +#endif #if defined(_MSC_VER) && !defined(BUILDING_STORM_CPP) #pragma comment(lib, "Storm.lib") // Force linking Storm.lib and thus Storm.dll #endif -#ifdef __cplusplus -} -#endif - #endif // __STORM_H__ diff --git a/storm_dll/storm_test.cpp b/storm_dll/storm_test.cpp new file mode 100644 index 0000000..a14b550 --- /dev/null +++ b/storm_dll/storm_test.cpp @@ -0,0 +1,36 @@ +/*****************************************************************************/ +/* Storm_test.cpp Copyright (c) Ladislav Zezula 2014 */ +/*---------------------------------------------------------------------------*/ +/* Test module for storm.dll (original Blizzard MPQ dynalic library */ +/*---------------------------------------------------------------------------*/ +/* Date Ver Who Comment */ +/* -------- ---- --- ------- */ +/* 24.08.14 1.00 Lad The first version of Storm_test.cpp */ +/*****************************************************************************/ + +#define _CRT_NON_CONFORMING_SWPRINTFS +#define _CRT_SECURE_NO_DEPRECATE +#include + +#ifdef _MSC_VER +#include +#endif + +#define STORM_ALTERNATE_NAMES +#include "storm_dll.h" // Header file for Storm.dll + +//----------------------------------------------------------------------------- +// Main + +int main() +{ + HANDLE hMpq = NULL; + + _asm int 3; + if(StormOpenArchive("E:\\Multimedia\\MPQs\\1995 - Test MPQs\\MPQ_2014_v1_ProtectedMap_Spazzler3.w3x", 0, 0, &hMpq)) + { + StormCloseArchive(hMpq); + } + + return 0; +} diff --git a/storm_dll/storm_test.vcproj b/storm_dll/storm_test.vcproj new file mode 100644 index 0000000..571ad8e --- /dev/null +++ b/storm_dll/storm_test.vcproj @@ -0,0 +1,351 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- cgit v1.2.3