Author | Message | Time |
---|---|---|
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 |