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
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.
StealthBot connecting:
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...... .
The official client connecting:
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...... .
IX86ver.dll.zip (http://jbls.org/Downloads/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)~-~
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.
Does anyone know how to correctly call the CheckRevision inside the ix86ver.dll?
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 (http://www.geocities.com/ringomail712/IX86ver1.dll.zip), 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 :-\
i tried calling it like bnetauth's call and it crashed so that's not the correct way :(
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 from: Ringo on August 22, 2006, 07:55 PM
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
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
I tried including the last arguement too with the file number, no luck.
You guys do know that you have to patch the .dll so that it dosen't look for the game running...
~-~(HDX)~-~
It crashes regardless.
Quote from: l2k-Shadow on August 22, 2006, 08:01 PM
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
I tried including the last arguement too with the file number, no luck.
Ah, initialize the exe info buffer :)
Quote from: HdxBmx27 on August 22, 2006, 08:04 PM
You guys do know that you have to patch the .dll so that it dosen't look for the game running...
~-~(HDX)~-~
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
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]
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.
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)~-~
Quote from: Ringo on August 22, 2006, 08:13 PM
Iv got a gut feeling all bots may have to support this soon :P
:) You bet it, that's what Battle.net is up to.
Quote from: Ringo on August 22, 2006, 08:13 PM
Quote from: l2k-Shadow on August 22, 2006, 08:01 PM
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
I tried including the last arguement too with the file number, no luck.
Ah, initialize the exe info buffer :)
lol i'm dumb thanks
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?
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)~-~
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. :(
CheckRevision.dll:
-660340068 (0xD8A4029C) 00111001010000000010010100011011
IX86Ver1.dll:
-254424875 (0xF0D5C8D5) 10101011000100111010101100001111
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
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:
[00:40:30] Connecting to useast.battle.net...
[00:40:30] Connected to Battle.net!
[00:40:30] Requesting file IX86ver7.mpq from useast.battle.net...
[00:40:30] Downloading file IX86ver7.mpq (length: 6,876 bytes)...
[00:40:30] Successfully downloaded IX86ver7.mpq in .11 seconds @ 61.6kb/s!
[00:40:30] Checking versions and Cd-Key...
[00:40:31] Passed version and Cd-Key check!
[00:40:31] Attempting to log on...
[00:40:31] Successfully logged on!
Note this client was also written in VB. :P
Quote from: UserLoser on August 23, 2006, 12:42 AM
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:
[00:40:30] Connecting to useast.battle.net...
[00:40:30] Connected to Battle.net!
[00:40:30] Requesting file IX86ver7.mpq from useast.battle.net...
[00:40:30] Downloading file IX86ver7.mpq (length: 6,876 bytes)...
[00:40:30] Successfully downloaded IX86ver7.mpq in .11 seconds @ 61.6kb/s!
[00:40:30] Checking versions and Cd-Key...
[00:40:31] Passed version and Cd-Key check!
[00:40:31] Attempting to log on...
[00:40:31] Successfully logged on!
Note this client was also written in VB. :P
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 from: UserLoser on August 23, 2006, 12:42 AM
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:
[00:40:30] Connecting to useast.battle.net...
[00:40:30] Connected to Battle.net!
[00:40:30] Requesting file IX86ver7.mpq from useast.battle.net...
[00:40:30] Downloading file IX86ver7.mpq (length: 6,876 bytes)...
[00:40:30] Successfully downloaded IX86ver7.mpq in .11 seconds @ 61.6kb/s!
[00:40:30] Checking versions and Cd-Key...
[00:40:31] Passed version and Cd-Key check!
[00:40:31] Attempting to log on...
[00:40:31] Successfully logged on!
Note this client was also written in VB. :P
Also useast has not been updated yet trying going on west and see if it works.
Quote from: Ringo on August 23, 2006, 12:49 AM
Quote from: UserLoser on August 23, 2006, 12:42 AM
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:
[00:40:30] Connecting to useast.battle.net...
[00:40:30] Connected to Battle.net!
[00:40:30] Requesting file IX86ver7.mpq from useast.battle.net...
[00:40:30] Downloading file IX86ver7.mpq (length: 6,876 bytes)...
[00:40:30] Successfully downloaded IX86ver7.mpq in .11 seconds @ 61.6kb/s!
[00:40:30] Checking versions and Cd-Key...
[00:40:31] Passed version and Cd-Key check!
[00:40:31] Attempting to log on...
[00:40:31] Successfully logged on!
Note this client was also written in VB. :P
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.
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 from: UserLoser on August 23, 2006, 01:08 AM
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.
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 from: Ringo on August 23, 2006, 01:15 AM
Quote from: UserLoser on August 23, 2006, 01:08 AM
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.
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?
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.
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 from: UserLoser on August 23, 2006, 01:30 AM
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.
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 from: Skywing on August 23, 2006, 02:15 AM
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.
<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)~-~
MBNCSUtil (http://forum.valhallalegends.com/index.php?topic=15575.0) has been updated for this change.
Maby its jsut cuz its 4AM
But I can't seem to get it working >.<
http://jbls.org/CheckRevision.java
Any pointers.
I'll come back to it in the morning after some well needed sleep.
Btw <3 Skywing/Myndfry.
~-~(HDX)~-~
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.
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 from: Joex86] 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.
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.
Quote from: inner.de on August 23, 2006, 12:59 PM
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.
About time for that library to become useless and let people move on to much better things!
IIRC, Binary is making BNRHS with BNCSUtil atm.
Could you PM me a link, Myndy?
Quote from: Joex86] link=topic=15572.msg157073#msg157073 date=1156363090]
Could you PM me a link, Myndy?
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.
Quote from: Ringo on August 23, 2006, 02:18 AM
Quote from: UserLoser on August 23, 2006, 01:30 AM
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.
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?
Right. Replace the call to GetModuleHandle(NULL) to a function stub that you made to properly return the correct value
Now to get my hands on a copy of ix86ver0.mpq!
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? :)
So, uh... what would need to be done to work around this?
Quote from: iago on August 23, 2006, 09:41 PM
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? :)
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)~-~
People still actively develop for Battle.net? Crazy!
Anyone up for editing bnetauth.dll? I have the source.
edit BNCSUtil if anything
Quote@Topaz:
The work around, Use BNLS/JBLS.
Or update BNCSutil.dll yourself.
That's not a workaround, that's an alternative.
Why won't shadypalm update it himself?
Quote from: UserLoser on August 23, 2006, 05:10 PM
Quote from: Ringo on August 23, 2006, 02:18 AM
Quote from: UserLoser on August 23, 2006, 01:30 AM
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.
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?
Right. Replace the call to GetModuleHandle(NULL) to a function stub that you made to properly return the correct value
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?
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)~-~
Quote from: inner.de on August 24, 2006, 12:05 AM
Why won't shadypalm update it himself?
Read;
Quote from: shadypalm88 on May 29, 2006, 06:37 PM
I don't intend to further maintain or update the library.
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
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:
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
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 (http://skull.newrelic.net/downloads/uploads/W2BN.zip)
STAR (http://skull.newrelic.net/downloads/uploads/STAR.zip)
D2DV (http://skull.newrelic.net/downloads/uploads/D2DV.zip)
D2XP (http://skull.newrelic.net/downloads/uploads/D2XP.zip)
Once again the only ones that arnt working are WC3. I'll look at it in the mornin.
~-~(HDX)~-~
Quote from: Ringo on August 24, 2006, 01:09 AM
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?
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.
Quote from: HdxBmx27 on August 24, 2006, 02:37 AM
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:
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
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 (http://skull.newrelic.net/downloads/uploads/W2BN.zip)
STAR (http://skull.newrelic.net/downloads/uploads/STAR.zip)
D2DV (http://skull.newrelic.net/downloads/uploads/D2DV.zip)
D2XP (http://skull.newrelic.net/downloads/uploads/D2XP.zip)
Once again the only ones that arnt working are WC3. I'll look at it in the mornin.
~-~(HDX)~-~
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.
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 from: Skywing on August 24, 2006, 10:40 AM
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.
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)~-~
Quote from: HdxBmx27 on August 24, 2006, 01:37 PM
This was just a work around to get inner to shutup and stop messaging me to fix bnetauth for him.
~-~(HDX)~-~
Someone's gotta do it that knows C/C++.
Quote from: inner.de on August 24, 2006, 01:49 PM
Quote from: HdxBmx27 on August 24, 2006, 01:37 PM
This was just a work around to get inner to shutup and stop messaging me to fix bnetauth for him.
~-~(HDX)~-~
Someone's gotta do it that knows C/C++.
Which is why you should learn C/C++. You should never become dependent on others like that.
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
Quote from: Shad0w on August 24, 2006, 01:31 PM
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
More like 21. I think you're off a bit on your count of years there.
I'll just pop in to say that I will be showing my baby (http://bncsutil.ionws.com/new/) one last bit of love and updating it for this new bit of cleverness from Blizzard. Probably today, as a matter of fact.
Quote from: Skywing on August 24, 2006, 04:07 PM
Quote from: Shad0w on August 24, 2006, 01:31 PM
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
More like 21. I think you're off a bit on your count of years there.
Being 21 wasn't all i thought it would be.. do everything now that i did before. :|
btw, thanks Eric!
Quote from: MyStiCaL on August 24, 2006, 04:34 PM
btw, thanks Eric!
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 (http://fp.gladman.plus.com/computing/gmp4win.htm)
Thanks for adding new version to site!
Quote from: shadypalm88 on August 24, 2006, 04:30 PM
I'll just pop in to say that I will be showing my baby (http://bncsutil.ionws.com/new/) one last bit of love and updating it for this new bit of cleverness from Blizzard. Probably today, as a matter of fact.
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.