Valhalla Legends Forums Archive | Battle.net Bot Development References | IX86Ver#.mpq/dll Information

AuthorMessageTime
iago
I just had a couple questions about these, since I'm too lazy to find out for myself :)

1. Where do they come from? Are they stored/generated at runtime/downloaded? I suspect that the .dll is stored in the .mpq but I'm not really sure...

2. What is the difference between IX86ver1.dll/IX86ver2.mpq/etc? As far as I could tell, the checksum function is the exact same (although I never tested this theory, but the assembly looks the same)

3. This isn't about the actual files, but when the checksum function is called it's passed a hMPQ, but I can't find where it comes from, but I'm guessing it's from the corrosponding IX86ver?.mpq file. Am I right in assuming that?

Thanks for any help!
-iago
June 1, 2003, 3:28 AM
kamakazie
[quote author=iago link=board=17;threadid=1501;start=0#msg11290 date=1054438088]
I just had a couple questions about these, since I'm too lazy to find out for myself :)

1. Where do they come from? Are they stored/generated at runtime/downloaded? I suspect that the .dll is stored in the .mpq but I'm not really sure...
[/quote]
I believe the client compares it's cached version to the FILETIME structure sent in SID_AUTH_INFO. If it has the same FILETIME, then it uses the cached one; else it downloads the mpq in the same packet from the server. The dll that exports CheckRevision is in the MPQ along with another file which I do not know the purpose of.

[quote author=iago link=board=17;threadid=1501;start=0#msg11290 date=1054438088]
2. What is the difference between IX86ver1.dll/IX86ver2.mpq/etc? As far as I could tell, the checksum function is the exact same (although I never tested this theory, but the assembly looks the same)
[/quote]
One (and only?) difference is the intial "CheckSumKey". There may be other differences but from what I know the algorithm is the same for each dll. As far the the other file in the MPQ, the contents differ.

[quote author=iago link=board=17;threadid=1501;start=0#msg11290 date=1054438088]
3. This isn't about the actual files, but when the checksum function is called it's passed a hMPQ, but I can't find where it comes from, but I'm guessing it's from the corrosponding IX86ver?.mpq file. Am I right in assuming that?
[/quote]
I'm not sure what you're talking about, but maybe it's the handle from LoadLibrary("IX86ver0.dll");? Or it could be some internal handle that Storm.dll assigns the MPQ?

[quote author=iago link=board=17;threadid=1501;start=0#msg11290 date=1054438088]
Thanks for any help!
-iago
[/quote]

No problem, HTH.
June 1, 2003, 4:10 AM
Skywing
[quote author=kamakazie link=board=17;threadid=1501;start=0#msg11292 date=1054440606]
[quote author=iago link=board=17;threadid=1501;start=0#msg11290 date=1054438088]
I just had a couple questions about these, since I'm too lazy to find out for myself :)

1. Where do they come from? Are they stored/generated at runtime/downloaded? I suspect that the .dll is stored in the .mpq but I'm not really sure...
[/quote]
I believe the client compares it's cached version to the FILETIME structure sent in SID_AUTH_INFO. If it has the same FILETIME, then it uses the cached one; else it downloads the mpq in the same packet from the server. The dll that exports CheckRevision is in the MPQ along with another file which I do not know the purpose of.

[quote author=iago link=board=17;threadid=1501;start=0#msg11290 date=1054438088]
2. What is the difference between IX86ver1.dll/IX86ver2.mpq/etc? As far as I could tell, the checksum function is the exact same (although I never tested this theory, but the assembly looks the same)
[/quote]
One (and only?) difference is the intial "CheckSumKey". There may be other differences but from what I know the algorithm is the same for each dll. As far the the other file in the MPQ, the contents differ.

[quote author=iago link=board=17;threadid=1501;start=0#msg11290 date=1054438088]
3. This isn't about the actual files, but when the checksum function is called it's passed a hMPQ, but I can't find where it comes from, but I'm guessing it's from the corrosponding IX86ver?.mpq file. Am I right in assuming that?
[/quote]
I'm not sure what you're talking about, but maybe it's the handle from LoadLibrary("IX86ver0.dll");? Or it could be some internal handle that Storm.dll assigns the MPQ?

[quote author=iago link=board=17;threadid=1501;start=0#msg11290 date=1054438088]
Thanks for any help!
-iago
[/quote]

No problem, HTH.
[/quote]
The other file in the MPQ is (signature), used by SFileAuthenticateArchive with CryptoAPI to verify that the archive was signed by Blizzard and has not been tampered with.
June 2, 2003, 7:39 PM

Search