• Welcome to Valhalla Legends Archive.
 

Check Revision Failed

Started by Yegg, October 26, 2004, 06:00 PM

Previous topic - Next topic

LivedKrad

Quotepbuffer.InsertDWORD "&H" & "C7"

If I'm not mistaken, the above does the following:
1. Creates a DWORD value from given data.
2. Suggests that the data given is a string.

Would this code not ultimately send "&HC7" and not &HC7? Please, correct me if I'm wrong.

Warrior

You are correct you dont send it in quotes I also dont see the point in sending "&H"&"C7" (which is the wrong Version Byte btw) Id do


PBuffer.InsertDWORD &HC9
Quote from: effect on March 09, 2006, 11:52 PM
Islam is a steaming pile of fucking dog shit. Everything about it is flawed, anybody who believes in it is a terrorist, if you disagree with me, then im sorry your wrong.

Quote from: Rule on May 07, 2006, 01:30 PM
Why don't you stop being American and start acting like a decent human?

EviL_MarinE

Why not just put


pbuffer.InsertDWORD "&HC9"


Try that and maybe it'll work (sum1 correct me if im wrong plz)


Warrior

Read at my post you wont be sending a verbyte more like a string to Battle.net by putting quotes around it .
Quote from: effect on March 09, 2006, 11:52 PM
Islam is a steaming pile of fucking dog shit. Everything about it is flawed, anybody who believes in it is a terrorist, if you disagree with me, then im sorry your wrong.

Quote from: Rule on May 07, 2006, 01:30 PM
Why don't you stop being American and start acting like a decent human?

LivedKrad

Let's take a look for a second at what we're actually sending here, a verbyte. The short-hand verbyte stands for Version Byte. So, it would seem the data type we're dealing with here is a Byte. We're sending 1 small piece of data inside the packet to identify the client's version. If we were to send it as a string, I believe the DWORD function would create something that is around ?16? bytes long? This is obviously 15 bytes over the size of the supposed "verbyte". Does that clear things up?

Yegg

#20
Ok i know have:

pbuffer.InsertDWORD &HC9

and i still get the chech revision error, so im assuming that this isn't the problem ne more. mayb the bot is trying to get the wrong verByte somewhere else? For instance, the code in my TCPConnection.cls contains:

Private Function GetVerByte() As Integer
On Error Resume Next
Select Case varProduct
        Case "RATS", "PXES"
            GetVerByte = 199
        Case "NB2W"
            GetVerByte = 79
        Case "VD2D", "PX2D"
            GetVerByte = 9
        Case "3RAW", "PX3W"
            GetVerByte = 12
    End Select
End Function[\code]

Is this code correct?

Also, the pbuffer.InsertDWORD &HC9 line of code is under my Public Function Send1E(), and b4 i get the check revision error, it says that IE was sent. so this should cancel out a problem with the verbytes right?

Dyndrilliac

You didn't read Warriors post.

Try InsertBYTE.
Quote from: Edsger W. DijkstraIt is practically impossible to teach good programming to students that have had a prior exposure to BASIC; as potential programmers they are mentally mutilated beyond hope of regeneration.

LivedKrad

No, that's wrong. The data type required for the version byte is DWORD.

Warrior

Yes its a DWORD and thats a function called to get the Verbyte if you look closely.
Quote from: effect on March 09, 2006, 11:52 PM
Islam is a steaming pile of fucking dog shit. Everything about it is flawed, anybody who believes in it is a terrorist, if you disagree with me, then im sorry your wrong.

Quote from: Rule on May 07, 2006, 01:30 PM
Why don't you stop being American and start acting like a decent human?

Yegg

#24
ok ty for all ur help guys, i no longer hav the check revision error, now after it says 1E Sent, it goes to disconnected. so im going to work on trying to find out why and see wut happens.

Edit: I found another spot in the code that used InsertDWORD &HC9 so i changed that to InsertBYTE &HC9, I know get the following error:

Bnet error 10053 - Connection is aborted due to timeout or other failure

does this mean a hav yet another error to find? or insertbyte is wrong, or my hashed r outdated?

l2k-Shadow

Well if I may give a few pointers...

First, using 0x1E is not the best idea. 0x50 is the way to go. Second, Instead of using CheckRevision.dll and Hash.dll, BnetAuth.dll does more than those 2 combined.

Now http://bnetdocs.valhallalegends.com is excellent for Battle.net packet reference. Let me remind you that each packet you receive, the actual packet starts on the 5th character. Now I know that noone will post the code for you... so check out bnetdocs. If you can't use that, then you might want to stay with CSB for awhile until you learn more.
Quote from: replaced on November 04, 2006, 11:54 AM
I dunno wat it means, someone tell me whats ix86 and pmac?
Can someone send me a working bot source (with bnls support) to my email?  Then help me copy and paste it to my bot? ;D
Já jsem byl určenej abych tady žil,
Dával si ovar, křen a k tomu pivo pil.
Tam by ses povídaj jak prase v žitě měl,
Já nechci před nikym sednout si na prdel.

Já nejsem z USA, já nejsem z USA, já vážně nejsem z USA... a snad se proto na mě nezloběj.

LivedKrad

Why is 1E not a good logon method? Second, I see nothing wrong with CheckRevision.dll or Hash.dll.

Anyway, when he said the packet starts on the 5th character, he's wrong.
The packet starts on the first character. What he meant to say was the actual packet's "information data" starts on the 5th character (most of the time). Typically, if using VB, most people will do something like the following: pData = Mid(packet, 5).

Warrior

Id rather have one BnetAuth.dll then a CheckRevision.dll and a Hash.dll, also I perfer 1E because it can load WC2 so it kills two birds with one stone .
Quote from: effect on March 09, 2006, 11:52 PM
Islam is a steaming pile of fucking dog shit. Everything about it is flawed, anybody who believes in it is a terrorist, if you disagree with me, then im sorry your wrong.

Quote from: Rule on May 07, 2006, 01:30 PM
Why don't you stop being American and start acting like a decent human?

UserLoser.

Quote from: LivedKrad on October 28, 2004, 04:50 PM
Let's take a look for a second at what we're actually sending here, a verbyte. The short-hand verbyte stands for Version Byte. So, it would seem the data type we're dealing with here is a Byte. We're sending 1 small piece of data inside the packet to identify the client's version. If we were to send it as a string, I believe the DWORD function would create something that is around ?16? bytes long? This is obviously 15 bytes over the size of the supposed "verbyte". Does that clear things up?

Note that a DWORD is typically an unsigned long which is 4 bytes (32 bits) in size

LivedKrad

Quote from: UserLoser on October 30, 2004, 01:46 AM
Quote from: LivedKrad on October 28, 2004, 04:50 PM
Let's take a look for a second at what we're actually sending here, a verbyte. The short-hand verbyte stands for Version Byte. So, it would seem the data type we're dealing with here is a Byte. We're sending 1 small piece of data inside the packet to identify the client's version. If we were to send it as a string, I believe the DWORD function would create something that is around ?16? bytes long? This is obviously 15 bytes over the size of the supposed "verbyte". Does that clear things up?

Note that a DWORD is typically an unsigned long which is 4 bytes (32 bits) in size

Yes, a DWORD is 4 bytes. However, what I was saying was that the function would create a DWORD out of a string, instead of a singular byte.

|