Author Topic: Using local hashes  (Read 4486 times)

0 Members and 1 Guest are viewing this topic.

Offline Lance

  • Full Member
  • ***
  • Posts: 129
    • View Profile
Using local hashes
« on: November 29, 2009, 08:58:43 AM »
How can I use local hashing? When I try to connect using local hashing, I get this:

Code: [Select]
...
[08:51:19.328] NOTICE: [BNET] Server successfully authenticated -- it's Blizzard's
[08:51:19.547] INFO: [BNET] Client token: ...
[08:51:19.585] INFO: [BNET] Version Hash: ...
[08:51:19.600] INFO: [BNET] Checksum: ...
[08:51:19.601] INFO: [BNET] CDKey owner: ...
[08:51:19.604] NOTICE: [BNET] CDKey and Version check sent.
[08:51:19.625] exceptions.InvalidVersion: [BNET] Invalid game version
[08:51:19.631] Login.getLogin(Login.java:180)
[08:51:19.632] PluginMain.processedPacket(PluginMain.java:328)
[08:51:19.633] pluginmanagers.PluginRegistration.processedIncomingPacket(PluginRegistration.java:722)
[08:51:19.634] bot.PacketThread.run(PacketThread.java:178)

I have the hashes in the .hashes folder and are up to date (from a live client).
The CDKeys are valid.
Using JavaOp 2.1.1.

BNetLogin->game is set to W3XP (which works when I use BNLS servers). If I try to use "Warcraft III: TFT" from the dropdown, I get:
Code: [Select]
[08:56:31.400] NOTICE: Bot 'PrivateBot' has been started.
[08:56:32.243] DEBUG: Entering disconnect()
[08:56:32.245] DEBUG: Entering connect()
[08:56:32.254] ALERT: [BNET] Unable to connect due to exception: exceptions.InvalidVersion: Game not found - warcraft iii: tft

I have googled around and looked in the archive but have found no solutions that don't involve BNLS (which I would like to avoid).
« Last Edit: December 20, 2009, 05:14:19 PM by SarCaSTiC »
Quote from: Joe
[23:55:31] [william@enterprise ~/Documents/Programming/javaop2]$ svn commit -m 'Tried to fix StayConnected. Again.'
Committed revision 63.
StayConnected strikes back!

Offline Camel

  • Hero Member
  • *****
  • Posts: 1705
    • View Profile
    • BNU Bot
Re: Using local hashes
« Reply #1 on: November 29, 2009, 04:27:14 PM »
Unless I'm mistaken, JavaOp will still do local hashing for your keys and password even if you use BNLS. What's the big concern?

<Camel> i said what what
<Blaze> in the butt
<Camel> you want to do it in my butt?
<Blaze> in my butt
<Camel> let's do it in the butt
<Blaze> Okay!

Offline Lance

  • Full Member
  • ***
  • Posts: 129
    • View Profile
Re: Using local hashes
« Reply #2 on: November 29, 2009, 04:41:45 PM »
My bot reconnects around every two minutes before warden can disconnect it. No matter what BNLS server I use, every two or three reconnects I get the invalid game version error. My big concern is (stability)? unless the cause is something else.
Quote from: Joe
[23:55:31] [william@enterprise ~/Documents/Programming/javaop2]$ svn commit -m 'Tried to fix StayConnected. Again.'
Committed revision 63.
StayConnected strikes back!

Offline Joe

  • B&
  • Moderator
  • Hero Member
  • *****
  • Posts: 10322
  • In Soviet Russia, text read you!
    • View Profile
    • William's Blog
Re: Using local hashes
« Reply #3 on: November 30, 2009, 06:22:13 AM »
To use W3X, type "w3xp" in the game client box. Apparently when I rewrote some code, I missed out on "warcraft iii: tft" in specific.

The invalid version error you're getting is stating that the hash files you're using are invalid. I can't tell you why -- that's a specific response code from Battle.net. The only thing that I can say is when you're using ROC with TFT installed, the game connects as TFT then sends a "change client" message, boiling down to, I don't think you can use TFT hashes with ROC, so changing to "w3xp" should fix it in that case.
I'd personally do as Joe suggests

You might be right about that, Joe.


Offline Lance

  • Full Member
  • ***
  • Posts: 129
    • View Profile
Re: Using local hashes
« Reply #4 on: November 30, 2009, 10:07:46 AM »
To use W3X, type "w3xp" in the game client box. Apparently when I rewrote some code, I missed out on "warcraft iii: tft" in specific.

The invalid version error you're getting is stating that the hash files you're using are invalid. I can't tell you why -- that's a specific response code from Battle.net. The only thing that I can say is when you're using ROC with TFT installed, the game connects as TFT then sends a "change client" message, boiling down to, I don't think you can use TFT hashes with ROC, so changing to "w3xp" should fix it in that case.
I have been using TFT by putting "W3XP" in the game client box, but when I try without a BNLS server I get the error. I have two valid CDKeys (1 ROC and 1 TFT), and have been using only TFT the whole time.

If my hashes are invalid and they are from a live client, should I use older ones?

I also found the verbyte for the hashes to be 17, while outside sources say it's 18. I change it to 18 and still get the error, so it's something else.
« Last Edit: November 30, 2009, 10:11:15 AM by SarCaSTiC »
Quote from: Joe
[23:55:31] [william@enterprise ~/Documents/Programming/javaop2]$ svn commit -m 'Tried to fix StayConnected. Again.'
Committed revision 63.
StayConnected strikes back!

Offline Camel

  • Hero Member
  • *****
  • Posts: 1705
    • View Profile
    • BNU Bot
Re: Using local hashes
« Reply #5 on: November 30, 2009, 11:55:35 AM »
The only thing that I can say is when you're using ROC with TFT installed, the game connects as TFT then sends a "change client" message, boiling down to, I don't think you can use TFT hashes with ROC, so changing to "w3xp" should fix it in that case.
Sorry if this is off-topic, but Battle.net doesn't actually care if you use SID_SWITCHPRODUCT. You can just log in as WAR3, even if you have W3XP hashes. Obviously, emulating client behavior as closely as possible is preferable, but I think this is a safe caveat to use since it's how D2XP logs in as D2DV, and the code is probably reused on the server.

<Camel> i said what what
<Blaze> in the butt
<Camel> you want to do it in my butt?
<Blaze> in my butt
<Camel> let's do it in the butt
<Blaze> Okay!

Offline Lance

  • Full Member
  • ***
  • Posts: 129
    • View Profile
Re: Using local hashes
« Reply #6 on: December 01, 2009, 11:11:55 PM »
My bot is no longer receiving warden packets so it does not reconnect. Problem solved for now, I guess.

What happened to warden?  ???
Quote from: Joe
[23:55:31] [william@enterprise ~/Documents/Programming/javaop2]$ svn commit -m 'Tried to fix StayConnected. Again.'
Committed revision 63.
StayConnected strikes back!

Offline Camel

  • Hero Member
  • *****
  • Posts: 1705
    • View Profile
    • BNU Bot
Re: Using local hashes
« Reply #7 on: December 02, 2009, 12:39:10 AM »
It's basically a spying tool. They aren't always looking.

<Camel> i said what what
<Blaze> in the butt
<Camel> you want to do it in my butt?
<Blaze> in my butt
<Camel> let's do it in the butt
<Blaze> Okay!

Offline Joe

  • B&
  • Moderator
  • Hero Member
  • *****
  • Posts: 10322
  • In Soviet Russia, text read you!
    • View Profile
    • William's Blog
Re: Using local hashes
« Reply #8 on: December 02, 2009, 11:34:39 AM »
The only thing that I can say is when you're using ROC with TFT installed, the game connects as TFT then sends a "change client" message, boiling down to, I don't think you can use TFT hashes with ROC, so changing to "w3xp" should fix it in that case.

Sorry if this is off-topic, but Battle.net doesn't actually care if you use SID_SWITCHPRODUCT. You can just log in as WAR3, even if you have W3XP hashes. Obviously, emulating client behavior as closely as possible is preferable, but I think this is a safe caveat to use since it's how D2XP logs in as D2DV, and the code is probably reused on the server.

I stand corrected.

So, how come you could get on once, but you couldn't reconnect?
I'd personally do as Joe suggests

You might be right about that, Joe.


Offline Lance

  • Full Member
  • ***
  • Posts: 129
    • View Profile
Re: Using local hashes
« Reply #9 on: December 06, 2009, 01:10:19 AM »
The only thing that I can say is when you're using ROC with TFT installed, the game connects as TFT then sends a "change client" message, boiling down to, I don't think you can use TFT hashes with ROC, so changing to "w3xp" should fix it in that case.

Sorry if this is off-topic, but Battle.net doesn't actually care if you use SID_SWITCHPRODUCT. You can just log in as WAR3, even if you have W3XP hashes. Obviously, emulating client behavior as closely as possible is preferable, but I think this is a safe caveat to use since it's how D2XP logs in as D2DV, and the code is probably reused on the server.

I stand corrected.

So, how come you could get on once, but you couldn't reconnect?

I am not quite sure :-\
Quote from: Joe
[23:55:31] [william@enterprise ~/Documents/Programming/javaop2]$ svn commit -m 'Tried to fix StayConnected. Again.'
Committed revision 63.
StayConnected strikes back!