• Welcome to Valhalla Legends Archive.
 

Problems with BNLS_LOGONPROOF

Started by Physaro, April 18, 2006, 03:37 AM

Previous topic - Next topic

Physaro

Hi,
i am currently writing yet another Bnet Bot ;D and I am currently stuck in the login process because I always get a wrong password message. Currently I think the problem is how I send the BNLS_LOGONPROOF (0x03) message. I captured SID_AUTH_ACCOUNTLOGON packet and than read the salt and the server key as byte arrays. The documentation for 0x03 say that I have to send Dword so I converted those byte arrays to dwords and send them. Now I think that this is causing my problems because the byte order is changed. Could it be that I should send them as bytes to the BNLS server?

Greetings
Physaro

MyndFyre

Yes, do not reverse the byte order.  Data should be copied from the BNLS message as it is received to the Battle.net message.  That's why the BNLS documentation specifies those Battle.net messages with DWORDs.
QuoteEvery generation of humans believed it had all the answers it needed, except for a few mysteries they assumed would be solved at any moment. And they all believed their ancestors were simplistic and deluded. What are the odds that you are the first generation of humans who will understand reality?

After 3 years, it's on the horizon.  The new JinxBot, and BN#, the managed Battle.net Client library.

Quote from: chyea on January 16, 2009, 05:05 PM
You've just located global warming.

UserLoser

Quote from: Physaro on April 18, 2006, 03:37 AM
Hi,
i am currently writing yet another Bnet Bot ;D and I am currently stuck in the login process because I always get a wrong password message. Currently I think the problem is how I send the BNLS_LOGONPROOF (0x03) message. I captured SID_AUTH_ACCOUNTLOGON packet and than read the salt and the server key as byte arrays. The documentation for 0x03 say that I have to send Dword so I converted those byte arrays to dwords and send them. Now I think that this is causing my problems because the byte order is changed. Could it be that I should send them as bytes to the BNLS server?

Greetings
Physaro

Are you sending BNLS message BNLS_CHOOSENLSREVISION?

Physaro

Thank you, I had already set the orrect NLSREVISION (2 for WC3), and now salt and serverKey are also correct. But I still get the wrong password thing  :(.
Does somebody know if JSLB has problems with encoding the password? Because I used that because I can easily include the jar in my project.

Physaro

Physaro

Ok, I now switched over to the real BNLS server, but ist still doesnt seem to work. I captured the traffic but I still can't find the problem. Could someone please look over the packet log???

I uploaded them here: http://www.sendmefile.com/00333653 , the dumps can be opened with ethereal.
Thanks for your help.

Joe[x86]

In responce to your PM, I haven't implemented BNLS usage (beyond requesting version bytes, but that wasn't for a bot) in any language, so I can't tell you. Sorry.

Assuming you mean JBLS (in place of JSLB), the only problem it has is BNLS Authorization conflicting with SphtBot (and others built the same), and the password being authorized even if it's not right (duh, the JBLS authors don't have the password lists). [edit]Well, to the best of my knowledge, anyhow..[/edit]
Quote from: brew on April 25, 2007, 07:33 PM
that made me feel like a total idiot. this entire thing was useless.