Valhalla Legends Forums Archive | Battle.net Bot Development | IX86ver mpq update?

AuthorMessageTime
Ringo
All the IX86verX.mpq's have updated on west?
I cant logon any sc* client with the old checkrevision :(
Im wundering if the file number hash number thingys have changed?
Anyone know what they are up to? :P
August 22, 2006, 10:25 PM
Jman
I don't know... but I just noticed this aswell.

edit: It seems that a legit client will download the new mpq's with the file transfer thing before it makes the check revision... it seems that it is doing this on east also though the check is not failing there.
August 22, 2006, 10:28 PM
raylu
StealthBot connecting:
[code]00000000  01                                              .
00000001  ff 50 3a 00 00 00 00 00  36 38 58 49 50 58 45 53 .P:..... 68XIPXES
00000011  cf 00 00 00 00 00 00 00  00 00 00 00 68 01 00 00 ........ ....h...
00000021  09 04 00 00 09 04 00 00  55 53 41 00 55 6e 69 74 ........ USA.Unit
00000031  65 64 20 53 74 61 74 65  73 00 ff 25 08 00 00 00 ed State s..%....
00000041  00 00                                            ..
                                                                              00000000  ff 25 08 00 e3 7a da 10                          .%...z..
                                                                              00000008  ff 50 63 00 00 00 00 00  34 6c c2 de 74 1e 00 00 .Pc..... 4l..t...
                                                                              00000018  00 de c6 10 b0 bd c6 01  49 58 38 36 76 65 72 34 ........ IX86ver4
                                                                              00000028  2e 6d 70 71 00 41 3d 33  31 38 39 33 33 32 36 33 .mpq.A=3 18933263
                                                                              00000038  20 42 3d 38 37 35 39 37  30 31 33 31 20 43 3d 34  B=87597 0131 C=4
                                                                              00000048  32 34 37 35 31 37 34 31  20 34 20 41 3d 41 5e 53 24751741  4 A=A^S
                                                                              00000058  20 42 3d 42 2b 43 20 43  3d 43 2b 41 20 41 3d 41  B=B+C C =C+A A=A
                                                                              00000068  5e 42 00                                        ^B.
00000043  ff 51 6c 00 97 7e 15 74  01 00 0e 01 bc 65 52 87 .Ql..~.t .....eR.
00000053  01 00 00 00 00 00 00 00  0d 00 00 00 01 00 00 00 ........ ........
00000063  c4 e1 5b 00 00 00 00 00  90 4c 17 1f da 5e 7e 61 ..[..... .L...^~a
00000073  d4 63 5e df 08 f4 bc 41  5e 97 ca 6c 53 74 61 72 .c^....A ^..lStar
00000083  63 72 61 66 74 2e 65 78  65 20 30 35 2f 31 30 2f craft.ex e 05/10/
00000093  30 36 20 30 30 3a 31 33  3a 35 38 20 31 32 31 36 06 00:13 :58 1216
000000A3  35 31 32 00 4c 61 67 67  69 6e 67 00            512.Lagg ing.
                                                                              0000006B  ff 51 09 00 01 01 00 00  00                      .Q...... .[/code]

The official client connecting:
[code]00000000  01                                              .
00000001  ff 50 3a 00 00 00 00 00  36 38 58 49 50 58 45 53 .P:..... 68XIPXES
00000011  cf 00 00 00 53 55 6e 65  c0 a8 00 03 68 01 00 00 ....SUne ....h...
00000021  09 04 00 00 09 04 00 00  55 53 41 00 55 6e 69 74 ........ USA.Unit
00000031  65 64 20 53 74 61 74 65  73 00                  ed State s.
                                                                              00000000  ff 25 08 00 d1 45 03 fb                          .%...E..
0000003B  ff 25 08 00 d1 45 03 fb                          .%...E..
                                                                              00000008  ff 50 62 00 00 00 00 00  f4 58 f6 b8 4c 2e 00 00 .Pb..... .X..L...
                                                                              00000018  00 de c6 10 b0 bd c6 01  49 58 38 36 76 65 72 34 ........ IX86ver4
                                                                              00000028  2e 6d 70 71 00 41 3d 33  31 37 39 33 38 31 34 33 .mpq.A=3 17938143
                                                                              00000038  20 42 3d 36 38 36 39 39  32 31 37 32 20 43 3d 38  B=68699 2172 C=8
                                                                              00000048  38 38 31 30 37 38 32 20  34 20 41 3d 41 5e 53 20 8810782  4 A=A^S
                                                                              00000058  42 3d 42 2b 43 20 43 3d  43 2d 41 20 41 3d 41 2b B=B+C C= C-A A=A+
                                                                              00000068  42 00                                            B.
00000043  ff 51 6a 00 43 1a 27 56  01 00 0e 01 18 68 30 51 .Qj.C.'V .....h0Q
00000053  01 00 00 00 00 00 00 00  0d 00 00 00 01 00 00 00 ........ ........
00000063  a4 52 2e 00 00 00 00 00  70 ca 11 32 f0 e0 61 9d .R...... p..2..a.
00000073  33 b2 0a 34 8a d4 8b fd  6f cd ae 49 73 74 61 72 3..4.... o..Istar
00000083  63 72 61 66 74 2e 65 78  65 20 30 35 2f 31 30 2f craft.ex e 05/10/
00000093  30 36 20 30 30 3a 31 33  3a 35 38 20 31 32 31 36 06 00:13 :58 1216
000000A3  35 31 32 00 72 61 79 6c  75 00                  512.rayl u.
                                                                              0000006A  ff 51 09 00 00 00 00 00  00                      .Q...... .[/code]
August 22, 2006, 10:56 PM
HdxBmx27
IX86ver.dll.zip
Maby you can shed some light?
Only current game that is working for bots is D2 and D2XP.
DRTL/DSHR/W2BN arnt even working >.<
~-~(HDX)~-~
August 22, 2006, 11:00 PM
Jman
Yeah.. I noticed D2 is still working. Perhaps they are planning on doing some patch or resetting the ladder (as many people expect to happen soon)? It wouldn't make much sense that would be the reason but I dunno.
August 22, 2006, 11:04 PM
l2k-Shadow
Does anyone know how to correctly call the CheckRevision inside the ix86ver.dll?
August 22, 2006, 11:38 PM
Ringo
Hmm, i was tinkering with it ages ago, but cant seem to find the code, but i can remember that its called exacly the same as checkrevision.dll or bnetauth.dll's check revision function if that helps :p
I think i had problems with the value returned tho, probly because of vb6 data types :o
Iv uploaded the old and new ver1.dlls here, so hopfully somone can find out the differnce.

Im thinking its just the seed value thingy that each ver number has hardcoded, that have changed, because both files are exacly the same size.

Worrying thought tho, even if they are just testing somthing  :-\
August 23, 2006, 12:26 AM
l2k-Shadow
i tried calling it like bnetauth's call and it crashed so that's not the correct way :(
August 23, 2006, 12:39 AM
Ringo
With or with out the file name/number? :P
I think its like
String In -- File1
String In -- File2
String In -- File3
String In -- Formula
Long Out -- Ver
Long Out -- Checksum
String Out -- Exe info
And the file number would be for the IX86verX.mpq
August 23, 2006, 12:55 AM
l2k-Shadow
[quote author=Ringo link=topic=15572.msg157014#msg157014 date=1156294528]
With or with out the file name/number? :P
I think its like
String In -- File1
String In -- File2
String In -- File3
String In -- Formula
Long Out -- Ver
Long Out -- Checksum
String Out -- Exe info
And the file number would be for the IX86verX.mpq
[/quote]

[code]
Private Declare Function CR Lib "ix86ver0.dll" Alias "CheckRevision" (ByVal FileExe As String, ByVal FileStormDll As String, ByVal FileBnetDll As String, ByVal HashText As String, ByRef Version As Long, ByRef Checksum As Long, ByRef ExeInfo As String) As Long

Private Sub Form_Load()
Dim c&, ex$, v&, Files(2) As String, hash$, r&
    Files(0) = App.Path & "\STAR\starcraft.exe"
    Files(1) = App.Path & "\STAR\storm.dll"
    Files(2) = App.Path & "\STAR\battle.snp"
    hash = "A=189790454 B=107955712 C=107303329 4 A=A-S B=B+C C=C-A A=A-B"
    r = CR(Files(0), Files(1), Files(2), hash, v, c, ex)
    MsgBox Hex(c)
End Sub
[/code]

I tried including the last arguement too with the file number, no luck.
August 23, 2006, 1:01 AM
HdxBmx27
You guys do know that you have to patch the .dll so that it dosen't look for the game running...
~-~(HDX)~-~
August 23, 2006, 1:04 AM
l2k-Shadow
It crashes regardless.
August 23, 2006, 1:07 AM
Ringo
[quote author=l2k-Shadow link=topic=15572.msg157015#msg157015 date=1156294902]
[code]
Private Declare Function CR Lib "ix86ver0.dll" Alias "CheckRevision" (ByVal FileExe As String, ByVal FileStormDll As String, ByVal FileBnetDll As String, ByVal HashText As String, ByRef Version As Long, ByRef Checksum As Long, ByRef ExeInfo As String) As Long

Private Sub Form_Load()
Dim c&, ex$, v&, Files(2) As String, hash$, r&
    Files(0) = App.Path & "\STAR\starcraft.exe"
    Files(1) = App.Path & "\STAR\storm.dll"
    Files(2) = App.Path & "\STAR\battle.snp"
    hash = "A=189790454 B=107955712 C=107303329 4 A=A-S B=B+C C=C-A A=A-B"
    r = CR(Files(0), Files(1), Files(2), hash, v, c, ex)
    MsgBox Hex(c)
End Sub
[/code]

I tried including the last arguement too with the file number, no luck.
[/quote]
Ah, initialize the exe info buffer :)

[quote author=HdxBmx27 link=topic=15572.msg157016#msg157016 date=1156295095]
You guys do know that you have to patch the .dll so that it dosen't look for the game running...
~-~(HDX)~-~
[/quote]
Ah ha, could that explain why i always got a checksum back nothing like what SC was inserting into its packets?
Iv got a gut feeling all bots may have to support this soon :P
August 23, 2006, 1:13 AM
LoRd
[quote][18:13:29] Basic Battle.net Binary Bot v2.00 Beta Build: 339
[18:13:29] Copyright (C) 2005 Eric Evans
[18:13:31] Connecting to Battle.net game server...
[18:13:31] Connected to Battle.net game server; negotiating...
[18:13:31] IX86ver4.mpq requires an update; downloading...
[18:13:31] Successfully entered chat environment as: Euphoric[nK][/quote]

I knew that would come in handy sooner or later... it seems to just be the individual keys that were changed.  I must depart, but if when I return no one has discovered them, I'll check for them.
August 23, 2006, 1:14 AM
HdxBmx27
SC: Crev(0, A=997208940 B=47093520 C=970034789 4 A=A^S B=B^C C=C+A A=A-B) = 0xA8E5C798

JBLS: Crev(0, A=997208940 B=47093520 C=970034789 4 A=A^S B=B^C C=C+A A=A-B) = 0x388E2CEE

The've changed something. Looking more into it. Possibly jsut the seeds, I hope so.
Also this would mean we have to change the BNLS protocol to be told what server the bot is using, because East till uses the old files.
~-~(HDX)~-~
August 23, 2006, 1:30 AM
inner.
[quote author=Ringo link=topic=15572.msg157018#msg157018 date=1156295629]
Iv got a gut feeling all bots may have to support this soon :P
[/quote]

:) You bet it, that's what Battle.net is up to.
August 23, 2006, 1:35 AM
l2k-Shadow
[quote author=Ringo link=topic=15572.msg157018#msg157018 date=1156295629]
[quote author=l2k-Shadow link=topic=15572.msg157015#msg157015 date=1156294902]
[code]
Private Declare Function CR Lib "ix86ver0.dll" Alias "CheckRevision" (ByVal FileExe As String, ByVal FileStormDll As String, ByVal FileBnetDll As String, ByVal HashText As String, ByRef Version As Long, ByRef Checksum As Long, ByRef ExeInfo As String) As Long

Private Sub Form_Load()
Dim c&, ex$, v&, Files(2) As String, hash$, r&
    Files(0) = App.Path & "\STAR\starcraft.exe"
    Files(1) = App.Path & "\STAR\storm.dll"
    Files(2) = App.Path & "\STAR\battle.snp"
    hash = "A=189790454 B=107955712 C=107303329 4 A=A-S B=B+C C=C-A A=A-B"
    r = CR(Files(0), Files(1), Files(2), hash, v, c, ex)
    MsgBox Hex(c)
End Sub
[/code]

I tried including the last arguement too with the file number, no luck.
[/quote]
Ah, initialize the exe info buffer :)
[/quote]

lol i'm dumb thanks
August 23, 2006, 1:41 AM
l2k-Shadow
Ok so I finally got the dlls to work but it seems that every time I recompile the exe to use the .dll, the checksum changes even with the same .dll and hash string, just recompiled exe.. ideas?
August 23, 2006, 2:15 AM
HdxBmx27
http://jbls.org/CRev.txt
Thats the function it calls on the 3 files, the seed are the same.
That function is what changed I believe.
I'm not fluent in ASM anymore so, I'm not gona be able to covert it.
Also updated my zip to include both the old and new files.
http://jbls.org/downloads/IX86ver.dll.zip
~-~(HDX)~-~
August 23, 2006, 2:44 AM
Ringo
Hmm, iv picked up from where i left off, and all iv left to do, is to figger out how to handle the checksum long after the api is called. :(
[code]
CheckRevision.dll:
-660340068  (0xD8A4029C) 00111001010000000010010100011011
IX86Ver1.dll:
-254424875  (0xF0D5C8D5) 10101011000100111010101100001111
[/code]
Yet they should be exacly the same ::)
Im guessing this is some C#/C++ vs VB6 data type issue?
Im sure i remember reading a topic about this, ages and ages ago >_< any ideas anyone? :o
August 23, 2006, 5:03 AM
UserLoser
Ah, good old UserBot uses the Battle.net server set version file for authentication.  I am unable to verify whether this is completly true because it doesn't seem to make much sense that it's only for non-D2 products, but either way my old old bot downloaded it and executes CheckRevision totally fine:

[color=#FFFFFF][00:40:30] [/color][color=#808080]Connecting to useast.battle.net...
[/color][color=#FFFFFF][00:40:30] [/color][color=#00FF00]Connected to Battle.net!
[/color][color=#FFFFFF][00:40:30] [/color][color=#808080]Requesting file IX86ver7.mpq from useast.battle.net...
[/color][color=#FFFFFF][00:40:30] [/color][color=#00FF00]Downloading file IX86ver7.mpq (length: 6,876 bytes)...
[/color][color=#FFFFFF][00:40:30] [/color][color=#00FF00]Successfully downloaded IX86ver7.mpq in .11 seconds @ 61.6kb/s!
[/color][color=#FFFFFF][00:40:30] [/color][color=#808080]Checking versions and Cd-Key...
[/color][color=#FFFFFF][00:40:31] [/color][color=#00FF00]Passed version and Cd-Key check!
[/color][color=#FFFFFF][00:40:31] [/color][color=#808080]Attempting to log on...
[/color][color=#FFFFFF][00:40:31] [/color][color=#00FF00]Successfully logged on![/color]

Note this client was also written in VB. :P
August 23, 2006, 5:42 AM
Ringo
[quote author=UserLoser link=topic=15572.msg157035#msg157035 date=1156311758]
Ah, good old UserBot uses the Battle.net server set version file for authentication.  I am unable to verify whether this is completly true because it doesn't seem to make much sense that it's only for non-D2 products, but either way my old old bot downloaded it and executes CheckRevision totally fine:

[color=#FFFFFF][00:40:30] [/color][color=#808080]Connecting to useast.battle.net...
[/color][color=#FFFFFF][00:40:30] [/color][color=#00FF00]Connected to Battle.net!
[/color][color=#FFFFFF][00:40:30] [/color][color=#808080]Requesting file IX86ver7.mpq from useast.battle.net...
[/color][color=#FFFFFF][00:40:30] [/color][color=#00FF00]Downloading file IX86ver7.mpq (length: 6,876 bytes)...
[/color][color=#FFFFFF][00:40:30] [/color][color=#00FF00]Successfully downloaded IX86ver7.mpq in .11 seconds @ 61.6kb/s!
[/color][color=#FFFFFF][00:40:30] [/color][color=#808080]Checking versions and Cd-Key...
[/color][color=#FFFFFF][00:40:31] [/color][color=#00FF00]Passed version and Cd-Key check!
[/color][color=#FFFFFF][00:40:31] [/color][color=#808080]Attempting to log on...
[/color][color=#FFFFFF][00:40:31] [/color][color=#00FF00]Successfully logged on![/color]

Note this client was also written in VB. :P
[/quote]
Right, but care to explain why when i call it like any other, everything is fine, apart from the checksum? I figger its not a signed vs unsigned problem.
August 23, 2006, 5:49 AM
Twix
[quote author=UserLoser link=topic=15572.msg157035#msg157035 date=1156311758]
Ah, good old UserBot uses the Battle.net server set version file for authentication.  I am unable to verify whether this is completly true because it doesn't seem to make much sense that it's only for non-D2 products, but either way my old old bot downloaded it and executes CheckRevision totally fine:

[color=#FFFFFF][00:40:30] [/color][color=#808080]Connecting to useast.battle.net...
[/color][color=#FFFFFF][00:40:30] [/color][color=#00FF00]Connected to Battle.net!
[/color][color=#FFFFFF][00:40:30] [/color][color=#808080]Requesting file IX86ver7.mpq from useast.battle.net...
[/color][color=#FFFFFF][00:40:30] [/color][color=#00FF00]Downloading file IX86ver7.mpq (length: 6,876 bytes)...
[/color][color=#FFFFFF][00:40:30] [/color][color=#00FF00]Successfully downloaded IX86ver7.mpq in .11 seconds @ 61.6kb/s!
[/color][color=#FFFFFF][00:40:30] [/color][color=#808080]Checking versions and Cd-Key...
[/color][color=#FFFFFF][00:40:31] [/color][color=#00FF00]Passed version and Cd-Key check!
[/color][color=#FFFFFF][00:40:31] [/color][color=#808080]Attempting to log on...
[/color][color=#FFFFFF][00:40:31] [/color][color=#00FF00]Successfully logged on![/color]

Note this client was also written in VB. :P
[/quote]
Also useast has not been updated yet trying going on west and see if it works.
August 23, 2006, 5:53 AM
UserLoser
[quote author=Ringo link=topic=15572.msg157036#msg157036 date=1156312197]
[quote author=UserLoser link=topic=15572.msg157035#msg157035 date=1156311758]
Ah, good old UserBot uses the Battle.net server set version file for authentication.  I am unable to verify whether this is completly true because it doesn't seem to make much sense that it's only for non-D2 products, but either way my old old bot downloaded it and executes CheckRevision totally fine:

[color=#FFFFFF][00:40:30] [/color][color=#808080]Connecting to useast.battle.net...
[/color][color=#FFFFFF][00:40:30] [/color][color=#00FF00]Connected to Battle.net!
[/color][color=#FFFFFF][00:40:30] [/color][color=#808080]Requesting file IX86ver7.mpq from useast.battle.net...
[/color][color=#FFFFFF][00:40:30] [/color][color=#00FF00]Downloading file IX86ver7.mpq (length: 6,876 bytes)...
[/color][color=#FFFFFF][00:40:30] [/color][color=#00FF00]Successfully downloaded IX86ver7.mpq in .11 seconds @ 61.6kb/s!
[/color][color=#FFFFFF][00:40:30] [/color][color=#808080]Checking versions and Cd-Key...
[/color][color=#FFFFFF][00:40:31] [/color][color=#00FF00]Passed version and Cd-Key check!
[/color][color=#FFFFFF][00:40:31] [/color][color=#808080]Attempting to log on...
[/color][color=#FFFFFF][00:40:31] [/color][color=#00FF00]Successfully logged on![/color]

Note this client was also written in VB. :P
[/quote]
Right, but care to explain why when i call it like any other, everything is fine, apart from the checksum? I figger its not a signed vs unsigned problem.
[/quote]

Not a signed vs unsigned problem, BNLS doesn't work...but it's currently being investigated.  As far as what's different I do not know yet.  I will keep you updated when I find out details.
August 23, 2006, 6:08 AM
Ringo
[quote author=UserLoser link=topic=15572.msg157038#msg157038 date=1156313285]
Not a signed vs unsigned problem, BNLS doesn't work...but it's currently being investigated.  As far as what's different I do not know yet.  I will keep you updated when I find out details.
[/quote]
Ok :) but BNLS is not in my IX86ver1.mpq atm (at least i dont think so!)
This problem is why i never finished it yonks ago, but when i extract the dll from the mpq, call checkrevision, everything works perfectly apart from the checksum.
What im asking is, did you have this problem, if so how did you overcome it?
I have a faint memory of reading a topic about this exact thing, and it being somthing do do with C++ and VB6 data types (altho it was so long ago now, i might have been reading somthing totaly differnt)
Im useing checkrevision.dll vs the old IX86Ver1.mpq and calling them both like any other API.

Ideas?
August 23, 2006, 6:15 AM
UserLoser
[quote author=Ringo link=topic=15572.msg157039#msg157039 date=1156313726]
[quote author=UserLoser link=topic=15572.msg157038#msg157038 date=1156313285]
Not a signed vs unsigned problem, BNLS doesn't work...but it's currently being investigated.  As far as what's different I do not know yet.  I will keep you updated when I find out details.
[/quote]
Ok :) but BNLS is not in my IX86ver1.mpq atm (at least i dont think so!)
This problem is why i never finished it yonks ago, but when i extract the dll from the mpq, call checkrevision, everything works perfectly apart from the checksum.
What im asking is, did you have this problem, if so how did you overcome it?
I have a faint memory of reading a topic about this exact thing, and it being somthing do do with C++ and VB6 data types (altho it was so long ago now, i might have been reading somthing totaly differnt)
Im useing checkrevision.dll vs the old IX86Ver1.mpq and calling them both like any other API.

Ideas?
[/quote]

It's been quite a while, but IIRC, IX86ver?.dll doesn't actually care about your game executable file handle.  Instead of doing GetModuleHandle("Starcraft.exe") it'll do GetModuleHandle(NULL) to get the handle of the parent, as you could say.  Since YourBot.exe would call CheckRevision in IX86ver?.dll, it'll do GetModuleHandle(NULL) returning the handle of YourBot.exe in memory, then performing the checksum functions on that.  This is why directly calling CheckRevision in IX86ver?.dll will not work.  You will need to create a workaround to patch it, use something like VirtualProtect and this could be accomplished.
August 23, 2006, 6:30 AM
Skywing
Updated support for BNLS to comply with the new version checking mechanism has been deployed and is now available for use.

Because the old and the new mechanisms are incompatible, Battle.net servers that have not yet been updated to work with the new binaries will fail version checks until the Blizzard operations team completes their maintenance cycle.
August 23, 2006, 7:15 AM
Ringo
[quote author=UserLoser link=topic=15572.msg157040#msg157040 date=1156314621]
It's been quite a while, but IIRC, IX86ver?.dll doesn't actually care about your game executable file handle.  Instead of doing GetModuleHandle("Starcraft.exe") it'll do GetModuleHandle(NULL) to get the handle of the parent, as you could say.  Since YourBot.exe would call CheckRevision in IX86ver?.dll, it'll do GetModuleHandle(NULL) returning the handle of YourBot.exe in memory, then performing the checksum functions on that.  This is why directly calling CheckRevision in IX86ver?.dll will not work.  You will need to create a workaround to patch it, use something like VirtualProtect and this could be accomplished.
[/quote]
Ah, thanks. *wishs he knew asm* :(
Iv read up abit about the VirtualProtect() api, and im understanding whats involed, but what would be the best way to work round this?
Im guessing to overwrite the code to just copy the handle to the exe file into the variable, rather than letting it obtain a handle to the parent?
August 23, 2006, 7:18 AM
HdxBmx27
[quote author=Skywing link=topic=15572.msg157045#msg157045 date=1156317334]
Updated support for BNLS to comply with the new version checking mechanism has been deployed and is now available for use.

Because the old and the new mechanisms are incompatible, Battle.net servers that have not yet been updated to work with the new binaries will fail version checks until the Blizzard operations team completes their maintenance cycle.
[/quote]
<3 you man.
As you all know I run JBLS, and It of corse hasn't been updated yet.
So if you wish you use BNLS, on a server that is not been updated yet.
Use JBLS.org as a BNLS server.
And you will be able to pass Check Revision jsut fine.
I'm working on updating JBLS as I post this. But I will refrain from updating my server untill ass of Bnet has been updated.
So that your users will still be able to login via BNLS.
~-~(HDX)~-~
August 23, 2006, 7:25 AM
Myndfyr
MBNCSUtil has been updated for this change.
August 23, 2006, 10:31 AM
HdxBmx27
Maby its jsut cuz its 4AM
But I can't seem to get it working >.<
[url]http://jbls.org/CheckRevision.java[/url]
Any pointers.
I'll come back to it in the morning after some well needed sleep.
Btw <3 Skywing/Myndfry.
~-~(HDX)~-~
August 23, 2006, 11:00 AM
JoeTheOdd
Dearest Ringo: Check your build number. I bet you anything it's changing, and altering the checksum.

EDIT -
Oh, I thought you were recompiling your bot. My bad.


If anyone would release a C++/Java snippet for opening MoPaQ files, that'd be really cool! I could port it to C# for possible inclusion in MBNCSUtil, if MyndFyre wills.
August 23, 2006, 2:20 PM
inner.
Anyone know where yobguls is? I need him to update bnetauth.dll for me ;)

I hardly doubt he even still has the source to it.
August 23, 2006, 5:59 PM
Myndfyr
[quote author=Joe[x86] link=topic=15572.msg157060#msg157060 date=1156342822]
Dearest Ringo: Check your build number. I bet you anything it's changing, and altering the checksum.

EDIT -
Oh, I thought you were recompiling your bot. My bad.


If anyone would release a C++/Java snippet for opening MoPaQ files, that'd be really cool! I could port it to C# for possible inclusion in MBNCSUtil, if MyndFyre wills.
[/quote]
I already have C# for MPQ files, Joe.  It's just a matter of incorporating it into MBNCSUtil.  I didn't put it in this release because it was a maintenance release.
August 23, 2006, 6:32 PM
UserLoser
[quote author=inner.de link=topic=15572.msg157064#msg157064 date=1156355970]
Anyone know where yobguls is? I need him to update bnetauth.dll for me ;)

I hardly doubt he even still has the source to it.
[/quote]

About time for that library to become useless and let people move on to much better things!
August 23, 2006, 7:13 PM
inner.
IIRC, Binary is making BNRHS with BNCSUtil atm.
August 23, 2006, 7:18 PM
JoeTheOdd
Could you PM me a link, Myndy?
August 23, 2006, 7:58 PM
Myndfyr
[quote author=Joe[x86] link=topic=15572.msg157073#msg157073 date=1156363090]
Could you PM me a link, Myndy?
[/quote]
You already have stuff for it.  Reference JinxBot.WoW.dll (rename .dll.jbp to just .dll), and check out the JinxBot.WoW.Data.Mpq namespace.  Classes of interest are MpqArchive and MpqFileStream.
August 23, 2006, 8:13 PM
UserLoser
[quote author=Ringo link=topic=15572.msg157046#msg157046 date=1156317507]
[quote author=UserLoser link=topic=15572.msg157040#msg157040 date=1156314621]
It's been quite a while, but IIRC, IX86ver?.dll doesn't actually care about your game executable file handle.  Instead of doing GetModuleHandle("Starcraft.exe") it'll do GetModuleHandle(NULL) to get the handle of the parent, as you could say.  Since YourBot.exe would call CheckRevision in IX86ver?.dll, it'll do GetModuleHandle(NULL) returning the handle of YourBot.exe in memory, then performing the checksum functions on that.  This is why directly calling CheckRevision in IX86ver?.dll will not work.  You will need to create a workaround to patch it, use something like VirtualProtect and this could be accomplished.
[/quote]
Ah, thanks. *wishs he knew asm* :(
Iv read up abit about the VirtualProtect() api, and im understanding whats involed, but what would be the best way to work round this?
Im guessing to overwrite the code to just copy the handle to the exe file into the variable, rather than letting it obtain a handle to the parent?
[/quote]

Right.  Replace the call to GetModuleHandle(NULL) to a function stub that you made to properly return the correct value
August 23, 2006, 10:10 PM
JoeTheOdd
Now to get my hands on a copy of ix86ver0.mpq!
August 23, 2006, 10:23 PM
iago
FYI, hdx's problem is resolved.  His test data was screwed up, his code worked all along.  Will you all join me in a laugh? :)
August 24, 2006, 2:41 AM
Topaz
So, uh... what would need to be done to work around this?
August 24, 2006, 2:48 AM
HdxBmx27
[quote author=iago link=topic=15572.msg157097#msg157097 date=1156387302]
FYI, hdx's problem is resolved.  His test data was screwed up, his code worked all along.  Will you all join me in a laugh? :)
[/quote]
I sent it + the packet log to 4 people.
The only one smart enuf to double check it was Mynd.
Yes everyone laugh at me.
JBLS.org is now updated to reflect the new CRev fucntion.

I am sorry for waisint gall your guy's time. But as you know, I do not have an eye for the details -.-

@Topaz:
The work around, Use BNLS/JBLS.
Or update BNCSutil.dll yourself.
~-~(HDX)~-~
August 24, 2006, 3:05 AM
Newby
People still actively develop for Battle.net? Crazy!
August 24, 2006, 3:13 AM
inner.
Anyone up for editing bnetauth.dll? I have the source.
August 24, 2006, 3:26 AM
l2k-Shadow
edit BNCSUtil if anything
August 24, 2006, 3:45 AM
Topaz
[quote]@Topaz:
The work around, Use BNLS/JBLS.
Or update BNCSutil.dll yourself.[/quote]

That's not a workaround, that's an alternative.
August 24, 2006, 4:25 AM
inner.
Why won't shadypalm update it himself?
August 24, 2006, 5:05 AM
Ringo
[quote author=UserLoser link=topic=15572.msg157078#msg157078 date=1156371012]
[quote author=Ringo link=topic=15572.msg157046#msg157046 date=1156317507]
[quote author=UserLoser link=topic=15572.msg157040#msg157040 date=1156314621]
It's been quite a while, but IIRC, IX86ver?.dll doesn't actually care about your game executable file handle.  Instead of doing GetModuleHandle("Starcraft.exe") it'll do GetModuleHandle(NULL) to get the handle of the parent, as you could say.  Since YourBot.exe would call CheckRevision in IX86ver?.dll, it'll do GetModuleHandle(NULL) returning the handle of YourBot.exe in memory, then performing the checksum functions on that.  This is why directly calling CheckRevision in IX86ver?.dll will not work.  You will need to create a workaround to patch it, use something like VirtualProtect and this could be accomplished.
[/quote]
Ah, thanks. *wishs he knew asm* :(
Iv read up abit about the VirtualProtect() api, and im understanding whats involed, but what would be the best way to work round this?
Im guessing to overwrite the code to just copy the handle to the exe file into the variable, rather than letting it obtain a handle to the parent?
[/quote]

Right.  Replace the call to GetModuleHandle(NULL) to a function stub that you made to properly return the correct value
[/quote]
Ah, thanks, i have alot of home work to do on this, and you have been most helpfull :) t4t.

Aside, what do blizzard benefit by implementing a differnt check revision? is it faster/designed for bigger binarys?
Iv been suspecting for awhile that all this activity on blizzards behalf is for a new client introduction to battle.net servers (D3?). Does the new checkrevision fit this theory?
August 24, 2006, 6:09 AM
HdxBmx27
Rhingo I think you're grasping at straws.
Anyways, I am making a work around for local hashing as I type this.
More info later.
~-~(HDX)~-~
August 24, 2006, 6:20 AM
HeRo
[quote author=inner.de link=topic=15572.msg157106#msg157106 date=1156395902]
Why won't shadypalm update it himself?
[/quote]
Read;
[quote author=shadypalm88 link=topic=15088.msg153404#msg153404 date=1148945853]
I don't intend to further maintain or update the library.
[/quote]
August 24, 2006, 6:36 AM
MyStiCaL

  Well, I'm sure Eric will be nice enough to atleast update the dll just for this, its not that much of a huge change, and it would be better then someone that you can't really trust to update the dll and release it public..


  soo come on eric help the community out one last time! =)

  If not, welp, i guess imma need to find the source again :|


EDIT: is it just me or does ringo's lil image really lagg up the screen lol
August 24, 2006, 7:21 AM
HdxBmx27
Well here is my work around.
I made a program that will patch the version files so that they work.
http://jbls.org/Downloads/Padder.exe
Pretty stright forward, put the path to the file in the box and hit padd.

It can also be batch executed, from the command line, here are come examples:
[code]padder c:\star\starcraft.exe
padder c:\star\starcraft.exe c:\star\storm.dll c:\star\battle.snp
padder ./d2dv/bnclient.dll ./d2dv/d2client.dll ./d2dv/game.exe[/code]
It *seems* to work with all clients but wc3 for some reason.
I would host the working hashes for you guys, but blizz sent me a DMCA yesterday -.-

When issueing form the command line, the files are split up by spaces, so if you have a space in the path, you need to type it in manually in the form

Hey this is the quickest thing I could pull out my bumm sorry.


Also, I got Skull to upload them for me <3 skull so here you go:
W2BN
STAR
D2DV
D2XP

Once again the only ones that arnt working are WC3. I'll look at it in the mornin.
~-~(HDX)~-~
August 24, 2006, 7:37 AM
Myndfyr
[quote author=Ringo link=topic=15572.msg157110#msg157110 date=1156399794]
Aside, what do blizzard benefit by implementing a differnt check revision? is it faster/designed for bigger binarys?
Iv been suspecting for awhile that all this activity on blizzards behalf is for a new client introduction to battle.net servers (D3?). Does the new checkrevision fit this theory?
[/quote]
It prevents valid version checks from being produced when the file has been tampered with.  For instance, if a file's length is 4 modulo 1024, you can screw with 1019 bytes at the end of the file and still come up with a valid version check.  This is no longer the case.
August 24, 2006, 11:01 AM
Skywing
[quote author=HdxBmx27 link=topic=15572.msg157117#msg157117 date=1156405024]
Well here is my work around.
I made a program that will patch the version files so that they work.
http://jbls.org/Downloads/Padder.exe
Pretty stright forward, put the path to the file in the box and hit padd.

It can also be batch executed, from the command line, here are come examples:
[code]padder c:\star\starcraft.exe
padder c:\star\starcraft.exe c:\star\storm.dll c:\star\battle.snp
padder ./d2dv/bnclient.dll ./d2dv/d2client.dll ./d2dv/game.exe[/code]
It *seems* to work with all clients but wc3 for some reason.
I would host the working hashes for you guys, but blizz sent me a DMCA yesterday -.-

When issueing form the command line, the files are split up by spaces, so if you have a space in the path, you need to type it in manually in the form

Hey this is the quickest thing I could pull out my bumm sorry.


Also, I got Skull to upload them for me <3 skull so here you go:
W2BN
STAR
D2DV
D2XP

Once again the only ones that arnt working are WC3. I'll look at it in the mornin.
~-~(HDX)~-~
[/quote]

It doesn't work for Warcraft III because War3.exe requires padding, and after padding it you are sending the wrong filesize in the exeinfo string.
August 24, 2006, 3:40 PM
ShaDoWDeM
hmm quite along time since ive seen that name :)

Sky, what are you like 18 or 19 now?
because last time when I was on bnet you were like 14
August 24, 2006, 6:31 PM
HdxBmx27
[quote author=Skywing link=topic=15572.msg157129#msg157129 date=1156434055]
It doesn't work for Warcraft III because War3.exe requires padding, and after padding it you are sending the wrong filesize in the exeinfo string.
[/quote]
Thanks for pointing that out, I looked at it this mornin before I get on the forum.
War3.exe is the only exe that needed to be patched.
So it seems that you are correct, again -.-
This was just a work around to get inner to shutup and stop messaging me to fix bnetauth for him.
~-~(HDX)~-~
August 24, 2006, 6:37 PM
inner.
[quote author=HdxBmx27 link=topic=15572.msg157137#msg157137 date=1156444674]
This was just a work around to get inner to shutup and stop messaging me to fix bnetauth for him.
~-~(HDX)~-~
[/quote]
Someone's gotta do it that knows C/C++.
August 24, 2006, 6:49 PM
Yegg
[quote author=inner.de link=topic=15572.msg157138#msg157138 date=1156445373]
[quote author=HdxBmx27 link=topic=15572.msg157137#msg157137 date=1156444674]
This was just a work around to get inner to shutup and stop messaging me to fix bnetauth for him.
~-~(HDX)~-~
[/quote]
Someone's gotta do it that knows C/C++.
[/quote]

Which is why you should learn C/C++. You should never become dependent on others like that.
August 24, 2006, 7:32 PM
BaDaSs
I chatted with Eric yesterday about updating BNCSutil, and after a few moments of pleading, he agreed to make BNCSutil 1.2.1 (or 1.3?)
I wouldn't expect it too soon as he doesn't really give a shit ;-p
August 24, 2006, 8:49 PM
Skywing
[quote author=Shad0w link=topic=15572.msg157136#msg157136 date=1156444262]
hmm quite along time since ive seen that name :)

Sky, what are you like 18 or 19 now?
because last time when I was on bnet you were like 14
[/quote]

More like 21.  I think you're off a bit on your count of years there.
August 24, 2006, 9:07 PM
shadypalm88
I'll just pop in to say that I will be showing my baby one last bit of love and updating it for this new bit of cleverness from Blizzard.  Probably today, as a matter of fact.
August 24, 2006, 9:30 PM
MyStiCaL
[quote author=Skywing link=topic=15572.msg157148#msg157148 date=1156453629]
[quote author=Shad0w link=topic=15572.msg157136#msg157136 date=1156444262]
hmm quite along time since ive seen that name :)

Sky, what are you like 18 or 19 now?
because last time when I was on bnet you were like 14
[/quote]

More like 21.  I think you're off a bit on your count of years there.
[/quote]


Being 21 wasn't all i thought it would be.. do everything now that i did before. :|

btw, thanks Eric!
August 24, 2006, 9:34 PM
shadypalm88
[quote author=MyStiCaL link=topic=15572.msg157150#msg157150 date=1156455274]
btw, thanks Eric!
[/quote]Aww, you're welcome.

I am posting this link here so that I don't lose it again; without it I can't build GMP on Windows, rendering BNCSutil mostly useless.
GMP and MPFR for Visual Studio 2005
August 24, 2006, 9:52 PM
Jman
Thanks for adding new version to site!
August 24, 2006, 11:27 PM
iago
[quote author=shadypalm88 link=topic=15572.msg157149#msg157149 date=1156455037]
I'll just pop in to say that I will be showing my baby one last bit of love and updating it for this new bit of cleverness from Blizzard.  Probably today, as a matter of fact.
[/quote]
If you'd like, I can help maintain it for you.  After all, a lot of it is based on my code.  Plus, it's not like there's much that needs to be done.  If you ever need me to do anything, just send me an email. 
August 24, 2006, 11:33 PM

Search