• Welcome to Valhalla Legends Archive.
 
Menu

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 - fuzan

#1
ETA on the movE?
#2
Battle.net Bot Development / Re: 53/52 IP ban
May 16, 2007, 02:27 AM
Edit: Nevermind; I'm an idiot. (0x53 is for War3).
#3
Battle.net Bot Development / Re: 53/52 IP ban
May 14, 2007, 08:00 PM
I'm not using 0x12 nor NLS requiring packets at this point.
#4
Battle.net Bot Development / Re: 53/52 IP ban
May 14, 2007, 06:19 PM
Here's my connection to Bnet. It doesn't get a s0x53.
EDIT: The BNLS sequences appear perfect. If no one spots an issue here, I'll post more information.




--init
00000000  01                                               .

--c0x25
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  00 00 00 00 a4 01 00 00 ....SUne ........
00000021  00 00 00 00 00 00 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.
                                                                             
--s0x25
00000000  ff 25 08 00 95 07 4a 54                          .%....JT

--c0x25
0000003B  ff 25 08 00 95 07 4a 54                          .%....JT

--s0x50
00000008  ff 50 3e 00 00 00 00 00  98 b2 73 6e af 8b 0a 01 .P>..... ..sn....
00000018  00 fb c7 b9 72 fc c6 01  6c 6f 63 6b 64 6f 77 6e ....r... lockdown
00000028  2d 49 58 38 36 2d 30 30  2e 6d 70 71 00 fb 99 4f -IX86-00 .mpq...O
00000038  f8 10 f9 6d fb 4d ef 8e  e7 ad 77 41 6f 00       ...m.M.. ..wAo.

--c0x51
00000043  ff 51 58 00 fa a1 85 5f  01 00 0e 01 67 5a 4e de .QX...._ ....gZN.
00000053  01 00 00 00 00 00 00 00  0d 00 00 00 01 00 00 00 ........ ........
00000063  d1 bb 24 00 00 00 00 00  f2 ff da f6 29 08 6f 49 ..$..... ....).o
00000073  be 28 0c 37 2e 54 10 2f  a2 48 3e ee 39 72 94 01 .(.7.T./ .H>.9r..
00000083  54 94 86 97 51 bf a1 56  ad e8 1a 8c 00 68 61 73 T...Q..V .....has
00000093  6b 65 6c 6c 62 6f 74 00                          kellbot.

--s0x51
00000046  ff 51 09 00 00 00 00 00  00                      .Q...... .

--s0x4c
0000004F  ff 4c 16 00 49 58 38 36  4d 69 6e 64 53 69 67 68 .L..IX86 MindSigh
0000005F  74 2e 6d 70 71 00                                t.mpq.

--c0x53
0000009B  ff 53 2f 00 09 fb 39 ca  8f cb 65 cc 00 a0 5f 4a .S/...9. ..e..._J
000000AB  ff 53 dc 48 79 ea 34 4e  67 7e 12 ba 14 bb 2a a7 .S.Hy.4N g~....*.
000000BB  5d d9 61 3c 68 61 73 6b  65 6c 6c 62 6f 74 00    ].a<hask ellbot.

#5
Battle.net Bot Development / 53/52 IP ban
May 13, 2007, 04:13 PM
Both c0x53 and c0x52 result in an IP ban. Their supporting BNLS functions return valid data, the packets seem to be correct (proper length, correct data, etc.etc) , however, as soon as I put them on the wire I'm IP banned. I'm sending them after the server responds with s0x51 and s0x4c (two packets which I ignore, however, the s0x51 is returning success) . Am I missing a crucial step? Hopefully I am, otherwise I"ll post some logs.


Thanks
#6
Hmm, I just spotted an extra 'C2' byte that's immediately following the IX86ver's null terminator in the BNLS packet and not the S0x50. Furthermore, it seems as if that entire string is mangled. Perhaps this is it! Now to find out where it's coming from.
#7

My BNLS connection is the standard valhalla something or another one: 63.161.183.205

As you can see, it works perfectly with versionbyte. It also works perfectly with ckdey, however, I've omitted its call.


-- init
00000000  01                                               .


-- bnls c>0x10                                                               
00000000  07 00 10 02 00 00 00                             .......

-- bnls s>0x10
00000000  0b 00 10 02 00 00 00 cf  00 00 00                ........ ...


-- bnet c>0x50
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  00 00 00 00 a4 01 00 00 ....SUne ........
00000021  00 00 00 00 00 00 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


-- bnet s>0x25
00000000  ff 25 08 00 0b ee 75 1b                          .%....u.

-- bnet s>0x50
00000008  ff 50 3e 00 00 00 00 00  1f ab 74 0a 4f ec 27 00 .P>..... ..t.O.'.
00000018  00 09 ef c0 72 fc c6 01  6c 6f 63 6b 64 6f 77 6e ....r... lockdown
00000028  2d 49 58 38 36 2d 30 33  2e 6d 70 71 00 89 c5 f1 -IX86-03 .mpq....
00000038  38 66 d5 23 81 a6 ff 4f  cf 91 fb 2c 7d 00       8f.#...O ...,}.


-- bnls c>0x1A
0000001C  47 00 1a 02 00 00 00 00  00 00 00 00 00 00 00 00 G....... ........
0000002C  09 ef c0 72 fc c6 01 6c  6f 63 6b 64 6f 77 6e 2d ...r...l ockdown-
0000003C  49 58 38 36 2d 30 33 2e  6d 70 71 00 c2 89 c3 85 IX86-03. mpq.....
0000004C  c3 b1 38 66 c3 95 23 c2  81 c2 a6 c3 bf 4f c3 8f ..8f..#. .....O..
0000005C  c2 91 c3 bb 2c 7d 00                             ....,}.
                                                                             

-- bnls s>0x1A
0000003A  0b 00 1a 00 00 00 00 00  00 00 00                ........ ...



-- bnet c>x025
0000003B  ff 25 08 00 0b ee 75 1b                          .%....u.

-- I would send C0x51 here, but BNLS is returning an error packet.

#8
I think what I should ask is:
Are the values I'm using for making the 0x1A correct? Are the last three fields supposed to come from the s0x50 as I'm currently doing?
#9
Those aren't my datastructures. They're members of Haskell's "Show" Typeclass, I just printed them out.

Here's my function that constructs and sends the versioncheck packet.
As you can see, it takes a handle (bnls), and three parameters (a,b,c).


bnls_version_check bnls a b c = do
  putStrLn "bnls_version_check"
  let packet = BNLS_C0x1A { lc1A_productID   = 0x02
                          , lc1A_flags       = 0
                          , lc1A_cookie      = 0
                          , lc1A_mpqFiletime = a
                          , lc1A_IX86ver     = b
                          , lc1A_valueString = c }
  print packet
  sendPacket bnls packet
  bnls2Type bnls :: IO BNLS_S0x1A



Here I instantiate the values a,b,c that are passed to the function that sends the packet:


  let a = s50_mpqFiletime rauth :: Word64
  let b = s50_IX86ver rauth     :: B.ByteString
  let c = s50_valueString rauth :: B.ByteString
 
  rcheck <- bnls_version_check bnls a b c
#10
Still, same issue.
Here are some example representations of the data I'm receiving/sending.



S0x50 {
  s50_logonType = 0, 
  s50_serverToken = 2111859351,
  s50_udpValue = 2102977,
  s50_mpqFiletime = 128067209560000000,
  s50_IX86ver = LPS ["lockdown-IX86-11.mpq\NUL"],
  s50_valueString = LPS ["|RP\239\179\f\221\180\v\202\155\223A\135b\180\NUL"]
}


From this, I construct:


BNLS_C0x1A {
  lc1A_productID = 2,
  lc1A_flags = 0,
  lc1A_cookie = 0,
  lc1A_mpqFiletime = 128067209560000000,
  lc1A_IX86ver = LPS ["lockdown-IX86-11.mpq\NUL"],
  lc1A_valueString = LPS ["|RP\239\179\f\221\180\v\202\155\223A\135b\180\NUL"]
}


#11
Still, no luck.

Are we not supposed to be using "bnls.valhallalegends.com" ?
#12
Hey,


I've been continuing my bot project a little more, and after a lot of refactoring I've made it to implementing the login sequence. Sadly, S0x1A (broodwars) always fails. I've spent an hour trying to figure out what's the issue and now I'm sleepy. Hopefully one of you with sharp eyes may spot my fault.



SENT (0x1A)

00000007  48 00 1a 02 00 00 00 00  00 00 00 0c 00 00 00 00 H....... ........
00000017  ba f7 d9 72 fc c6 01 6c  6f 63 6b 64 6f 77 6e 2d ...r...l ockdown-
00000027  49 58 38 36 2d 31 33 2e  6d 70 71 00 c2 84 c3 99 IX86-13. mpq.....
00000037  c3 a7 c2 83 56 c2 b1 c3  96 49 c2 88 42 c2 a3 c3 ....V... .I..B...
00000047  9f 67 c2 bd 7d 01 02 00                          .g..}...
                 
                                             
RESPONSE (0x1A)

0000000B  0b 00 1a 00 00 00 00 0c  00 00 00                ........ ...
#13
General Programming / Any Haskellers here?
February 26, 2007, 08:15 PM
Hey all,

Any other Haskell'rs present?

For those of you who aren't aware of functional programming, haskell, or anything non-imperative I suggest you play a little with Haskell!

(www.haskell.org)

#14
Battle.net Bot Development / Re: Syncing
February 25, 2007, 08:55 PM
RealityRipple,  how up-to-date is your CRev repo? I've been trying to match a ValueString from the s>0x50 with any of the values from your CRev unsuccessfully.

Perhaps I'm using the wrong 32 bytes. The 32 bits after the MPQ are correct, eh?
#15
Battle.net Bot Development / Re: Syncing
February 25, 2007, 05:14 AM
After further reading it seems I understand that the client is required to correctly perform some hash over a requested file. It seems that people have generated large lookup tables for this process and that they're no longer public. True?