Valhalla Legends Forums Archive | Battle.net Bot Development | New WC3 Verbyte?

AuthorMessageTime
KkBlazekK
Is it 0x13? I can't find my cd.
March 2, 2005, 2:22 AM
HdxBmx27
0x12, and the verHash is unchanged. Hashes can be found Here.
And How long do you think it will take BNLS to update this time :P
JBLS took 10 mins after I noticed it :P Fun.
(Don't flame me for using / Supporting / running JBLS >.<)

Can anyone tell me how to determin the VerHash? I got lucky this time, it still works with the old one.
But maby it has changed. So can anyone tell me how to find it out? And no i don't jsut want you to tell me it, I want you to tell me how to find it for myself. So as I can do it in the future. Please.
~-~(HDX)~-~
March 2, 2005, 3:13 AM
iago
[quote author=HdxBmx27 link=topic=10770.msg102162#msg102162 date=1109733203]
Can anyone tell me how to determin the VerHash? I got lucky this time, it still works with the old one.
But maby it has changed. So can anyone tell me how to find it out? And no i don't jsut want you to tell me it, I want you to tell me how to find it for myself. So as I can do it in the future. Please.
~-~(HDX)~-~
[/quote]

Packetlog.  It's the second DWord of SID_AUTH_CHECK (outgoing).

You can do it with the .exe too, and a couple API calls, but eh.  When version updates, all I ask for it hashfiles and a dump of SID_AUTH_INFO and SID_AUTH_CHECK from somebody.
March 2, 2005, 7:41 AM
JoeTheOdd
SID_AUTH_INFO is easy.
"3RAW" Hrm.. WarCraft three..
"86XI"  Hrm.. Intel.. jah.. g00d
0x11 0x00 0x00 0x00  OMG FOUND IT!
March 2, 2005, 12:58 PM
HdxBmx27
HUrm I see, Thanks for telling me. Anyone have a log of the game, sence I don't have it installed? Please post it here, so thta I may conferm myself.
As for joe.. That was the old patch, 0x11 was the old verbyte.

As for Iago, Would you mid informaing me on htose API calls? Both Java and VB would be nice. But I can find eaither if you tell me one.
Thanks.
~-~(HDX)~-~
March 2, 2005, 3:40 PM
UserLoser.
[quote author=HdxBmx27 link=topic=10770.msg102189#msg102189 date=1109778008]
As for iago, Would you mid informaing me on htose API calls? Both Java and VB would be nice.
[/quote]

I don't know how java works, so for VB you could use:

GetFileVersionInfoSize, GetFileVersionInfo and VerQueryValue
March 2, 2005, 7:41 PM
iago
This functionality is very Windows-specific, so, as a result, Java doesn't support it. 

I actually don't think the version hash does anything, since last update I forgot to update it and everything worked fine..

And I recommend against people posting their packet logs, since it's petty trivial to get your cdkey/password from them.  (password is difficult to retrieve iff you chose a good password)
March 2, 2005, 8:48 PM
HdxBmx27
Hurrm, I get 0x0100178E12 (oboiously wrong.) as a guess with the code I use (to follow)
But i get the correct one when doing it on the SC exe file.. (0x01010202)
[code]Dim R As Long, sBuffer() As Byte,  lngLen As Long,  lPointer As Long, udtVer As VS_FixedFileInfo, VerHash As String
Public Function VerHash() As String
  lngLen = GetFileVersionInfoSize("E:\JBLS\STAR\Starcraft.exe", &H0)
  If lngLen < 1 Then
    VerHash = "0x00"
    Exit Function
  End If

  ReDim sBuffer(lngLen)
  R = GetFileVersionInfo("E:\JBLS\STAR\Starcraft.exe", &H0, lngLen, sBuffer(0))
  R = VerQueryValue(sBuffer(0), "\", lPointer, &H0)
  MoveMemory udtVer, lPointer, Len(udtVer)
 
With udtVer
  VerHash = "0x" & Format$(Hex(.dwFileVersionMSh), "00") & _
      Format$(Hex(.dwFileVersionMSl), "00") & _
      Format$(Hex(.dwFileVersionLSl), "00") & _
      Format$(Hex(.dwFileVersionLSh), "00")
End With
End Function[/code]
Curitsey of a google search that returned pretty must everyhitng I used :/
Now, Are Diffrent values used in WC3 then in SC? Or am I compleetly wrong and If either. Please tell me.
~-~(HDX)~-~
March 3, 2005, 2:00 AM
LoRd
You can't have a version hash without hashing the version.

Here's an example taken from the public C CheckRevision source:

[code]*lpdwVersion = ((HIWORD(ffi->dwProductVersionMS) & 0xFF) << 24) | ((LOWORD(ffi->dwProductVersionMS) & 0xFF) << 16) | ((HIWORD(ffi->dwProductVersionLS) & 0xFF) << 8) | (LOWORD(ffi->dwProductVersionLS) & 0xFF);[/code]

[quote]Are Diffrent values used in WC3 then in SC?[/quote]

No.  All Battle.net clients use the same checkrevision libraries.
March 3, 2005, 4:23 AM
LoRd
[quote author=JoeTheOdd link=topic=10770.msg102182#msg102182 date=1109768285]
SID_AUTH_INFO is easy.
"3RAW" Hrm.. WarCraft three..
"86XI"  Hrm.. Intel.. jah.. g00d
0x11 0x00 0x00 0x00  OMG FOUND IT!
[/quote]

I believe you mean 'WAR3' and 'IX86' and you have the order in reverse.  It should be the platform ID followed by the product ID.
March 3, 2005, 4:34 AM
UserLoser.
[quote author=LoRd[nK] link=topic=10770.msg102295#msg102295 date=1109823836]
You can't have a version hash without hashing the version.
[/quote]

Hashing the version?
March 3, 2005, 5:12 AM
LoRd
[quote author=UserLoser link=topic=10770.msg102302#msg102302 date=1109826739]
[quote author=LoRd[nK] link=topic=10770.msg102295#msg102295 date=1109823836]
You can't have a version hash without hashing the version.
[/quote]

Hashing the version?
[/quote]

If you know of any better terminology, I'd like to hear it.  :p
March 3, 2005, 5:46 AM
HdxBmx27
[code]VerHash = "0x" & Hex((LShift((.dwProductVersionMSh And &HFF), 24)) Xor _
                (LShift((.dwProductVersionMSl And &HFF), 16)) Xor _
                (LShift((.dwProductVersionLSh And &HFF), 8)) Xor _
                (.dwProductVersionLSl And &HFF))[/code]
Don't yell at me for being wrong >.<

Oh, Well, Desiered value is 0x01010202
Returned value is 0x1010203 ...
Considering the returned value is 7 chrs long, and the desighered value is 8 (DWORD correct), Would simply padding it on the left work? (VerHash = "0x" & Right("00000000" & Returned, 8) ? )
But why do I get 3, insted of 2?

Thanks for all your help sofar guys, this is acually a good way to teach things :P
~-~(HDX)~-~
March 3, 2005, 8:54 AM
LoRd
[quote author=HdxBmx27 link=topic=10770.msg102307#msg102307 date=1109840087]
[code]VerHash = "0x" & Hex((LShift((.dwProductVersionMSh And &HFF), 24)) Xor _
                (LShift((.dwProductVersionMSl And &HFF), 16)) Xor _
                (LShift((.dwProductVersionLSh And &HFF), 8)) Xor _
                (.dwProductVersionLSl And &HFF))[/code]
Don't yell at me for being wrong >.<

Oh, Well, Desiered value is 0x01010202
Returned value is 0x1010203 ...
Considering the returned value is 7 chrs long, and the desighered value is 8 (DWORD correct), Would simply padding it on the left work? (VerHash = "0x" & Right("00000000" & Returned, 8) ? )
But why do I get 3, insted of 2?

Thanks for all your help sofar guys, this is acually a good way to teach things :P
~-~(HDX)~-~
[/quote]

| in Visual Basic is Or.
March 3, 2005, 10:31 AM
HdxBmx27
Tryed both ways, produces same result. But i'll Mod it to be more in-tune with BnetAuth I guess.
~-~(HDX)~-~
March 3, 2005, 3:42 PM
iago
[quote author=LoRd[nK] link=topic=10770.msg102304#msg102304 date=1109828778]
[quote author=UserLoser link=topic=10770.msg102302#msg102302 date=1109826739]
[quote author=LoRd[nK] link=topic=10770.msg102295#msg102295 date=1109823836]
You can't have a version hash without hashing the version.
[/quote]

Hashing the version?
[/quote]

If you know of any better terminology, I'd like to hear it.  :p
[/quote]

The problem with Battle.net Bot Development is that a lot of words are use incorrectly.  Like Word, DWord, Hashfiles, Version hash, pretty much everywhere the word "hash" is used, except for older clients..
March 3, 2005, 5:11 PM
LoRd
[quote author=iago link=topic=10770.msg102326#msg102326 date=1109869919]
[quote author=LoRd[nK] link=topic=10770.msg102304#msg102304 date=1109828778]
[quote author=UserLoser link=topic=10770.msg102302#msg102302 date=1109826739]
[quote author=LoRd[nK] link=topic=10770.msg102295#msg102295 date=1109823836]
You can't have a version hash without hashing the version.
[/quote]

Hashing the version?
[/quote]

If you know of any better terminology, I'd like to hear it.  :p
[/quote]

The problem with Battle.net Bot Development is that a lot of words are use incorrectly.  Like Word, DWord, Hashfiles, Version hash, pretty much everywhere the word "hash" is used, except for older clients..
[/quote]

Hash seems acceptable to me.  What would you call it?
March 3, 2005, 8:42 PM
HdxBmx27
So does anyone have any suggestions as to how i could fix my problem?
Also I understood what he ment, even if it sounded funny.

I would REALLY like to figure out what I am doing wrong.
~-~(HDX)~-~
March 5, 2005, 9:25 PM
Myndfyr
[quote author=LoRd[nK] link=topic=10770.msg102347#msg102347 date=1109882553]
[quote author=iago link=topic=10770.msg102326#msg102326 date=1109869919]
[quote author=LoRd[nK] link=topic=10770.msg102304#msg102304 date=1109828778]
[quote author=UserLoser link=topic=10770.msg102302#msg102302 date=1109826739]
[quote author=LoRd[nK] link=topic=10770.msg102295#msg102295 date=1109823836]
You can't have a version hash without hashing the version.
[/quote]

Hashing the version?
[/quote]

If you know of any better terminology, I'd like to hear it.  :p
[/quote]

The problem with Battle.net Bot Development is that a lot of words are use incorrectly.  Like Word, DWord, Hashfiles, Version hash, pretty much everywhere the word "hash" is used, except for older clients..
[/quote]

Hash seems acceptable to me.  What would you call it?
[/quote]

For example, people call the game files the "hash files."  There is no such thing as a "hash file."  It's a "client file on which a hash is calculated."  Big difference.
March 5, 2005, 11:04 PM
HdxBmx27
Sorry to be repettitive. But insted of duscussing the aspects of naming. Can someone help me?
~-~(HDX)~-~
March 6, 2005, 1:03 AM
LoRd
[quote author=MyndFyre link=topic=10770.msg102608#msg102608 date=1110063857]
[quote author=LoRd[nK] link=topic=10770.msg102347#msg102347 date=1109882553]
[quote author=iago link=topic=10770.msg102326#msg102326 date=1109869919]
[quote author=LoRd[nK] link=topic=10770.msg102304#msg102304 date=1109828778]
[quote author=UserLoser link=topic=10770.msg102302#msg102302 date=1109826739]
[quote author=LoRd[nK] link=topic=10770.msg102295#msg102295 date=1109823836]
You can't have a version hash without hashing the version.
[/quote]

Hashing the version?
[/quote]

If you know of any better terminology, I'd like to hear it.  :p
[/quote]

The problem with Battle.net Bot Development is that a lot of words are use incorrectly.  Like Word, DWord, Hashfiles, Version hash, pretty much everywhere the word "hash" is used, except for older clients..
[/quote]

Hash seems acceptable to me.  What would you call it?
[/quote]

For example, people call the game files the "hash files."  There is no such thing as a "hash file."  It's a "client file on which a hash is calculated."  Big difference.
[/quote]
... I wasn't referring to hash files.
March 6, 2005, 4:29 AM
UserLoser.
[quote author=LoRd[nK] link=topic=10770.msg102641#msg102641 date=1110083382]
[quote author=MyndFyre link=topic=10770.msg102608#msg102608 date=1110063857]
[quote author=LoRd[nK] link=topic=10770.msg102347#msg102347 date=1109882553]
[quote author=iago link=topic=10770.msg102326#msg102326 date=1109869919]
[quote author=LoRd[nK] link=topic=10770.msg102304#msg102304 date=1109828778]
[quote author=UserLoser link=topic=10770.msg102302#msg102302 date=1109826739]
[quote author=LoRd[nK] link=topic=10770.msg102295#msg102295 date=1109823836]
You can't have a version hash without hashing the version.
[/quote]

Hashing the version?
[/quote]

If you know of any better terminology, I'd like to hear it.  :p
[/quote]

The problem with Battle.net Bot Development is that a lot of words are use incorrectly.  Like Word, DWord, Hashfiles, Version hash, pretty much everywhere the word "hash" is used, except for older clients..
[/quote]

Hash seems acceptable to me.  What would you call it?
[/quote]

For example, people call the game files the "hash files."  There is no such thing as a "hash file."  It's a "client file on which a hash is calculated."  Big difference.
[/quote]
... I wasn't referring to hash files.
[/quote]

This has totally went the wrong way.  I originally meant, what do you mean by "hashing the version" with the code Lord posted.  All it really is doing is putting four values into one value used to recognize the game version.
March 6, 2005, 4:31 AM

Search