• Welcome to Valhalla Legends Archive.

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - PunK

Oh wow I laughed hard with the file IO...

That was a joke beyond jokes
Battle.net / Re: Battle.net 2.0 BlizzCon '09 Panel
October 04, 2009, 01:21 PM
If you guys read the whole thing

QuoteWill classic Blizzard Entertainment games be supported on the new Battle.net?
We do eventually plan to update all classic Battle.net games to take advantage of the new Battle.net accounts and server infrastructure. Beyond this, we do not have anything to announce today regarding legacy Blizzard Entertainment titles and the new Battle.net experience.

You know they won't do it.
I'm writing a listening server in .NET but in the process, having some issues. So hopefully someone can clear it up.

I've gotten as far as accepting the client, passing the TCP client to a class to separately handle the socket. But what has me stumped is reading the data coming from the actual client. It's pulling the data from the stream, however, I'm afraid the data is incorrect ??

I'm connecting a battle.net bot to the server, so I should see 0x50, right? But I don't... it's outputting that the packet as 0x80? I'm getting frustrated with this.

   Private Sub ClientDataArrival()
       Dim i As Int32
       Dim bytes(1024) As [Byte]
       Dim data As String

       While (True)

           Dim socketStream As NetworkStream = clientSocket.GetStream()
           i = socketStream.Read(bytes, 0, bytes.Length)

           While (i <> 0)
               data = System.Text.Encoding.ASCII.GetString(bytes, 0, i)

               printf(Asc(Mid(data, 2, 1)))            '0x80??? wtf

               Dim msg As [Byte]() = System.Text.Encoding.ASCII.GetBytes(data)

               'send data back to client for shits
               socketStream.Write(msg, 0, msg.Length)

               i = socketStream.Read(bytes, 0, bytes.Length)

           End While

       End While
   End Sub

Here is a packet dump of what I am getting from the stream...

0000:  01 3F 50 3A 00 00 00 00 00 36 38 58 49 56 44 32   ?P:.....68XIVD2
0010:  44 0C 00 00 00 00 00 00 00 00 00 00 00 00 00 00   D ..............
0020:  00 00 00 00 00 00 00 00 00 55 53 41 00 55 6E 69   .........USA.Uni
0030:  74 65 64 20 53 74 61 74 65 73 00                  ted States......

Btw, if someone could kindly move this to general programming forum, that would be great :)
uhhhhhhhhhh.. good question. i thought that was the cookie ><
I've never really messed around with this except for the profile / system keys. I've been helping a friend out and he asked about the record values.

However, I get ip banned immediately after making the request. Maybe I am doing something wrong?

I tried the client tag vice versa as well, no luck.

Public Sub Send_26Ex(Username As String)
With b
    .i_dword &H69
    .i_dword &H5
    .i_dword &H1
    .i_ntstring Username
    .i_ntstring "record\SEXP\0\wins"
    .i_ntstring "record\SEXP\0\losses"
    .i_ntstring "record\SEXP\0\disconnects"
    .i_ntstring "record\SEXP\0\last GAME"
    .i_ntstring "record\SEXP\0\last GAME result"
    .s_packet &H26, BNCS
End With
End Sub
I'm looking for some information on the 0x50 128-bit signature that battle.net includes at the end of the packet. I've done countless hours of trying to find documentation on this, but have found close to none. I talked this over with brew and we came to the conclusion that the signature is generated by the servers ipaddress in conjuction with powmod.

I'm relatively new to encryption so right now I'm stuck at a brick wall. I'm trying to write a gateway (in C or VB6, haven't decided yet) for Warcraft III. Unfortunately, in order to do this, I have to update the signature battle.net sends to the client, else wise, the Warcraft III client will pop an error informing me that the server I am trying to connect to doesn't appear to be a battle.net server.

So, ultimately, I need a way to generate the 128-bit signature.
Well, if I get this warden library done within the next couple days and if you don't intend to abuse it, then I won't mind giving you access to the library.

Right now I am having a hard time since i'm fairly new to C, but I am using a helpful site (http://www.skullsecurity.org/wiki/index.php) as a reference. I am planning to have this done by the end of this weekend.
Well, eliminating the updates due to the offset change is a great idea. Connecting to the BNLS to recieve the latest up-to-date offsets seems pretty nifty.

But, I've already started taking a gander at extracting the offsets directly from the hash files rather then an INI file. Which, like you where saying, is like the old school BNLS vs local hashing :)

I'd be interested in helping out if there is any help needed. I'm starting to become more familiar with C so perhaps that could be of use to you :-P
I was thinking just creating a warden library in C++ and creating restrictions to only a select few. It just seems like trying to do what your trying to do would take up a lot of bandwidth.
You guys are willing to keep an established connection? You're looking at hundreds, if not, thousands of connections and that doesn't include those that will use it to mass load. That could get very tedious.
yeah, only thing different is the requests for the memory blobs.
If you want to see it, don't be lazy - packet log it yourself.

Here it is anyways.

0000:  FF 5E 29 00 F7 5A 70 D4 2F 33 9F 1E 67 8F 08 FD   ÿ^).÷ZpÔ/3Ÿg?ý
0010:  A6 5F EA 94 CE AE A0 4A E2 44 2E CE FD DC 3A A9   ¦_ê"ή JâD.ÎýÜ:©
0020:  52 16 FD B9 BF A9 5F D1 85                        Rý¹¿©_Ñ..........
Well it appears Warcraft III requires the same warden response as Starcraft directly after login.
Battle.net Bot Development / Re: Verbyte
April 11, 2009, 01:26 PM
Quote from: Yegg on April 11, 2009, 02:50 AM
Quote from: PunK on April 10, 2009, 11:44 PM
I'm not 100% but I was looking through Warcraft 2 in hex editor and noticed similarities between Starcraft and Warcraft with the whole verbyte theory.

Since unfortunately I don't have any previous versions of warcraft 2, I can't really verify this.

C7 46 10 ** 00 00 00 C7 46 18 08 00 00 00 C7

Warcraft III and Diablo II's verbyte are actually located in the file version. 1.[23].214.

Is this common knowledge in Battle.net bot development? Or did no one notice this somehow after all this time?

Considering it's not on bnetdocs, I don't see how it could be considered "common knowledge"...