diff options
30 files changed, 49 insertions, 93 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index d78825f..3e5b869 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,6 +28,7 @@ set(SRC_FILES src/SFileReadFile.cpp src/SFileVerify.cpp src/libtomcrypt/src/pk/rsa/rsa_verify_simple.c + src/libtomcrypt/src/misc/crypt_libc.c ) set(TOMCRYPT_FILES @@ -43,7 +44,6 @@ set(TOMCRYPT_FILES src/libtomcrypt/src/misc/crypt_find_prng.c src/libtomcrypt/src/misc/crypt_hash_descriptor.c src/libtomcrypt/src/misc/crypt_hash_is_valid.c - src/libtomcrypt/src/misc/crypt_libc.c src/libtomcrypt/src/misc/crypt_ltc_mp_descriptor.c src/libtomcrypt/src/misc/crypt_prng_descriptor.c src/libtomcrypt/src/misc/crypt_prng_is_valid.c @@ -278,9 +278,10 @@ endif() option(WITH_STATIC "Compile static linked library" OFF) if(WITH_STATIC) - add_library(StormLib_static STATIC ${SRC_FILES} ${SRC_ADDITIONAL_FILES}) - target_link_libraries(StormLib_static ${LINK_LIBS}) - set_target_properties(StormLib_static PROPERTIES OUTPUT_NAME StormLib) + add_library(storm_static STATIC ${SRC_FILES} ${SRC_ADDITIONAL_FILES}) + target_link_libraries(storm_static ${LINK_LIBS}) + set_target_properties(storm_static PROPERTIES OUTPUT_NAME storm) + install(TARGETS storm_static RUNTIME DESTINATION bin LIBRARY DESTINATION lib ARCHIVE DESTINATION lib FRAMEWORK DESTINATION /Library/Frameworks) endif() if(APPLE) @@ -290,8 +291,8 @@ if(APPLE) endif() if(UNIX) - set_target_properties(storm PROPERTIES VERSION 8.10.0) - set_target_properties(storm PROPERTIES SOVERSION 8.10) + set_target_properties(storm PROPERTIES VERSION 8.21.0) + set_target_properties(storm PROPERTIES SOVERSION 8) endif() # On Win32, build StormLib.dll since we don't want to clash with Storm.dll diff --git a/doc/d3-authenticationcode-deDE.txt b/doc/d3-authenticationcode/d3-authenticationcode-deDE.txt index cac6671..cac6671 100644 --- a/doc/d3-authenticationcode-deDE.txt +++ b/doc/d3-authenticationcode/d3-authenticationcode-deDE.txt diff --git a/doc/d3-authenticationcode-enGB.txt b/doc/d3-authenticationcode/d3-authenticationcode-enGB.txt index 2bc9c83..2bc9c83 100644 --- a/doc/d3-authenticationcode-enGB.txt +++ b/doc/d3-authenticationcode/d3-authenticationcode-enGB.txt diff --git a/doc/d3-authenticationcode-enSG.txt b/doc/d3-authenticationcode/d3-authenticationcode-enSG.txt index e6f1ec2..e6f1ec2 100644 --- a/doc/d3-authenticationcode-enSG.txt +++ b/doc/d3-authenticationcode/d3-authenticationcode-enSG.txt diff --git a/doc/d3-authenticationcode-enUS.txt b/doc/d3-authenticationcode/d3-authenticationcode-enUS.txt index 8d73e61..8d73e61 100644 --- a/doc/d3-authenticationcode-enUS.txt +++ b/doc/d3-authenticationcode/d3-authenticationcode-enUS.txt diff --git a/doc/d3-authenticationcode-esES.txt b/doc/d3-authenticationcode/d3-authenticationcode-esES.txt index 6b1b0a1..6b1b0a1 100644 --- a/doc/d3-authenticationcode-esES.txt +++ b/doc/d3-authenticationcode/d3-authenticationcode-esES.txt diff --git a/doc/d3-authenticationcode-esMX.txt b/doc/d3-authenticationcode/d3-authenticationcode-esMX.txt index 504759e..504759e 100644 --- a/doc/d3-authenticationcode-esMX.txt +++ b/doc/d3-authenticationcode/d3-authenticationcode-esMX.txt diff --git a/doc/d3-authenticationcode-frFR.txt b/doc/d3-authenticationcode/d3-authenticationcode-frFR.txt index bb35a2b..bb35a2b 100644 --- a/doc/d3-authenticationcode-frFR.txt +++ b/doc/d3-authenticationcode/d3-authenticationcode-frFR.txt diff --git a/doc/d3-authenticationcode-itIT.txt b/doc/d3-authenticationcode/d3-authenticationcode-itIT.txt index a62031d..a62031d 100644 --- a/doc/d3-authenticationcode-itIT.txt +++ b/doc/d3-authenticationcode/d3-authenticationcode-itIT.txt diff --git a/doc/d3-authenticationcode-koKR.txt b/doc/d3-authenticationcode/d3-authenticationcode-koKR.txt index 296ffcc..296ffcc 100644 --- a/doc/d3-authenticationcode-koKR.txt +++ b/doc/d3-authenticationcode/d3-authenticationcode-koKR.txt diff --git a/doc/d3-authenticationcode-plPL.txt b/doc/d3-authenticationcode/d3-authenticationcode-plPL.txt index a92563c..a92563c 100644 --- a/doc/d3-authenticationcode-plPL.txt +++ b/doc/d3-authenticationcode/d3-authenticationcode-plPL.txt diff --git a/doc/d3-authenticationcode-ptBR.txt b/doc/d3-authenticationcode/d3-authenticationcode-ptBR.txt index e6e5c35..e6e5c35 100644 --- a/doc/d3-authenticationcode-ptBR.txt +++ b/doc/d3-authenticationcode/d3-authenticationcode-ptBR.txt diff --git a/doc/d3-authenticationcode-zhTW.txt b/doc/d3-authenticationcode/d3-authenticationcode-zhTW.txt index 138a544..138a544 100644 --- a/doc/d3-authenticationcode-zhTW.txt +++ b/doc/d3-authenticationcode/d3-authenticationcode-zhTW.txt diff --git a/doc/diablo3_ruru_disk_encrypted_win.blob b/doc/diablo3_ruru_disk_encrypted_win.blob deleted file mode 100644 index 7972b2d..0000000 --- a/doc/diablo3_ruru_disk_encrypted_win.blob +++ /dev/null @@ -1,49 +0,0 @@ -{ -"config":{ - "product": "D3", - "install_progress_percent": 70.0, - "install_progress_info": [8000000000.0, 0.0, 0.0], - "download_progress_info": [10000000.0, 500000000.0, 500000000.0], - "install_progress_speed": 5000000.0, - "tome_download_progress_percent": 0.0, - "updater_product": "d3_patch", - "expansion_level": 0, - "ptr": false, - "beta": false, - "update_method": "patch on demand", - "supports_multibox": false, - "data_dir": "Data_D3/PC/MPQs/", - "patch_url": "http://ruRU.patch.battle.net:1119/patch", - "update_regex": "(?P<prefix>d3-update-(?P<dataset>\\w+))-(?P<build>\\d+)\\.mpq$", - "update_identifier": "d3-update-", - "torrent_file_path": "Diablo III.tfil", - "manifest_file_path": "Diablo III.mfil", - "priority_file_path": "Diablo III.pfil", - "priority_file_layout": "Retail", - "binary_version_path": "Diablo III.exe", - "binary_launch_path": "Diablo III.exe", - "display_locales":["ruRU"], - "supported_locales" : ["enUS", "esMX", "ptBR", "enGB", "deDE", "esES", "frFR", "itIT", "plPL", "enSG", "ptPT", "ruRU", "koKR", "zhTW", "zhCN"], - "launch_arguments":["-launch","-uid","diablo3_ruru"], - "form": { - "eula": { - "eula":false - }, - "game_dir": { - "default": "Program Files", - "dirname": "Diablo III", - "required_space": 15032385536 - }, - "language": { - "default":["ruRU"], - "list":["ruRU"] - }, - "authentication_key": { - "url": [ - "http://ruru.nydus.battle.net/D3/ruRU/setup/mediakey", - "http://dist.blizzard.com/mediakey/d3-authenticationcode-ruRU.txt" - ] - } - } - } -}
\ No newline at end of file diff --git a/doc/diablo3_urls.txt b/doc/diablo3_urls.txt deleted file mode 100644 index d89f489..0000000 --- a/doc/diablo3_urls.txt +++ /dev/null @@ -1,14 +0,0 @@ -http://dist.blizzard.com/mediakey/d3-authenticationcode-deDE.txt -http://dist.blizzard.com/mediakey/d3-authenticationcode-enGB.txt -http://dist.blizzard.com/mediakey/d3-authenticationcode-enSG.txt -http://dist.blizzard.com/mediakey/d3-authenticationcode-enUS.txt -http://dist.blizzard.com/mediakey/d3-authenticationcode-esES.txt -http://dist.blizzard.com/mediakey/d3-authenticationcode-esMX.txt -http://dist.blizzard.com/mediakey/d3-authenticationcode-frFR.txt -http://dist.blizzard.com/mediakey/d3-authenticationcode-itIT.txt -http://dist.blizzard.com/mediakey/d3-authenticationcode-koKR.txt -http://dist.blizzard.com/mediakey/d3-authenticationcode-plPL.txt -http://dist.blizzard.com/mediakey/d3-authenticationcode-ptBR.txt -http://dist.blizzard.com/mediakey/d3-authenticationcode-ruRU.txt <==== -http://dist.blizzard.com/mediakey/d3-authenticationcode-zhTW.txt -http://dist.blizzard.com/mediakey/d3-authenticationcode-zhCN.txt <==== diff --git a/doc/hots-authenticationcode/hots-authenticationcode-bgdl.txt b/doc/hots-authenticationcode/hots-authenticationcode-bgdl.txt new file mode 100644 index 0000000..6dfe0ee --- /dev/null +++ b/doc/hots-authenticationcode/hots-authenticationcode-bgdl.txt @@ -0,0 +1 @@ +S48B6CDTN5XEQAKQDJNDLJBJ73FDFM3U
\ No newline at end of file diff --git a/doc/sc2-authenticationcode/sc2-authenticationcode-deDE.txt b/doc/sc2-authenticationcode/sc2-authenticationcode-deDE.txt new file mode 100644 index 0000000..029d733 --- /dev/null +++ b/doc/sc2-authenticationcode/sc2-authenticationcode-deDE.txt @@ -0,0 +1 @@ +Y45MD3CAK4KXSSXHYD9VY64Z8EKJ4XFX
\ No newline at end of file diff --git a/doc/sc2-authenticationcode/sc2-authenticationcode-enGB.txt b/doc/sc2-authenticationcode/sc2-authenticationcode-enGB.txt new file mode 100644 index 0000000..7f66f8b --- /dev/null +++ b/doc/sc2-authenticationcode/sc2-authenticationcode-enGB.txt @@ -0,0 +1 @@ +G8MN8UDG6NA2ANGY6A3DNY82HRGF29ZH
\ No newline at end of file diff --git a/doc/sc2-authenticationcode/sc2-authenticationcode-enUS.txt b/doc/sc2-authenticationcode/sc2-authenticationcode-enUS.txt new file mode 100644 index 0000000..0a4f5b8 --- /dev/null +++ b/doc/sc2-authenticationcode/sc2-authenticationcode-enUS.txt @@ -0,0 +1 @@ +3DH5RE5NVM5GTFD85LXGWT6FK859ETR5
\ No newline at end of file diff --git a/doc/sc2-authenticationcode/sc2-authenticationcode-esES.txt b/doc/sc2-authenticationcode/sc2-authenticationcode-esES.txt new file mode 100644 index 0000000..fba8c8d --- /dev/null +++ b/doc/sc2-authenticationcode/sc2-authenticationcode-esES.txt @@ -0,0 +1 @@ +8WLKUAXE94PFQU4Y249PAZ24N4R4XKTQ
\ No newline at end of file diff --git a/doc/sc2-authenticationcode/sc2-authenticationcode-esMX.txt b/doc/sc2-authenticationcode/sc2-authenticationcode-esMX.txt new file mode 100644 index 0000000..bb020c6 --- /dev/null +++ b/doc/sc2-authenticationcode/sc2-authenticationcode-esMX.txt @@ -0,0 +1 @@ +A34DXX3VHGGXSQBRFE5UFFDXMF9G4G54
\ No newline at end of file diff --git a/doc/sc2-authenticationcode/sc2-authenticationcode-frFR.txt b/doc/sc2-authenticationcode/sc2-authenticationcode-frFR.txt new file mode 100644 index 0000000..37bcc4a --- /dev/null +++ b/doc/sc2-authenticationcode/sc2-authenticationcode-frFR.txt @@ -0,0 +1 @@ +ZG7J9K938HJEFWPQUA768MA2PFER6EAJ
\ No newline at end of file diff --git a/doc/sc2-authenticationcode/sc2-authenticationcode-itIT.txt b/doc/sc2-authenticationcode/sc2-authenticationcode-itIT.txt new file mode 100644 index 0000000..a665f69 --- /dev/null +++ b/doc/sc2-authenticationcode/sc2-authenticationcode-itIT.txt @@ -0,0 +1 @@ +NE7CUNNNTVAPXV7E3G2BSVBWGVMW8BL2
\ No newline at end of file diff --git a/doc/sc2-authenticationcode/sc2-authenticationcode-koKR.txt b/doc/sc2-authenticationcode/sc2-authenticationcode-koKR.txt new file mode 100644 index 0000000..e6346df --- /dev/null +++ b/doc/sc2-authenticationcode/sc2-authenticationcode-koKR.txt @@ -0,0 +1 @@ +3V9E2FTMBM9QQWK7U6MAMWAZWQDB838F
\ No newline at end of file diff --git a/doc/sc2-authenticationcode/sc2-authenticationcode-plPL.txt b/doc/sc2-authenticationcode/sc2-authenticationcode-plPL.txt new file mode 100644 index 0000000..564efc4 --- /dev/null +++ b/doc/sc2-authenticationcode/sc2-authenticationcode-plPL.txt @@ -0,0 +1 @@ +2NSFB8MELULJ83U6YHA3UP6K4MQD48L6
\ No newline at end of file diff --git a/doc/sc2-authenticationcode/sc2-authenticationcode-ptBR.txt b/doc/sc2-authenticationcode/sc2-authenticationcode-ptBR.txt new file mode 100644 index 0000000..e8f8172 --- /dev/null +++ b/doc/sc2-authenticationcode/sc2-authenticationcode-ptBR.txt @@ -0,0 +1 @@ +QA2TZ9EWZ4CUU8BMB5WXCTY65F9CSW4E
\ No newline at end of file diff --git a/doc/sc2-authenticationcode/sc2-authenticationcode-ruRU.txt b/doc/sc2-authenticationcode/sc2-authenticationcode-ruRU.txt new file mode 100644 index 0000000..1b93b5b --- /dev/null +++ b/doc/sc2-authenticationcode/sc2-authenticationcode-ruRU.txt @@ -0,0 +1 @@ +VHB378W64BAT9SH7D68VV9NLQDK9YEGT
\ No newline at end of file diff --git a/doc/sc2-authenticationcode/sc2-authenticationcode-zhTW.txt b/doc/sc2-authenticationcode/sc2-authenticationcode-zhTW.txt new file mode 100644 index 0000000..409a8c1 --- /dev/null +++ b/doc/sc2-authenticationcode/sc2-authenticationcode-zhTW.txt @@ -0,0 +1 @@ +U3NFQJV4M6GC7KBN9XQJ3BRDN3PLD9NE
\ No newline at end of file diff --git a/src/FileStream.cpp b/src/FileStream.cpp index 1a21170..0c668dc 100644 --- a/src/FileStream.cpp +++ b/src/FileStream.cpp @@ -1394,6 +1394,11 @@ static const char * szKeyTemplate = "expand 32-byte k000000000000000000000000000 static const char * AuthCodeArray[] = { + // Starcraft II (Heart of the Swarm) + // Authentication code URL: http://dist.blizzard.com/mediakey/hots-authenticationcode-bgdl.txt + // -0C- -1C--08- -18--04- -14--00- -10- + "S48B6CDTN5XEQAKQDJNDLJBJ73FDFM3U", // SC2 Heart of the Swarm-all : "expand 32-byte kQAKQ0000FM3UN5XE000073FD6CDT0000LJBJS48B0000DJND" + // Diablo III: Agent.exe (1.0.0.954) // Address of decryption routine: 00502b00 // Pointer to decryptor object: ECX @@ -1415,7 +1420,7 @@ static const char * AuthCodeArray[] = "6VWCQTN8V3ZZMRUCZXV8A8CGUX2TAA8H", // Diablo III Installer (zhTW): "expand 32-byte kMRUC0000AA8HV3ZZ0000UX2TQTN80000A8CG6VWC0000ZXV8" // "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", // Diablo III Installer (zhCN): "expand 32-byte kXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" - // Note: Starcraft II (Wings of Liberty): Installer.exe (4.1.1.4219) + // Starcraft II (Wings of Liberty): Installer.exe (4.1.1.4219) // Address of decryption routine: 0053A3D0 // Pointer to decryptor object: ECX // Pointer to key: ECX+0x5C diff --git a/test/Test.cpp b/test/Test.cpp index 9561d2d..e0058b7 100644 --- a/test/Test.cpp +++ b/test/Test.cpp @@ -1148,7 +1148,7 @@ static int TestArchiveOpenAndClose(const TCHAR * szMpqName) if(nError == ERROR_SUCCESS) { _tprintf(_T("Opening archive %s ...\n"), szMpqName); - if(!SFileOpenArchive(szMpqName, 0, STREAM_PROVIDER_LINEAR | BASE_PROVIDER_FILE, &hMpq)) + if(!SFileOpenArchive(szMpqName, 0, STREAM_PROVIDER_PARTIAL | BASE_PROVIDER_FILE, &hMpq)) nError = GetLastError(); ha = (TMPQArchive *)hMpq; } @@ -2157,7 +2157,7 @@ int main(void) // Mix the random number generator // srand(GetTickCount()); -// FileStream_OpenEncrypted(_T("e:\\Multimedia\\MPQs\\2010 - Starcraft II\\Installer UI 2 deDE.MPQE")); + FileStream_OpenFile(_T("e:\\Hry\\StarCraft II\\Updates\\SC2_HotS_20_BGDL\\SC2_HotS_20_BGDL_deDE.MPQE"), STREAM_PROVIDER_ENCRYPTED | BASE_PROVIDER_FILE); // Test structure sizes // if(nError == ERROR_SUCCESS) @@ -2188,8 +2188,8 @@ int main(void) // nError = TestSectorCompress(MPQ_SECTOR_SIZE); // Test the archive open and close -// if(nError == ERROR_SUCCESS) -// nError = TestArchiveOpenAndClose(MAKE_PATH("OldWorld-enGB.MPQ")); + if(nError == ERROR_SUCCESS) + nError = TestArchiveOpenAndClose(MAKE_PATH("speech.mpq.part")); // if(nError == ERROR_SUCCESS) // nError = TestFindFiles(MAKE_PATH("2002 - Warcraft III/HumanEd.mpq")); @@ -2241,25 +2241,25 @@ int main(void) // nError = TestCreateArchiveCopy(MAKE_PATH("PartialMPQs/interface.MPQ.part"), MAKE_PATH("PartialMPQs/interface-copy.MPQ.part"), NULL); - if(nError == ERROR_SUCCESS) - { - nError = TestOpenPatchedArchive(MAKE_PATH("2013 - WoW\\12911\\world.MPQ"), - MAKE_PATH("2013 - WoW\\12911\\wow-update-13164.MPQ"), - MAKE_PATH("2013 - WoW\\12911\\wow-update-13205.MPQ"), - MAKE_PATH("2013 - WoW\\12911\\wow-update-13287.MPQ"), - MAKE_PATH("2013 - WoW\\12911\\wow-update-13329.MPQ"), - MAKE_PATH("2013 - WoW\\12911\\wow-update-13596.MPQ"), - MAKE_PATH("2013 - WoW\\12911\\wow-update-13623.MPQ"), - MAKE_PATH("2013 - WoW\\12911\\wow-update-base-13914.MPQ"), - MAKE_PATH("2013 - WoW\\12911\\wow-update-base-14007.MPQ"), - MAKE_PATH("2013 - WoW\\12911\\wow-update-base-14333.MPQ"), - MAKE_PATH("2013 - WoW\\12911\\wow-update-base-14480.MPQ"), - MAKE_PATH("2013 - WoW\\12911\\wow-update-base-14545.MPQ"), - MAKE_PATH("2013 - WoW\\12911\\wow-update-base-14946.MPQ"), - MAKE_PATH("2013 - WoW\\12911\\wow-update-base-15005.MPQ"), - MAKE_PATH("2013 - WoW\\12911\\wow-update-base-15050.MPQ"), - NULL); - } +// if(nError == ERROR_SUCCESS) +// { +// nError = TestOpenPatchedArchive(MAKE_PATH("2013 - WoW\\12911\\world.MPQ"), +// MAKE_PATH("2013 - WoW\\12911\\wow-update-13164.MPQ"), +// MAKE_PATH("2013 - WoW\\12911\\wow-update-13205.MPQ"), +// MAKE_PATH("2013 - WoW\\12911\\wow-update-13287.MPQ"), +// MAKE_PATH("2013 - WoW\\12911\\wow-update-13329.MPQ"), +// MAKE_PATH("2013 - WoW\\12911\\wow-update-13596.MPQ"), +// MAKE_PATH("2013 - WoW\\12911\\wow-update-13623.MPQ"), +// MAKE_PATH("2013 - WoW\\12911\\wow-update-base-13914.MPQ"), +// MAKE_PATH("2013 - WoW\\12911\\wow-update-base-14007.MPQ"), +// MAKE_PATH("2013 - WoW\\12911\\wow-update-base-14333.MPQ"), +// MAKE_PATH("2013 - WoW\\12911\\wow-update-base-14480.MPQ"), +// MAKE_PATH("2013 - WoW\\12911\\wow-update-base-14545.MPQ"), +// MAKE_PATH("2013 - WoW\\12911\\wow-update-base-14946.MPQ"), +// MAKE_PATH("2013 - WoW\\12911\\wow-update-base-15005.MPQ"), +// MAKE_PATH("2013 - WoW\\12911\\wow-update-base-15050.MPQ"), +// NULL); +// } // if(nError == ERROR_SUCCESS) // { |