Forum > Miscellaneous

[QUESTION] Blizzard Downloader

<< < (2/5) > >>

stoneharry:

--- Quote from: "happyhack" ---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)
--- End quote ---

Thanks for the information.

Yeah I will try and use a different version of the downloader. :)

edit:

I downloaded the downloader from 3.3.5a -> 4.x.x by logging into retail. After removing the torrent they have attached and attaching my one I get 'There is nothing to download' still. There did not appear to be any structure after the torrent file which confuses me.

happyhack:
as said earlier, u can change the torrent file but u still have to add the header right after. on some downloader the COKI, PANE and MODE chunks are missing. leaving only torrent data, and skin data.

here is the utility i made for extracting/appending new torrent files (work on windows) http://www.filesplat.com/.happyhack/sha ... zDLasm.rar

BlizzDLasm.exe extract "example.downloader.exe" for extracting the torrent file
BlizzDLasm.exe compile "example.torrent" "out.exe" for creating a new downloader with the given torrent file

however when i change the torrent for another, the downloader seems to work correctly but dont download anything.

i found some informations about the downloader there http://www.networkuptime.com/wow/page02-09.html
Its said the downloader connect to blizzard's tracker.
Maybe the downloader try to connect to blizzard's tracker automatically and stop downloading if the torrent informations are not found... maybe blizzard's tracker is more than a simple torrent tracker and it send informations needed by the downloader to correctly complete the download process.... maybe it just check if the torrent's tracker match blizzard's one...

maybe i just did something wrong... I m afraid the downloader need informations only delivered by blizzard's tracker.

my knowledge in reversing are quite limited so i can do nothing more, sorry

stoneharry:
Interesting, thanks for the information.

It seems there are many different versions of the downloader. I have got it to work before a couple of years ago, 100%. I didn't need to attach a header and I believe it got the torrent file from a URL rather than attached. I'm going to see if I can find this version.

edit:

There is a BackgroundDownloader.exe inside the MPQs. I am going to do some experimenting with this version since it is shipped with the game.

stoneharry:
This thread seems to have got it a version working as well: viewtopic.php?p=16499#p16499

This thread also explains it: viewtopic.php?p=1309#p1309

Also my post here from a while ago shows how I got it working: viewtopic.php?p=14826#p14826 (though I cannot remember doing this!)

I am simply unable to find the strings that point to the directory containing these folders now. :/ No log file is being created when I run the program either, only "Data for the next patch is unavailable."

happyhack:

--- Quote ---This thread seems to have got it a version working as well: viewtopic.php?p=16499#p16499
--- End quote ---
haha these screenshots  :lol:

on my side i finally make it work

here are all explanation :

you have to create a torrent file with :
- the announce field set to your tracker url (during my test i set it to http://127.0.0.1:3724/announce it just worked well)

several field are used by the downloader for additionnal informations (choose output path, launch executable after full download, etc...)


Blizzard's torrent tracker is customized so when u send a torrent request, the response will have additionnals informations : a http URL for direct download.

then, the downloader try to download from the direct http URL it just got from the tracker.

The file on the http server should be splitted in several files to match the "piece length" field in the torrent file.

the downloader try to download from the direct http url like that :
"http://direct_http_url/piece_nbr"
during my test i set the direct http url to "http://127.0.0.1/WoW-3.3.5.12213-to-3.3.5.12340-frFR-patch.exe"
so the downloader tried to access http://127.0.0.1/WoW-3.3.5.12213-to-3.3 ... atch.exe/0
then http://127.0.0.1/WoW-3.3.5.12213-to-3.3 ... atch.exe/1, etc...

here is a very tiny bittorrent tracker that does the job, and a splitter for the downloaded file, both written in c#.
http://www.filesplat.com/.happyhack/sha ... racker.rar

(u should not use this tracker for a working server. It does not implement the torrent protocol fully, it just does the job for this test)

a bittorrent tracker is very simple, i guess u could even make one with a single php script on a http server.

whether u choose to use one or another is up to you. I didnt read the topics u linked in ur last post in detail but it seems an easier solution. However if u want to do it the same way blizzard does, then here it is  ;)

tell me if u need any help

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version