If you are a WoW player like I am, you tend to dread Tuesday evenings when you sit down to play…..it could be patch time! I started to wonder if there was anyway to speed up the process of getting the new patches. Looking around on the web, I found that Blizzard uses a BitTorrent method of getting the patch down to you. Snooping around in the loader program I came across what appeared to be a .torrent file embedded into the program. After looking around a bit more, I found the protocol for extracting it and wrote this Perl script to do the job.
Run the program, giving it the name of the downloader file, and it will extract to GetWOWpatch.torrent. If you turn off the debug option (Edit the code and change the $DEBUG = 1; to a ‘0′) there will be no output.
C:\Perl>perl GetWOWTorrentFIle.pl WoW-184.108.40.20607-to-220.127.116.1178-enUS-downloader.exe [DEBUG] Longs are 4 bytes [DEBUG] Raw Offset Bytes: 0xa1f1ffff [DEBUG] Offset = -3679, [0xFFFFF1A1] [DEBUG] File Ptr before seeking offset = 745063 [DEBUG] Seek return = 741376 [DEBUG] -- Start: ExtractWOWtorrent -- [DEBUG] $bytes = 3679, Read = 3679 [DEBUG] -- End ExtractWOWtorrent --
You can then use the GetWOWpatch.torrent file with your favorite BitTorrent client to get the latest patch. Please note that this only works on the Windows version of the downloader file. The Mac OSX version has a different format, and I still need to work on that version.