Author | Message | Time |
---|---|---|
PunK | Okay, I wanted to do something similar to Ringo's SCGS Bot. However, I have a couple of questions =o Okay, I saw on bnetdocs.com that it says 0x09 is used by every other client other then Warcraft III... So I went along and packet logged the game request in warcraft III and noticed that it was also using 0x09.. C->S [code] FF 09 17 00 00 E0 7F 00 00 00 00 00 00 00 00 00 ................ 14 00 00 00 00 00 00 ....... [/code] S->C [code] FF 09 7A 0A 14 00 00 00 01 28 49 00 09 04 00 00 ..z......(I..... 02 00 AF C8 44 96 BA B7 00 00 00 00 00 00 00 00 ....D........... 10 00 00 00 06 00 00 00 4E 69 6E 74 65 6E 44 6F ........NintenDo 20 54 6F 77 65 72 20 44 21 21 55 73 61 00 00 62 Tower D!!Usa..b 31 30 30 30 30 30 30 30 01 03 49 07 01 01 75 01 10000000..I...u. A1 75 01 93 95 49 0D 4D CB 61 71 73 5D 45 6F 77 .u...I.M.aqs]Eow 19 6F 6D 6F 61 65 5D 4F 93 69 6F 75 65 6F 65 6F .omoae]O.ioueoeo 41 21 55 45 21 77 37 2F 19 33 2F 77 33 79 01 45 A!UE!w7/.3/w3y.E 2B 69 6F 6F 43 6F 75 35 01 33 31 01 01 00 01 20 +iooCou5.31.... 49 00 0C 0C 00 00 02 00 17 E0 42 83 52 41 00 00 I.........B.RA.. 00 00 00 00 00 00 10 00 00 00 00 00 00 00 33 72 ..............3r 64 20 53 57 20 2D 61 72 75 73 6D 21 21 00 00 62 d SW -arusm!!..b 33 30 30 30 30 30 30 30 01 03 49 07 01 01 95 01 30000000..I..... 91 75 01 6F 13 EB 61 4D CB 61 71 73 5D 45 6F 77 .u.o..aM.aqs]Eow 99 6F 6D 6F 61 65 5D 53 53 57 33 2F 33 2F 31 2F .omoae]SSW3/3/1/ E7 77 33 79 01 61 77 61 07 77 61 01 01 00 09 C0 .w3y.awa.wa..... 48 00 09 04 00 00 02 00 17 E0 63 F6 C7 DD 00 00 H.........c..... 00 00 00 00 00 00 10 00 00 00 5B 00 00 00 42 49 ..........[...BI 47 20 46 46 41 20 58 58 58 00 00 62 31 30 30 30 G FFA XXX..b1000 30 30 30 30 41 03 49 07 01 01 A9 01 AB A9 01 57 0000A.I........W 19 D5 BF 4D 4B 61 71 73 5D 29 31 33 AB 29 45 69 ...MKaqs])13.)Ei 77 69 65 65 B3 41 6F 65 43 6F 6F 71 E7 75 65 73 wiee.AoeCooq.ues 2F 77 33 6D A5 01 61 7B 6F 73 71 69 07 6B 65 01 /w3m..a{osqi.ke. 01 00 09 40 49 00 09 08 00 00 02 00 17 E0 51 9B ...@I.........Q. D0 5B 00 00 00 00 00 00 00 00 10 00 00 00 10 00 .[.............. 00 00 66 75 6E 6E 79 20 62 75 6E 6E 79 20 65 67 ..funny bunny eg 67 20 68 75 6E 74 20 62 79 20 72 79 61 6E 20 00 g hunt by ryan . 00 39 33 30 30 30 30 30 30 30 01 03 49 07 01 01 .930000000..I... 75 01 F9 95 01 D1 3D 8F DB 4D 8B 61 71 73 5D 47 u.....=..M.aqs]G 73 6F 85 7B 65 6F 55 69 73 6F 75 6F 65 5D 53 63 so.{eoUisouoe]Sc 65 6F 1B 61 73 69 6F 5D 29 39 4B 29 47 75 6F 6F eo.asio])9K)Guoo 79 43 F3 75 6F 6F 79 73 45 67 8B 67 49 75 6F 75 yC.uooysEg.gIuou 2F 77 E3 33 79 01 43 49 47 4D 13 41 4F 45 41 4F /w.3y.CIGM.AOEAO 01 01 00 01 20 49 00 09 .... I.. [/code] I'm kind of thrown off... | December 9, 2008, 9:36 PM |
Barabajagal | ADVLISTEX is only used for custom games in W3. | December 9, 2008, 10:38 PM |
PunK | I know but how come it hasn't been updated on bnetdocs? | December 10, 2008, 1:15 AM |
Barabajagal | Cause bnetdocs is hella ignored. It's not that it's not been updated, it's that no one cares to check every single packet to make sure the games that use the packet is correct. | December 10, 2008, 1:17 AM |
PunK | Alrighty, well I think what needs to be sent is dramatically different from the other clients. Can you help break it down? | December 10, 2008, 1:30 AM |
Barabajagal | Nope. My only war3 key is always in use. | December 10, 2008, 2:05 AM |
PunK | Damn.. well then anyone? | December 10, 2008, 4:21 AM |
PunK | Widow test#1 [code] FF 09 17 00 00 E0 7F 00 00 00 00 00 00 00 00 00 ................ 14 00 00 00 00 00 00 ....... [/code] Widow test#2 (reconnect) [code] FF 09 17 00 00 E0 7F 00 00 00 00 00 00 00 00 00 ................ 14 00 00 00 00 00 00 ....... [/code] Punk test#3 [code] FF 09 17 00 00 E0 7F 00 00 00 00 00 00 00 00 00 ................ 14 00 00 00 00 00 00 ....... [/code] Alright, well at first I was kind of worrying that the packet was based on the session key but never mind, I was looking at something else... At least I know now what needs to be sent is static... obviously. | December 10, 2008, 8:45 PM |
Matt | Hey there, I'd gladly help you with this project! | December 10, 2008, 10:11 PM |
PunK | [code] InsertByte 0 InsertByte 224 InsertByte 127 InsertDWORD 0 InsertDWORD 0 InsertByte 0 InsertByte 20 InsertDWORD 0 InsertWORD 0 SendPacket &H9 [/code] Yeah, looks shitty but it works for now. Now im trying to figure out a way to get the game names extracted from the enormous packet battle.net sends you. [code] 0000: FF 09 E4 07 0F 00 00 00 01 20 49 00 09 04 00 00 ÿ.ä... I.... 0010: 02 00 17 E0 61 50 8E 6C 00 00 00 00 00 00 00 00 .àaPŽl........ 0020: 10 00 00 00 0C 00 00 00 48 65 72 6F 20 57 61 72 ......Hero War 0030: 73 20 45 6C 69 74 65 20 34 2E 33 00 00 62 31 30 s Elite 4.3..b10 0040: 30 30 30 30 30 30 01 03 49 07 01 01 61 01 B1 61 000000Ia±a 0050: 01 D5 9B 3D D9 4D CB 61 71 73 5D 45 6F 77 19 6F Õ›=ÙMËaqs]Eowo 0060: 6D 6F 61 65 5D 49 6B 65 73 6F 21 57 61 73 AB 73 moae]Ikeso!Was«s 0070: 21 45 6D 69 75 65 91 21 35 2F 33 63 2F 77 B7 33 !Emiue‘!5/3c/w·3 0080: 6D 01 4D 61 6D 69 37 63 65 49 65 61 73 75 01 01 mMami7ceIeasu 0090: 01 00 09 C0 12 00 16 04 00 00 02 00 17 E0 C9 52 ..À....àÉR 00A0: A2 DD 00 00 00 00 00 00 00 00 10 00 00 00 7E 00 ¢Ý...........~. 00B0: 00 00 4C 54 20 52 65 66 73 20 6E 6F 20 6E 6F 6F ..LT Refs no noo 00C0: 62 73 00 00 62 37 30 30 30 30 30 30 30 01 03 49 bs..b70000000I 00D0: 07 41 01 7D 01 F1 7D 01 51 43 FB 53 4D 8B 61 71 A}ñ}QCûSM‹aq 00E0: 73 5D 29 35 29 CD 4D 6F 73 75 55 65 6D E9 71 6D s])5)ÍMosuUeméqm 00F0: 65 2F 77 33 6D 11 01 53 51 2D 39 01 01 00 01 20 e/w3mSQ-9. 0100: 49 00 09 04 00 00 02 00 17 E0 62 DE FD B1 00 00 I.....àbÞý±.. 0110: 00 00 00 00 00 00 10 00 00 00 DF 4C 01 00 44 4F .........ßL.DO 0120: 57 4E 4C 4F 41 44 20 44 4F 54 41 20 52 55 4D 42 WNLOAD DOTA RUMB 0130: 4C 45 20 48 45 52 45 20 69 6D 61 66 6B 00 00 62 LE HERE imafk..b 0140: 36 31 30 30 30 30 30 30 01 03 49 07 01 01 75 01 61000000Iu 0150: B1 75 01 E5 C7 6F D5 4D CB 61 71 73 5D 45 6F 77 ±uåÇoÕMËaqs]Eow 0160: 19 6F 6D 6F 61 65 5D 45 DB 6F 75 61 5F 53 75 6D omoae]EÛoua_Sum 0170: F9 63 6D 65 5F 33 5F 33 DD 2F 77 33 6D 01 4D 59 ùcme_3_3Ý/w3mMY 0180: E7 5F 41 4D 4D 59 5F 53 1F 55 43 4B 53 01 01 00 ç_AMMY_SUCKS. 0190: 01 20 49 00 09 04 00 00 02 00 17 E3 18 17 E9 A0 I.....ãé 01A0: 00 00 00 00 00 00 00 00 10 00 00 00 B8 0C 00 00 ...........¸.. 01B0: 44 4F 4F 4D 53 44 41 59 20 4E 4F 20 46 20 41 20 DOOMSDAY NO F A 01C0: 47 20 53 20 4E 4F 20 4E 6C 47 47 45 52 53 00 00 G S NO NlGGERS.. 01D0: 62 38 30 30 30 30 30 30 30 01 03 49 07 01 01 75 b80000000Iu 01E0: 01 B9 75 01 75 F7 95 C9 4D CB 61 71 73 5D 45 6F ¹uu÷•ÉMËaqs]Eo 01F0: 77 19 6F 6D 6F 61 65 5D 45 DF 6F 6F 6D 73 65 61 womoae]Eßoomsea 0200: 79 3B 5F 4D 65 67 65 6F 65 47 73 5F 77 33 2F 35 y;_MegeoeGs_w3/5 0210: 33 9D 2F 77 33 6D 01 65 65 03 61 65 33 31 31 01 3?/w3meeae311 0220: 01 00 01 20 49 00 09 04 00 00 02 00 17 E0 60 15 . I.....à` 0230: 92 71 00 00 00 00 00 00 00 00 10 00 00 00 4E 00 ’q...........N. 0240: 00 00 53 48 57 45 45 50 20 54 41 47 20 53 57 49 ..SHWEEP TAG SWI 0250: 54 43 48 20 52 4F 43 20 31 35 00 00 62 31 30 30 TCH ROC 15..b100 0260: 30 30 30 30 30 41 03 49 07 01 01 53 01 83 4F 01 00000AISƒO 0270: 55 6F CF 9D 4D CB 61 71 73 5D 45 6F 77 99 6F 6D UoÏ?MËaqs]Eow™om 0280: 6F 61 65 5D 53 8D 69 65 65 71 21 55 61 53 67 21 oae]S?ieeq!UaSg! 0290: 77 37 2F 31 21 6F 43 75 53 75 4F 6D 21 BD 53 4F w7/1!oCuSuOm!½SO 02A0: 43 31 35 2F 77 77 33 6D 01 49 63 65 2F 05 55 2D C15/ww3mIce/U- 02B0: 01 01 00 01 20 49 00 09 04 00 00 02 00 17 E0 72 . I.....àr 02C0: 4C 49 97 00 00 00 00 00 00 00 00 10 00 00 00 15 LI—........... 02D0: 00 00 00 64 69 72 74 6D 61 75 6C 00 00 39 33 30 ...dirtmaul..930 02E0: 30 30 30 30 30 30 01 03 49 07 01 01 53 01 E1 55 000000ISáU 02F0: 01 BD FF ED 51 4D CB 61 71 73 5D 45 6F 77 19 6F ½ÿíQMËaqs]Eowo 0300: 6D 6F 61 65 5D 65 73 69 73 75 6D 61 75 6D DD 2F moae]esisumaumÝ/ 0310: 77 33 6D 01 43 79 4D 73 75 73 55 69 65 57 1B 69 w3mCyMsusUieWi 0320: 73 75 73 33 39 01 01 01 00 01 20 49 00 09 10 00 sus39. I... 0330: 00 02 00 17 E0 4A 3B DD 64 00 00 00 00 00 00 00 ..àJ;Ýd....... 0340: 00 10 00 00 00 17 00 00 00 48 4C 57 20 35 2E 30 .......HLW 5.0 0350: 20 20 00 00 39 37 30 30 30 30 30 30 30 41 03 49 ..970000000AI 0360: 07 01 01 41 01 89 61 01 A1 F1 83 51 4D CB 61 71 A‰a¡ñƒQMËaq 0370: 73 5D 45 6F 77 19 6F 6D 6F 61 65 5D 49 AB 65 73 s]Eowomoae]I«es 0380: 6F 4D 69 6F 65 D7 57 61 73 73 53 6F 43 C5 77 35 oMioe×WassSoCÅw5 0390: 2F 31 2F 77 33 33 6D 01 75 69 69 71 71 03 6F 01 /1/w33muiiqqo 03A0: 01 00 01 20 49 00 09 04 00 00 02 00 17 E0 62 E5 . I.....àbå 03B0: A9 60 00 00 00 00 00 00 00 00 10 00 00 00 1F 00 ©`............ 03C0: 00 00 2E 2E 2E 3A 3A 3A 54 68 65 20 57 61 72 3A .....:::The War: 03D0: 3A 3A 2E 2E 2E 00 00 62 32 30 30 30 30 30 30 30 ::.....b20000000 03E0: 01 03 49 07 01 01 75 01 E9 75 01 33 D7 71 41 4D Iuéu3×qAM 03F0: CB 61 71 73 5D 45 6F 77 99 6F 6D 6F 61 65 5D 57 Ëaqs]Eow™omoae]W 0400: 13 61 73 21 6F 67 21 75 B5 69 65 21 4D 65 65 69 as!og!uµie!Meei 0410: 65 77 61 6D 21 4B 69 6F BB 67 65 6F 6D 73 2F 77 ewam!Kio»geoms/w 0420: A7 33 6D 01 55 65 73 6D 2B 69 6F 61 75 6F 73 37 §3mUesm+ioauos7 0430: 01 37 31 01 01 00 01 20 49 00 09 04 00 00 02 00 71. I..... 0440: 17 E0 48 48 14 12 00 00 00 00 00 00 00 00 10 00 àHH......... 0450: 00 00 2A 00 00 00 76 61 6D 70 20 72 6D 00 00 39 ..*...vamp rm..9 0460: 34 30 30 30 30 30 30 30 01 03 49 07 01 01 35 01 40000000I5 0470: F9 35 01 B3 45 0F 75 4D CB 61 71 73 5D 45 6F 77 ù5³EuMËaqs]Eow 0480: 99 6F 6D 6F 61 65 5D 6F 69 71 75 2D 57 61 6D 71 ™omoae]oiqu-Wamq 0490: BB 69 73 69 73 6D 21 31 EB 31 2F 35 2F 77 33 6D »isism!1ë1/5/w3m 04A0: 69 01 45 61 73 6B 61 6F 27 67 65 6D 7B 73 01 01 iEaskao'gem{s 04B0: 00 01 20 49 00 09 10 00 00 02 00 17 E0 63 EC C4 . I.....àcìÄ 04C0: 29 00 00 00 00 00 00 00 00 10 00 00 00 51 00 00 )...........Q.. 04D0: 00 42 52 4F 4B 45 4E 20 41 4C 4C 49 41 4E 43 45 .BROKEN ALLIANCE 04E0: 53 20 43 4C 41 4E 20 53 4C 41 53 48 20 6C 6F 6C S CLAN SLASH lol 04F0: 00 00 62 32 30 30 30 30 30 30 30 01 03 49 07 01 ..b20000000I 0500: 01 FF 01 B1 FF 01 3F EB EB A1 4D CB 61 71 73 5D ÿ±ÿ?ëë¡MËaqs] 0510: 45 6F 77 19 6F 6D 6F 61 65 5D 43 5D 73 6F 6B 65 Eowomoae]C]soke 0520: 6F 25 33 65 31 41 6D 6D 69 61 6F 9F 63 65 73 25 o%3e1AmmiaoŸces% 0530: 33 31 2D A3 25 33 31 43 65 2F 77 D7 33 6D 01 53 31-£%31Ce/w×3mS 0540: 6D 61 73 55 69 69 6F 67 69 61 73 01 65 01 01 00 masUiiogiase. 0550: 01 20 49 00 09 10 00 00 02 00 17 E0 48 8C BB BF I.....àHŒ»¿ 0560: 00 00 00 00 00 00 00 00 10 00 00 00 C1 00 00 00 ...........Á... 0570: 76 61 6D 70 70 70 00 00 39 38 30 30 30 30 30 30 vamppp..98000000 0580: 30 01 03 49 07 01 01 61 01 91 61 01 C9 BD 8F 11 0Ia‘aɽ? 0590: 4D CB 61 71 73 5D 45 6F 77 19 6F 6D 6F 61 65 5D MËaqs]Eowomoae] 05A0: 57 D7 61 6D 71 69 73 69 73 1B 6D 21 43 65 6D 21 W×amqisism!Cem! 05B0: 57 E5 2F 31 33 2F 77 33 6D 11 01 43 6D 75 6F 75 Wå/13/w3mCmuou 05C0: 35 19 33 31 6D 61 6F 01 01 00 01 20 49 00 09 10 531mao. I.. 05D0: 00 00 02 00 17 E0 4C 45 A7 4E 00 00 00 00 00 00 ...àLE§N...... 05E0: 00 00 10 00 00 00 BD 00 00 00 61 66 72 69 63 61 .....½...africa 05F0: 20 7A 6F 6D 62 69 65 00 00 62 35 30 30 30 30 30 zombie..b500000 0600: 30 30 01 03 49 07 01 01 95 01 B1 B5 01 4B 05 D9 00I•±µKÙ 0610: FD 4D CB 61 71 73 5D 45 6F 77 99 6F 6D 6F 61 65 ýMËaqs]Eow™omoae 0620: 5D 41 39 67 73 69 63 61 21 5B B7 6F 6D 63 69 65 ]A9gsica![·omcie 0630: 21 57 03 61 73 21 77 33 2F 33 A5 21 5B 51 53 4F !Was!w3/3¥![QSO 0640: 55 45 AB 43 55 45 45 5D 2F 77 37 33 6D 01 73 69 UE«CUEE]/w73msi 0650: 6D 6D 07 69 65 01 01 00 01 20 49 00 09 04 00 00 mmie. I.... 0660: 02 00 17 E0 63 E3 8E 34 00 00 00 00 00 00 00 00 .àcãŽ4........ 0670: 10 00 00 00 C3 00 00 00 44 4F 4F 4D 53 44 41 59 ...Ã...DOOMSDAY 0680: 20 4E 4F 20 4E 4F 4F 42 53 00 00 62 32 30 30 30 NO NOOBS..b2000 0690: 30 30 30 30 01 03 49 07 01 01 75 01 B9 75 01 75 0000Iu¹uu 06A0: F7 95 C9 4D CB 61 71 73 5D 45 6F 77 19 6F 6D 6F ÷•ÉMËaqs]Eowomo 06B0: 61 65 5D 45 DF 6F 6F 6D 73 65 61 79 3B 5F 4D 65 ae]Eßoomseay;_Me 06C0: 67 65 6F 65 47 73 5F 77 33 2F 35 33 DD 2F 77 33 geoeGs_w3/53Ý/w3 06D0: 6D 01 4B 6F E1 73 6F 67 6D 61 6B 65 03 73 01 01 mKoásogmakes 06E0: 00 01 20 49 00 09 04 00 00 02 00 17 E0 D8 C4 CA . I.....àØÄÊ 06F0: C5 00 00 00 00 00 00 00 00 10 00 00 00 04 01 00 Å............ 0700: 00 6C 6B 00 00 62 32 30 30 30 30 30 30 30 01 03 .lk..b20000000 0710: 49 07 01 01 55 01 F1 55 01 57 D5 25 15 4D CB 61 IUñUWÕ%MËa 0720: 71 73 5D 45 6F 77 99 6F 6D 6F 61 65 5D 43 2B 61 qs]Eow™omoae]C+a 0730: 75 73 21 61 6F 65 BD 21 4D 69 63 65 21 31 C1 31 us!aoe½!Mice!1Á1 0740: 2F 31 63 2F 77 33 9B 6D 01 63 6F 6F 6F 6F 2D 73 /1c/w3›mcoooo-s 0750: 35 33 37 39 01 01 00 01 20 49 00 09 04 00 00 02 5379. I.... 0760: 00 17 E0 C9 4B C7 1A 00 00 00 00 00 00 00 00 10 .àÉKÇ........ 0770: 00 00 00 47 02 00 00 46 6F 6F 74 69 65 73 20 45 ...G..Footies E 0780: 78 74 72 65 6D 65 00 00 62 35 30 30 30 30 30 30 xtreme..b5000000 0790: 30 01 03 49 07 01 01 3D 01 AB 3D 01 3B A9 BD 27 0I=«=;©½' 07A0: 4D CB 61 71 73 5D 45 6F 77 19 6F 6D 6F 61 65 5D MËaqs]Eowomoae] 07B0: 47 B7 6F 6F 75 6D 61 6F 57 1B 61 73 73 45 79 75 G·ooumaoWassEyu 07C0: 73 2F 65 6D 65 57 37 2F 31 A9 33 67 69 79 65 2F s/emeW7/1©3giye/ 07D0: 77 C7 33 6D 01 45 73 61 67 2B 61 6D 6F 73 65 73 wÇ3mEsag+amoses 07E0: 01 01 01 00 ............. [/code] | December 10, 2008, 10:20 PM |
Sixen | Chris, i'm working on a way to parse and display the D1 game listing; it's the same thing. I'm semi-done with it, i'll post it up when i'm done. (sometime in the next day or two, got work and finals) | December 12, 2008, 4:19 AM |
Barabajagal | Didn't I already post D1 game list code on this site somewhere? | December 12, 2008, 4:54 AM |
Sixen | [quote author=Andy link=topic=17741.msg180791#msg180791 date=1229057699] Didn't I already post D1 game list code on this site somewhere? [/quote] Not that i'm seeing. Though I somewhat figured it out with a quick packetlog. I need to go back and packetlog D1 again so I can see what is used to separate the games, because there's no null char in between like there is with channels. | December 15, 2008, 5:47 AM |
Ozzapoo | I was also trying to get the Custom Games list for WC3. However, when I tried sending a packet based on the documentation of SID_GETADVLISTEX, it failed. Next go, I copied the packet that WC3 (W3XP) sent to Battle.net, and tried sending that. However, when I got the response it alwys said that there were 14 games, and it provided less game information sets than 14! Why is this the case ? EDIT: I did the exact same thing as Punk in the first post =/ EDIT: I tried the thing Punk posted, but I got the same result again :( EDIT: I just noticed that after received the SID_GETADVLISTEX packet, I get 4 more seperate packets with no standard header, also with game listings. I'm confused now! :( Why aren't I getting these packets all in one? 3 of the packets are 536 bytes, except the last one which is 525 bytes. EDIT: Now it keeps saying there are 20? EDIT: So they're split into 536-byte segments, but how do I tell how many segments there are? EDIT: I think the first segment is like a standard packet (with the header), and has the entire length value, but they're just split into the 536-byte segments from the next packet. How would I go about getting all the packets? | December 16, 2008, 2:09 AM |
Ringo | I'm not sure if this has been said or not, but 0x09 pretty much always follows the same format: (DWORD) Number of games For each game DWORD[8] STRING game name STRING Game password STRING Game desc Should be pretty quick and easy to just read each game name string. hope this helps | December 16, 2008, 7:23 AM |
Ozzapoo | Well I've finally got my function to get the game names working (even though it was surprisingly long....) However does anyone know how to interpret the statstrings? It shows up on my program like: [code]b30000000IY?Y?U?M?aqs]Eow?omoae]e?mim31/1?/w3yMa_gicam-Usewes [[/code] | December 16, 2008, 7:27 AM |
Ozzapoo | I found this: http://bnetdocs.com/?op=doc&did=13 But I don't understand how the different values are seperated? Should I interpret this as a string, or should I interpret it as bytes? | December 16, 2008, 8:04 AM |
Sixen | [quote author=Ozzapoo link=topic=17741.msg180832#msg180832 date=1229414693] I found this: http://bnetdocs.com/?op=doc&did=13 But I don't understand how the different values are seperated? Should I interpret this as a string, or should I interpret it as bytes? [/quote] The delimiter is a comma, it's all one string. | December 16, 2008, 6:23 PM |
Ozzapoo | I can't see a comma though.. (nor can I find one) Perhaps only the Starcraft statstrings are comma-delimited? | December 16, 2008, 9:16 PM |
Barabajagal | You have to decode War3's map data: [code]Public Function DecodeMapData(ByVal Encoded As String, ByRef Decoded As String) As Long Dim enc() As Byte Dim dec() As Byte Dim I As Long Dim J As Long Dim D As Byte Dim lngLen As Long enc = strConv(Encoded, vbFromUnicode) For I = 0 To UBound(enc) If (I Mod 8) Then ReDim Preserve dec(lngLen) dec(lngLen) = (enc(I) And ((RShift(D, 1 + J) Or Not 1))) J = J + 1 lngLen = lngLen + 1 Else J = 0 D = enc(I) End If Next I Decoded = strConv(dec, vbUnicode) DecodeMapData = lngLen End Function[/code] | December 16, 2008, 9:54 PM |
Ozzapoo | There's no vbFromUnicode in VB.Net =/ Could you explain to be how the statstring is encoded, so I can try to make a decoding function myself? | December 16, 2008, 11:32 PM |
PunK | Hmm, I didn't bother to count the games... Did you already resolve the packets without headers? If not, what about just assigning the packets based on there data content. Get the map values and if they are valid, send to the 0x09 buffer... In fact, you don't even need to decrypt the map values, you can just do something like this. if datalen >= 300 and instr(data, "w3m") then parse0x09(data) I guess something along those lines would work seeing how "w3m" appears in each statstring. I still have the question on splitting the data up into segments. I've tried finding a method in which I could get the game name and I think I might have found a sloppy way... Go through the buffer, parse the game values into Andy's W3 map decoder and if the value is good, then the string previous to the map data will be the map name. [code] Hero Wars Elite 4.3 b10000000Ia±aÕ›=ÙMËaqs]Eowomoae]Ikeso!Was«s!Emiue‘!5/3c/w3mMami7ceIeasu [/code] | December 17, 2008, 12:12 AM |
Ozzapoo | Battle.Net sends you 20 games every time you request a games list I think.. | December 17, 2008, 12:31 AM |
PunK | Btw, for your unicode question... http://www.xtremedotnettalk.com/showthread.php?t=84659 Maybe that will help. | December 17, 2008, 12:37 AM |
Barabajagal | It's not my map decoder... https://davnit.net/bnet/vL/index.php?topic=15419.0 | December 17, 2008, 12:54 AM |
PunK | Don't use my idea on relating split packets with one another by the "w3m" string. It varies. | December 17, 2008, 1:29 AM |
Ozzapoo | What does RShift() do? Can someone post the code here? EDIT: Nevermind, found it. Why does the function always just return three random characters? The characters are the same depending on the game, but they just seem random. Did I do something wrong? I modifed the function slightly and made it return the decoded string directly. Please tell me if something is wrong: [code] Public Function DecodeMapData(ByVal Encoded As String) As String Dim enc() As Byte Dim dec() As Byte Dim I As Long Dim J As Long Dim D As Byte Dim lngLen As Long enc = System.Text.UnicodeEncoding.Unicode.GetBytes(Encoded) For I = 0 To UBound(enc) If (I Mod 8) Then ReDim Preserve dec(lngLen) dec(lngLen) = (enc(I) And (D >> (1 + J) Or Not 1)) J = J + 1 lngLen = lngLen + 1 Else J = 0 D = enc(I) End If Next I Return System.Text.UnicodeEncoding.Unicode.GetString(dec) End Function[/code] Does the length matter? | December 17, 2008, 1:36 AM |