Blizzard Entertainment:Storm: Difference between revisions
No edit summary |
No edit summary |
||
| Line 10: | Line 10: | ||
"Blizzard games released since 1996 to 2004 (Diablo, Diablo II, Starcraft, Warcraft II and Warcraft III) shipped with Storm.dll, a dynamic library that contained functions that were able to read data from the archives. This DLL also contained memory management functions, network support, compression functions and other. There was also a Mac version of this library, named Storm.bin. Storm.dll only contained functions for reading MPQs. The MPQ writing functions (saving games, creating maps etc.) were compiled inside the main game executable. | "Blizzard games released since 1996 to 2004 (Diablo, Diablo II, Starcraft, Warcraft II and Warcraft III) shipped with Storm.dll, a dynamic library that contained functions that were able to read data from the archives. This DLL also contained memory management functions, network support, compression functions and other. There was also a Mac version of this library, named Storm.bin. Storm.dll only contained functions for reading MPQs. The MPQ writing functions (saving games, creating maps etc.) were compiled inside the main game executable. | ||
... | This reason violated one of the requirements for Blizzard archives, which was security of the data. Because of this, beginning with Diablo version 1.04, Blizzard made using Storm.dll by third party people more difficult: | ||
* Storm.dll only export functions by ordinals. This makes their using more difficult, at least the function purpose is not obvious at the first sight. | |||
* Storm.dll can be used only when it is linked statically, using import library. If it is loaded using LoadLibrary, the library will corrupt internal decrypt buffer and functions for file reading will not work anymore. | |||
* Since shipping the game of World of Warcraft, Blizzard stopped using this library. The code necessary for reading MPQ archive is linked directly into the main executable. | |||
Since Warcraft III version 1.29.2.9231, storm.dll is no longer used by any Blizzard game. The code is entirely included in the main executable (i.e. Warcraft III.exe)." | Since Warcraft III version 1.29.2.9231, storm.dll is no longer used by any Blizzard game. The code is entirely included in the main executable (i.e. Warcraft III.exe)." | ||