Forum > Miscellaneous
[QUESTION] Blizzard Downloader
(1/5) > >>
stoneharry:
I'm looking at the Blizzard downloader and I am confused as to how it functions.
There are four key directories that the Blizzard Downloader uses:
--- Code: ---background*.torrent updateDownloader.ini updatePatchSequenceFile.txt update*.mpq / exe
--- End code ---
The downloader contains misc data:
--- Code: ---[Downloader] directDownloadThreshold=3500000 [DownloaderFast] directDownloadThreshold=7000000 [BackgroundDownloader] directDownloadThreshold=10000 [PortDefaultValues] minPort=6881 maxPort=6999
--- End code ---
The PatchSequenceFile points to what should be downloaded: http://us.version.worldofwarcraft.com/u ... ceFile.txt
However this is directly contradictory to how other sources document the Blizzard Downloader to be constructed (and how I found): http://www.wowwiki.com/Blizzard_Downloader#Structure
The executable has a .torrent file attached to the end of the file which can be extracted. It also has a MPQ attached that contains all the images the downloader uses.
The torrent file can be edited using any normal default torrent editor tool. However it also appears to have some unknown data attached to the end:
This seems to contain information such as the IP and file that is allowed to download this file (directly going to the URL will tell you that you cannot access that file). MD5, and such also appears to exist. There is also an image URL that overwrites the background for the Blizzard Downloader as well as the name of the file being downloaded.
I am requesting some clarity on all of this information:
* Why there is two places the downloader can get the torrent from (URL & end of file) * The structure of the information at the end of the torrent file * Any other research done on the matter With this information it should be possible to then just create a normal torrent tracker and to seed a torrent, then attach that torrent with the downloader info after to the installer executable.
happyhack:
yo,
PatchSequenceFile is used by the launcher to know wich data are needed from the server for update. its seems unlikely the downloader use this file as torrent first's purpose is especially to allow client to download from somewhere else than the server, and if a .torrent file is embedded in the .exe then it doesnt need any other informations.
As everything is done through the launcher now i cant get hold of an official downloader. Can u upload one from 1 version to another so I can take a look a this? (english locale if u have one)
thanks
stoneharry:
--- Quote from: "happyhack" ---yo,
PatchSequenceFile is used by the launcher to know wich data are needed from the server for update. its seems unlikely the downloader use this file as torrent first's purpose is especially to allow client to download from somewhere else than the server, and if a .torrent file is embedded in the .exe then it doesnt need any other informations.
As everything is done through the launcher now i cant get hold of an official downloader. Can u upload one from 1 version to another so I can take a look a this? (english locale if u have one)
thanks --- End quote ---
Sure, if you login through WoW instead of launcher or download a game (not a patch) they still use the downloader system. I think the PatchSequenceFile was used on a different version of the Blizzard Downloader that didn't have the torrent attached - this is from a long time ago when I got it working before. This version seems to be more up to date and a better system.
Here is the Downloader I used to download WC3 from Blizzard last week, it is restricted to my IP as stated in the thread: https://dl.dropboxusercontent.com/u/110 ... s_enGB.zip
I haven't been able to do much testing yet as I have been moving houses which is a long and tiresome process. Once I am set up again I will begin doing some testing. I want to finish getting the Battle.net 2 protocol implemented (which I am half done on), the blizz downloader working, and then work on the Launcher. :)
Thanks.
stoneharry:
Okay, I replaced the torrent file & unknown data with my own torrent file and attempted to test it that way. I just get the error message:
"There is nothing to download"
Now, so the unknown data is essential it seems in this version of the Blizz Downloader, or I am doing something very wrong.
happyhack:
the end of the torrent is at offset 0xD51A on ur screenshot. unknown info are a list of struct similar to each blizzard files but they are written in reverse order : - block data - block header
header is as follow :
--- Code: ---struct { char Name[4]; signed int Offset; // offset of data from beggining of header (always negative) };
--- End code ---
so u see the unknown data contains several block of data : RESP ( contain torrent file data? ) COKI ( list of key/values quite explicit. u can deduce the informations easily : ip, expires, access, md5) PANE ( url of the image displayed ) MODE ( unknown 1 unsigned integer = 0x00000001)
there is one more block before torrent data named SKIN wich contain and MPQ file (holding ui data)
however... this downloader dont just download a file, it ask to select a folder, and probably do much more things. It seems much more complex than downloaders we used to obtain from Wow for update download and i suspect it to be notably different of the one used for updates.
What do u plan to do with the downloader? if u want to use it for update, i suggest u use an update downloader as its seems more generic (guess they didnt made code change from one update to another, just torrent change)
Navigation
[0] Message Index
[#] Next page
|