Author | Message | Time |
---|---|---|
JoeTheOdd | Note: I've gotten permission from Arta to post this here. Please do not trash it. First off, I'm only a human. I can't do this all on my own. I need some more hands on deck here, anyone up for it? Having WoW helps, but if you don't own it, I'm sure theres something you can do along the line. ------------------------------------- Now, down to business. First thing we should discuss would be the packet header. Its simple, two bytes. (BYTE) ID (BYTE) SubID For WOW_AUTH_INFO (my names are so origional!) this is 0x0002. ------------------------------------- Logon Sequence: [code]World of WarCraft Logon Sequence: C: Connect to us.logon.worldofwarcraft.com:3769 C: Send 0x0002 (WOW_AUTH_INFO) S: Send 0x0000 (WOW_0000) Notes: Packet names with numbers in them, such as WOW_0000, haven't been investigated enough to know their meaning, so I can't name them. This isn't complete yet, and you won't be logged into the game following this.W[/code] ------------------------------------- Well, I don't see much to discuss other that packet formats, really. We should start with WOW_AUTH_INFO, the first packet to be sent. [code]Header: (BYTE) ID (0x00) (BYTE) SubID (0x02) Body: (BYTE) Unknown, Constant (0x28) [Note: Client always sends 28] (DWORD) Game ID ("WoW" + 0x00) (DWORD) Version Hash (0x00010601) [Historic: 0x00010600 in 1.6.0] (BYTE) Version Byte? (0xC0) [Historic: 0x94 in 1.6.0] (BYTE) Unknown (0x11) (DWORD) Platform ID ("68x" + 0x00) [Research: PPC?] (DWORD) Operating System ("niW" + 0x00) [Research: PMAC? XMAC?] (DWORD) Language ("SUne") (BYTE) Unknown (0x98) [Note: Safe to set to 98. Client doesn't always send 98] (BYTE) Unknown (0xFE) [Note: Safe to set to FE. Client doesn't always send FE] (BYTE) Unknown (0xFF) [Note: Safe to set to FF. Client doesn't always send FF] (BYTE) Unknown (0xFF) [Note: Safe to set to FF. Client doesn't always send FF] (BYTE) Unknown (0xAC) [Note: Safe to set to AC. Client doesn't always send AC] (BYTE) Unknown, Constant (0x9D) [Note: Client always sends 9D] (BYTE) Unknown, Constant (0x7C) [Note: Client always sends 7C] (BYTE) Unknown, Constant (0xFE) [Note: Client always sends FE] (BYTE) Unknown (0x0A) [Note: Safe to set to 0A. Client doesn't always send 0A] (STR) Account Name ("INSANEJOEY") [Research: Why isn't this terminated?][/code] As you can see, theres a whole ton I don't know about this packet. I do have enough to send it correctly, however. [code] With WoWBuff .InsertByte &H28 .InsertDWORD GetDWORD(modConstants.DWORDGameID) .InsertDWORD GetDWORD(modConstants.DWORDVersion) .InsertByte &HC0 .InsertByte &H11 .InsertDWORD GetDWORD(modConstants.DWORDPlatform) .InsertDWORD GetDWORD(modConstants.DWORDOperSys) .InsertDWORD GetDWORD(modConstants.DWORDLocale) .InsertByte &H98 .InsertByte &HFE .InsertByte &HFF .InsertByte &HFF .InsertByte &HAC .InsertByte &H9D .InsertByte &H7C .InsertByte &HFE .InsertByte &HA .InsertNonNTString modConfig.AccountName .Push &H0, &H2 .Flush frmMain.wsWoW End With[/code] ------------------------------------- More to come. | August 12, 2005, 8:47 AM |
JoeTheOdd | TODO: WOW_AUTH_INFO (C>S 0x0002) Research PowerPC processor DWORD. Research MacOS X OS DWORD. Research MacOS 9 OS DWORD, asuming thats still supported. WOW_CHAT (C>S Unknown) Research destination DWORD value for yelling. Asumed to be 0x000004, but I haven't tested this. Research destination DWORD value for guild officer chat. I lead a guild on Thunderlord where I can test this. Research why the message ID and subID keep changing. That is really annoying. | August 12, 2005, 8:55 AM |
UserLoser. | WoW is endian fucked, so it's "backwards" compared to what you'd see in Battle.net [quote] (DWORD) Version Hash (0x00010601) [Historic: 0x00010600 in 1.6.0] (BYTE) Version Byte? (0xC0) [Historic: 0x94 in 1.6.0] (BYTE) Unknown (0x11) [/quote] Not quite, from what I have in my client it's just the three bytes specifiying the version. I.E.: (Byte) 1 (Byte) 6 (Byte) 1 The next four bytes after that is the executable build number. Notice that the 0xC011 happens to be 4544 which should match your build number shown at the logon screen. [quote] (BYTE) Unknown (0x0A) [Note: Safe to set to 0A. Client doesn't always send 0A] (STR) Account Name ("INSANEJOEY") [Research: Why isn't this terminated?] [/quote] That byte is the length of your username, how else would the server know when to stop copying it? [quote] 0000: 00 00 00 A4 D1 6A 32 A8 B8 35 0D 7E 2E DD 81 2A ...¤Ñj2¨¸5.~.Ý?* 0010: 07 95 CE 50 C6 6A 15 50 3E EF 91 77 5A 88 A8 03 •ÎPÆjP>ï‘wZˆ¨ 0020: C4 3F AE 01 07 20 89 4B 64 5E 89 E1 53 5B BD AD Ä?® ‰Kd^‰áS[½ 0030: 5B 8B 29 06 50 53 08 01 B1 8E BF BF 5E 8F AB 3C [‹)PS±Ž¿¿^?«< 0040: 82 87 2A 3E 9B B7 C6 5A C3 A6 6A 0F DF A1 79 AB ‚‡*>›·ÆZæjß¡y« 0050: D8 86 DC AD F6 9E E0 20 2F 65 8D 8C 16 AD 25 C5 ؆Üöžà /e?Œ%Å 0060: 41 EE E5 BE C7 1C A1 03 9D 3C 27 60 36 1A 5F 02 Aîå¾Ç¡?<'`6_ 0070: 6F E4 1C 65 D6 4F oäeÖO.......... [/quote] Extract the following in order: packet id, error code, skip next byte, server key (B, 32bytes), generator length, generator (G), modulo length, modulo (N), salt for your account (s, 32 bytes), checksum key (16 bytes, used in version check, we'll discuss that later) | August 12, 2005, 12:59 PM |
Quarantine | Why would they include a string withought nullterminating it then specify a length? Anyhow, nice job guys. | August 12, 2005, 1:22 PM |
kamakazie | [quote author=Warrior link=topic=12507.msg124078#msg124078 date=1123852924] Why would they include a string withought nullterminating it then specify a length? Anyhow, nice job guys. [/quote] It's usually easier to read the length of the string first, allocate memory for it, then actually read the string. | August 12, 2005, 5:35 PM |
JoeTheOdd | [me=Vote Joe!]runs up to UserLoser and hug-tackles him.[/me] EDIT - [s]The bot picked the perfect time to blow up (VB completely dies when I try to run it), so can you tell me if I did this right?[/s] Never mind, I disarmed the explosive. | August 13, 2005, 12:37 AM |
JoeTheOdd | [quote][7:24:25 PM] World of WarCraft Research Chatbot by Joe[x86] loaded! [7:24:25 PM] Registration passed. [7:24:27 PM] [WWRL] Connecting to us.logon.worldofwarcraft.com:3724.. [7:24:27 PM] [WWRL] Connected! [7:24:27 PM] [SEND] 0x0002 (WOW_AUTH_INFO)... [7:24:27 PM] [RECV] 0x0000 (WOW_AUTH_CHALLENGE) [7:24:27 PM] B: 0x00000000 [7:24:27 PM] G: 5736481527823200912463412246178819491513660317295005690107323775009437258391897391394106808308017742919194437160303542625583989095660615236121711634207346582432470141 [7:24:27 PM] N: 2273379765382990992853841427106363648285682357372731 [7:24:27 PM] S: 0x00370000 [7:24:27 PM] CK: 0x00000[/quote] Which brings us to our next point. What do I do instead of scream when the server sends out packets in more than once piece? | August 13, 2005, 1:25 AM |
Quarantine | Hmm: Check if the packet sent is the length specified, if not store whatever was sent in a temporary buffer and the next time you recieve data append however many bytes recieved until you reach the next header to your temporary buffer then pass that to your handler. | August 13, 2005, 1:56 AM |
HdxBmx27 | [quote]Packet S>C 0x10CA (WOW_REALMLIST) Header { (BYTE) ID (0x10) (BYTE) Sub ID (0xCA) } (BYTE) Unknown (0x0D) (DWORD) Unknown (0x00) (DWORD) Unknown (0x55000000) (WORD) Unknown (0x0000) For Each server { (NTSTR) Server Name ('Eldre'Thalas') ('Shadow Council') ('Draenor') ....[/quote] I have a theroy that it's more like this: [quote]Packet S>C 0x10CA (WOW_REALMLIST) Header { (BYTE) ID (0x10) (BYTE) Sub ID (0xCA) } (BYTE) Unknown (0x0D) (DWORD) Unknown (0x00) (DWORD) Number_Of_Servers (0x00000001) For Each server { (WORD) Unknown (0x00) (NTSTR) Server Name ('Eldre'Thalas') ('Shadow Council') ('Draenor')[/quote] Also 55 00 00 00 = 0x00000055(85) not 0x55000000(1,426,063,360) dosent it ? [code]0000: 10 2F 00 00 00 00 00 01 00 00 00 00 00 55 6C 74 ./...........Ult 0010: 72 61 20 57 6F 57 00 37 30 2E 38 36 2E 34 37 2E ra WoW.70.86.47. 0020: 31 34 36 3A 38 30 38 35 00 00 00 00 3F 00 01 00 146:8085....?... 0030: 02 00 ..[/code] yes im using a emulated server, but dont yell at me, I cant afford the time cards. ~-~(HDX)~-~ | August 13, 2005, 3:03 AM |
KkBlazekK | Could the Unknown be a telling if its pvp? | August 13, 2005, 5:01 AM |
UserLoser. | [quote author=Vote Joe! link=topic=12507.msg124133#msg124133 date=1123896301] Which brings us to our next point. What do I do instead of scream when the server sends out packets in more than once piece? [/quote] I do not recall that at all in the logon protocol, so maybe you're doing something wrong...and those variables the server sent you look horribly wrong. | August 13, 2005, 5:13 AM |
JoeTheOdd | Blaze, yes. On the list, it tells if its PvE (Normal), RP, or PvP. UserLoser, 200 million bucks says its on my side. [code] Case &H0 Call AddChat(frmMain.rtbChat, True, vbGreen, "[RECV] 0x0000 (WOW_AUTH_CHALLENGE)") With WoWDebuff .Buffer = S .RemoveVoid 2 'Remove PacketID and ErrorCode .RemoveVoid 1 'Remove byte Dim Temp As Variant Dim B As Long, G() As String, N() As String, Salt As Long, CK As Integer Let B = .RemoveDWORD Call AddChat(frmMain.rtbChat, True, vbYellow, "B: 0x" & Right("00000000" & Hex(ServerKey), 8)) Let Temp = .RemoveVoid(Asc(.RemoveVoid(1))) ReDim G(1 To Len(Temp)) For i = 1 To Len(Temp) G(i) = Mid(Temp, i, 1) Next i Call AddChat(frmMain.rtbChat, True, vbYellow, "G: " & ToHex(Join(G, ""))) Let Temp = .RemoveVoid(Asc(.RemoveVoid(1))) ReDim N(1 To Len(Temp)) For i = 1 To Len(Temp) N(i) = Mid(Temp, i, 1) Next i Call AddChat(frmMain.rtbChat, True, vbYellow, "N: " & ToHex(Join(N, ""))) Salt = .RemoveDWORD Call AddChat(frmMain.rtbChat, True, vbYellow, "S: 0x" & Right("00000000" & Hex(Salt), 8)) ChecksumKey = .RemoveWORD Call AddChat(frmMain.rtbChat, True, vbYellow, "CK: 0x" & Right("0000" & Hex(ChecksumKey), 8)) '00 00 00 A4 D1 6A 32 A8 B8 35 0D 7E 2E DD 81 2A '07 95 CE 50 C6 6A 15 50 3E EF 91 77 5A 88 A8 03 'C4 3F AE 01 07 20 89 4B 64 5E 89 E1 53 5B BD AD '5B 8B 29 06 50 53 08 01 B1 8E BF BF 5E 8F AB 3C '82 87 2A 3E 9B B7 C6 5A C3 A6 6A 0F DF A1 79 AB 'D8 86 DC AD F6 9E E0 20 2F 65 8D 8C 16 AD 25 C5 '41 EE E5 BE C7 1C A1 03 9D 3C 27 60 36 1A 5F 02 '6F E4 1C 65 D6 4F End With[/code] | August 13, 2005, 5:33 AM |
UserLoser. | Checksum key is also 16 bytes not bits | August 13, 2005, 6:57 AM |
HdxBmx27 | Meh, Just thought I'd Finish this one up: [quote]Message ID: 0x00 Message SubID: 0x02 Message Name: WOW_AUTH_INFO Format: (BYTE) ID (BYTE) SubID (WORD) Data Lengeth (DWORD) Product ID (Byte) EXE Major ver (Byte) EXE Minor ver (Byte) EXE Revision number (WORD) EXE Build number (DWORD) Platform ID (DWORD) OS abbreaveation (DWORD) LanguageID (DWORD) TimeZone offset (DWORD) Local IP (BYTE) Username Lengeth (VOID) Username Remarks: The Data lengeth field is of all the data following it, not including the ID, SubID, or It's own field. And easy way to determin this is simply Lengeht of the username + 30[/quote] This is an example of how I used it:/ why you want this iono :P [code] Public Sub Build_WOW_AUTH_INFO(sExePath As String, sUsername As String) With pOut .iBYTE 0 'ID .iBYTE 2 'SubID .iWORD Len(sUsername) + 30 'Data lengeth - header .iDWORD &H576F57 'ProdID ("WoW") Dim sVerParts() As String sVerParts = Split(Replace(GetVersionInfo(sExePath), Space(1), vbNullString), ",", 4) '^~~~Get the ver info, GetVersionInfo() returns a string such as this: 1, 6, 0, 4500 'Extracted form the EXE under the \StringFileInfo\000004B0\FileVersion property. .iBYTE Val(sVerParts(0)) 'Major ver .iBYTE Val(sVerParts(1)) 'Minor ver .iBYTE Val(sVerParts(2)) 'Revis ver .iWORD Val(sVerParts(3)) 'Build ver .iDWORD &H783836 'PlatformID ("86x") .iDWORD &H57696E 'OS ("niW") .iDWORD &H656E5553 'Language ("SUne") .iDWORD -480 'Time sone offset in minuets (-8 UTC) .iDWORD &HA00A8C0 'Local IP address ("192.168.0.10") .iBYTE Len(sUsername) 'Lengeth of Username .iVoid sUsername 'Username End With End Sub[/code] UL do me a favor, GET ON AIM!! i wana talk to you. Currently know ID's and Lengeths asociated with them: 0x00 = 118 0x01 = 26 I have NEVER seen either of those packets with a diffrent lengeth. ~-~(HDX)~-~ | August 13, 2005, 10:32 AM |
LivedKrad | Stickied. Eventually this thread may go into the depths of the void, I want it to be seen. | August 13, 2005, 5:25 PM |
HdxBmx27 | [quote][2:24:49 PM] [RECV] 0x0000 (WOW_AUTH_CHALLENGE) [2:24:49 PM] SK: 0x3ED8B5DFBC56BED82E7F412AFFFBA329FA57D491744910E6B1BADCBD79CB0E2C [2:24:49 PM] GLen: 1 [2:24:49 PM] G: 0x07 [2:24:49 PM] NLen: 32 [2:24:49 PM] N: 0xB79B3E2A87823CAB8F5EBFBF8EB10108535006298B5BADBD5B53E1895E644B89 [2:24:49 PM] S: 0x0000000000000000000000000000000000000000000000000000000000000000 [2:24:49 PM] ck: 0xAAA1146648D060F57286875C1FB3AED9 [2:24:49 PM] Packet Len: 118 Data: [2:24:49 PM] 0000: 00 00 00 2C 0E CB 79 BD DC BA B1 E6 10 49 74 91 ...,Ëy½Üº±æIt‘ [2:24:49 PM] 0010: D4 57 FA 29 A3 FB FF 2A 41 7F 2E D8 BE 56 BC DF ÔWú)£ûÿ*A.ؾV¼ß [2:24:49 PM] 0020: B5 D8 3E 01 07 20 89 4B 64 5E 89 E1 53 5B BD AD µØ> ‰Kd^‰áS[½ [2:24:49 PM] 0030: 5B 8B 29 06 50 53 08 01 B1 8E BF BF 5E 8F AB 3C [‹)PS±Ž¿¿^?«< [2:24:49 PM] 0040: 82 87 2A 3E 9B B7 00 00 00 00 00 00 00 00 00 00 ‚‡*>›·.......... [2:24:49 PM] 0050: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ [2:24:49 PM] 0060: 00 00 00 00 00 00 D9 AE B3 1F 5C 87 86 72 F5 60 ......Ù®³\‡†rõ` [2:24:49 PM] 0070: D0 48 66 14 A1 AA ÐHf¡ª.......... [/quote] Look about right? Now, [quote]192.168.0.10:2982 -> 70.68.47.146:3724 SENT Data Len: 74 0000: 01 AE 37 B7 EC B4 DF 74 78 43 7D A9 C3 E2 53 AD .®7·ì´ßtxC}©ÃâS 0010: 5A 78 99 7C 34 02 76 15 0D 89 27 E9 55 46 EB C6 Zx™|4.v..‰'éUFëÆ 0020: A0 86 FB AB 2A E8 79 FA 10 7D 9D 99 6A 72 52 22 †û«*èyú.}?™jrR" 0030: F7 11 C2 DD A5 A4 BA E4 D5 A5 84 23 58 87 43 F7 ÷.ÂÝ¥¤ºäÕ¥„#X‡C÷ 0040: C5 3F 99 5F BE B6 DA 51 52 00 Å?™_¾¶ÚQR.[/quote] this is the packet used for sending the hashed password data. Now i've been looking at WoW.exe in IDa for hrs.. Cant find it anywhere. Any tips UL? ~-~(HDX)~-~ | August 13, 2005, 9:26 PM |
JoeTheOdd | [quote][8:29:19 PM] [RECV] 0x0000 (WOW_AUTH_CHALLENGE) [8:29:19 PM] B: 3052598809479962165910969052173007229413931598887534138377729764 [8:29:19 PM] G: 07 [8:29:19 PM] N: 3775009437258391897391394106808308017742919194437160303542625583 [8:29:19 PM] S: 9890956606152361217116342073465824324701414022733797653829909928 [8:29:19 PM] CK: 44540083548842031422722779152198[/quote] Better, UserLoser? Also, if anyone needs a job to do, I'm updating the TODO list in the second post (first page). | August 14, 2005, 2:20 AM |
UserLoser. | Hdx: Looks good except your account doesn't exist (salt is 0) [quote author=Vote Joe! link=topic=12507.msg124245#msg124245 date=1123986012] [quote][8:29:19 PM] [RECV] 0x0000 (WOW_AUTH_CHALLENGE) [8:29:19 PM] B: 3052598809479962165910969052173007229413931598887534138377729764 [8:29:19 PM] G: 07 [8:29:19 PM] N: 3775009437258391897391394106808308017742919194437160303542625583 [8:29:19 PM] S: 9890956606152361217116342073465824324701414022733797653829909928 [8:29:19 PM] CK: 44540083548842031422722779152198[/quote] Better, UserLoser? Also, if anyone needs a job to do, I'm updating the TODO list in the second post (first page). [/quote] Yes, better. | August 14, 2005, 4:30 AM |
JoeTheOdd | I asume Hdx's problem is that he is using a fake server. EDIT - UL, I asume you know the format of WOW_AUTH_PROOF (the one Hdx posted), right? | August 14, 2005, 6:02 AM |
HdxBmx27 | [quote author=Vote Joe! link=topic=12507.msg124260#msg124260 date=1123999362] I asume Hdx's problem is that he is using a fake server. [/quote] Bingo was his name-o! UL, that is my problem, But it's not going to change in the near future, so w/e. So anything I post S->C wise should not be taken as definitive, BUT please note that it DOES work with the client, So it still helps int he research. Anything that I post I HOPE is double/tripple checked froma real server. Just cuz i'm on a emu server dosent mean The packets arnt the same. All'be-it that some of the information is omitted(nulled) but I can still help. ~-~(HDX)~-~ | August 14, 2005, 7:34 AM |
UserLoser. | [quote author=Vote Joe! link=topic=12507.msg124260#msg124260 date=1123999362] I asume Hdx's problem is that he is using a fake server. EDIT - UL, I asume you know the format of WOW_AUTH_PROOF (the one Hdx posted), right? [/quote] Yes, I have them all somewhere here..I'll get back to you later....And where do you get this name WOW_AUTH_PROOF from? IIRC, that is *not* what is lingering around in WoW.exe... | August 14, 2005, 7:24 PM |
Quarantine | He's too lazy to dissaseble so he makes up the names | August 14, 2005, 7:44 PM |
HdxBmx27 | [quote]ClientLink: 0x01 CMD_AUTH_LOGON_PROOF 0x02 CMD_AUTH_RECONNECT_CHALLENGE 0x03 CMD_AUTH_RECONNECT_PROOF 0x10 CMD_REALM_LIST 0x30 CMD_XFER_INITIATE 0x31 CMD_XFER_DATA ServerLink: 0x02 CMD_GRUNT_AUTH_VERIFY 0x10 CMD_GRUNT_CONN_PING 0x11 CMD_GRUNT_CONN_PONG 0x20 CMD_GRUNT_HELLO 0x21 CMD_GRUNT_PROVESESSION 0x24 CMD_GRUNT_KICK[/quote] ClientLink I beleave is [s]C->S and ServerLink is S->C[/s] the logen server, and ServerLink is In-game 0.o?? ~-~(HDX)~-~ | August 14, 2005, 11:22 PM |
JoeTheOdd | Warrior is totally right. I figured that the packet names weren't in the disassembly, so I decided to make them up. | August 15, 2005, 3:24 AM |
UserLoser. | [quote author=Vote Joe! link=topic=12507.msg124350#msg124350 date=1124076244] Warrior is totally right. I figured that the packet names weren't in the disassembly, so I decided to make them up. [/quote] That will only cause confusion... | August 15, 2005, 3:52 AM |
JoeTheOdd | Didn't know they were in the client. I suppose I'll use the real ones, now that I know. | August 15, 2005, 5:58 AM |
Myndfyr | [quote author=Vote Joe! link=topic=12507.msg124363#msg124363 date=1124085490] Didn't know they were in the client. I suppose I'll use the real ones, now that I know. [/quote] Just an FYI, while it might cause less confusion, it's something that you could potentially be hit with in terms of copyright violation. I was talking to one of the leaders at WDDG, a group I've been working with (they're developing Ludmilla, a general MMO server app; the first server they're developing for it is WoW), and he said that they've been going over every precaution to be sure they can't lose if Blizzard was to file a lawsuit (if you look, even on their website and forums, WoW is written out "W@W," even in user posts). | August 15, 2005, 4:05 PM |
UserLoser. | [quote author=MyndFyre link=topic=12507.msg124376#msg124376 date=1124121914] [quote author=Vote Joe! link=topic=12507.msg124363#msg124363 date=1124085490] Didn't know they were in the client. I suppose I'll use the real ones, now that I know. [/quote] Just an FYI, while it might cause less confusion, it's something that you could potentially be hit with in terms of copyright violation. I was talking to one of the leaders at WDDG, a group I've been working with (they're developing Ludmilla, a general MMO server app; the first server they're developing for it is WoW), and he said that they've been going over every precaution to be sure they can't lose if Blizzard was to file a lawsuit (if you look, even on their website and forums, WoW is written out "W@W," even in user posts). [/quote] We've been using names of Battle.net & Blizzard things for years now... Do you really think that Blizzard will go after a single individual (or a few) for writing a client to their service (which costs money to use!)?! | August 15, 2005, 4:36 PM |
JoeTheOdd | No, but if the situation gets out of hand, say, someone makes a flood bot, the researchers who lead to that floodbot being developed can be, in some twisted reality called the internet, be held responsible. | August 15, 2005, 5:38 PM |
JoeTheOdd | For no aparent reason, I'm collecting backversions of the WoW.exe files. So far I have... WoW 1.4.2.exe WoW 1.5.0.exe WoW 1.5.1.exe WoW 1.6.0.exe WoW 1.6.1.exe Anyone have any others? I think thats all of them except WoW 1.4.1.exe on back. | August 15, 2005, 6:52 PM |
UserLoser. | [quote author=Vote Joe! link=topic=12507.msg124380#msg124380 date=1124127535] No, but if the situation gets out of hand, say, someone makes a flood bot, the researchers who lead to that floodbot being developed can be, in some twisted reality called the internet, be held responsible. [/quote] A floodbot? Only an idiot would do that, and it's a fact at this moment in time that no idiots have access to the code which would give them the ability to flood or spam anything. Where as for Battle.net, any idiot can do anything as long as they know how to copy and paste since people make things open source. Now if someone made an open source WoW bot under GPL or whatever the hell it's called, I can see maybe Blizzard caring | August 15, 2005, 6:55 PM |
JoeTheOdd | Seeing as how this time I'm the one (well, we are) doing the disassembling, I'm not releasing my bot open source. I will, however, release my research, like in a BnetDocs type document. Anyhow, I was screwing arround with IDA, and eventually wrote some VB stuff to sift through the strings output, and ended up with these two files. http://www.javaop.com/~joe/wow/SourceCodeFiles.txt (Rather useless, but oh well.) http://www.javaop.com/~joe/wow/MethodUsage.txt (Can you say JACKPOT?) | August 15, 2005, 8:45 PM |
-MichaeL- | Does this mean you guys are making a wow bot to play the game for you? | August 30, 2005, 8:31 AM |
KkBlazekK | No, and if your read all the posts, you would understand that. They are just trying to understand all of the packets for WoW as we have for Starcraft, Diablo and Warcraft. | August 30, 2005, 8:37 AM |
JoeTheOdd | Bump. UserLoser, did you find those auth documents? | September 23, 2005, 3:48 AM |
JoeTheOdd | I've recieved (mythix recieved, rather) a DMCA takedown notice regaurding my published work. Due to lack of interest, this project is officially suspended. However, if anyone is willing to help, I'm back in. | October 1, 2005, 3:40 AM |
Myndfyr | How? | October 3, 2005, 8:07 AM |
JoeTheOdd | How what? I asume you mean the DMCA takedown? http://www.x86labs.org/forum/index.php/topic,3139.0.html [quote]RE: http://www.javaop.com/~joe/wow/ - Please see the end of this email for a list of files on this site. This site being targeted for distributing our source code. Dear Sir or Madam, Recently, we have received an increasing amount of feedback from our customers in regard to the probable copyright infringement of Diablo, Diablo II, Starcraft, Warcraft II: Battle.net Edition, Warcraft III and World of Warcraft products (each, a "Program") on the Internet. We here at Blizzard share the concerns that many gamers are voicing. In this regard, we have contacted one of your users in connection with the aforementioned site and the infringement of Blizzard intellectual property. Please note that all title, ownership, and intellectual property rights in and to each Program and any and all copies thereof (including, but not limited to, any titles, computer code, objects, characters, character names, stories, dialog, catch phrases, locations, artwork, animations, sounds, musical compositions, audio-visual effects, methods of operation, any related documentation, and "applets" incorporated into a Program) are owned by Blizzard Entertainment or its licensors. Each Program is protected by the trademark and copyright laws of the United States, international copyright treaties and conventions, and other laws. Blizzard reserves all rights in each Program, except those rights granted by Blizzard in writing. Each Program contains certain licensed materials, and Blizzard's licensors may protect their rights or rely on Blizzard to protect those rights in the event of any violation of the end user license agreement and copyright law. As part of our effort to protect all proprietary rights related to Diablo, Diablo II, Starcraft, Warcraft, Warcraft II: Battle.net Edition, Warcraft III and World of Warcraft, we would like you to promptly remove all materials infringing onand/or all materials which allow others to infringe on the copyrights and/or trademarks of Blizzard Entertainment's products from the aforementioned site which you host or disable access to such site. This includes any unauthorized software, artwork, images, sounds or derivative works thereof that may be on the aforementioned site. Additionally, we would appreciate it if you would communicate this request to those individuals involved in the creation and maintenance of your web site. Please be advised that at this time you have forty eight (48) hours in which to comply with our request otherwise we will be forced to pursue formal action. We would like to thank you in advance for choosing to work with us in a unified effort to promote the integrity of our games and the well being of our online gaming community. If you require formal notice pursuant to the Digital Millennium Copyright (DMCA), please let us know and we will have our attorney provide such notice. Files: http://www.javaop.com/~joe/wow/MethodUsage.txt http://www.javaop.com/~joe/wow/SourceCodeFiles.txt http://www.javaop.com/~joe/wow/checkversion.txt http://www.javaop.com/~joe/wow/packet_formats.txt http://www.javaop.com/~joe/wow/talkpacket.txt http://www.javaop.com/~joe/wow/wow_auth_info_fields.txt http://www.javaop.com/~joe/wow/wow_header.txt http://www.javaop.com/~joe/wow/wow_protocol.txt Regards, Anti-Piracy Team Blizzard Entertainment http://www.blizzard.com/support If you respond to this email, please attach all previous messages and files relating to this issue.[/quote] However, iago made an interesting point. [quote]I still stand by my initial assessment that there's nothing illegal there, but it's easier to just do what they say than pursue a legal battle.[/quote] Last, but not least, I have the entire /wow folder saved on my computer, if anyone wants it. | October 4, 2005, 6:36 AM |
Arta | I presume that a legal battle is beyond your means, which is fair enough, but it might be worth asking them exactly how those files infringe their copyrights. IIRC Stealth managed to work something out with them when they sent a takedown for Stealthbot. It can't hurt to ask for more details, especially if you cooperate temporarily. You might also want to contact the EFF and ask their advice. | October 4, 2005, 10:47 AM |
Myndfyr | It strikes me as odd that they didn't just send you a DMCA notice. That's how I believe Blizzard has worked in the past. How did you receive this notice? E-mail would surprise me as well. I believe legal notices (I realize this isn't one, but meh) would only be sent by certified mail. Did you examine the e-mail headers? Further, when Blizzard contacts you, they generally include the name of the representative that sent you the email. That's been my experience at least. | October 4, 2005, 9:40 PM |
JoeTheOdd | I'll contact mythix about that. But yeah, it was going nowhere anyhow. Arta, the thing is, this is reverse engineering which is against their TOS and EULA, and EULAs are (IIRC) legally inforceable. | October 4, 2005, 10:24 PM |
Myndfyr | [quote author=Joe link=topic=12507.msg129987#msg129987 date=1128464694] Arta, the thing is, this is reverse engineering which is against their TOS and EULA, and EULAs are (IIRC) legally inforceable. [/quote] That's still under debate. | October 5, 2005, 2:01 AM |
rabbit | Yeah. People not knowing if Federal laws superceding user-coperation agreements annoys me. Corperations need to STFU. | October 5, 2005, 9:40 PM |
Myndfyr | [quote author=rabbit link=topic=12507.msg130065#msg130065 date=1128548417] Yeah. People not knowing if Federal laws superceding user-coperation agreements annoys me. Corperations need to STFU. [/quote] What is a contract besides a waiver of rights or promise of delivery? | October 5, 2005, 9:54 PM |
Arta | In the UK, at any rate, there are certain statutes that cannot be overridden by a contract. These exist either where the statute says the right cannot be signed away, or where a court has decided that a right is important enough not to be waivable. The right to reverse engineer, subject to certain conditions, is a right that cannot be waived here. In the UK, all those EULA clauses that prohibit reverse engineering are not valid, and would be ignored by a court. Contract law is tricky: it's much more than a simply promise of delivery or waiver of rights. | October 5, 2005, 10:49 PM |
JoeTheOdd | Now, if I got a web host in the UK and I hosted my stuff there, would Blizzard be able to do anything about it? | October 7, 2005, 11:17 PM |
Arta | Yes. You're in the US and thus are subject to US law. If Blizzard were to send a takedown to your UK host, they could ignore it completely. You, however, could not. | October 8, 2005, 3:13 AM |
JoeTheOdd | The one who recieved this was Mythix, the owner of www.javaop.com. The stuff itself was hosted in Canada on iago's server. Was I really required to take it down, as nothing resides in the United States except the domain name? | October 8, 2005, 4:03 AM |
Arta | Yes. You reside in the US. That's the point :) | October 8, 2005, 12:32 PM |
JoeTheOdd | So if I did all my disassembly on a box in Canada via VNC and went anonymous.. wow, mock trial is fun. =) | October 8, 2005, 7:05 PM |
Explicit[nK] | [quote author=Joe link=topic=12507.msg130335#msg130335 date=1128798338] So if I did all my disassembly on a box in Canada via VNC and went anonymous.. wow, mock trial is fun. =) [/quote] That'd just make you paranoid, :) | October 9, 2005, 2:10 AM |
rabbit | No moreso than iago. | October 9, 2005, 7:50 PM |
JoeTheOdd | No offence, but nobody can beat iago. Hes afraid someone might root him by exploiting my php. =p | October 10, 2005, 1:22 AM |
Explicit[nK] | [quote author=Joe link=topic=12507.msg130477#msg130477 date=1128907332] No offence, but nobody can beat iago. Hes afraid someone might root him by exploiting my php. =p [/quote] lol | October 10, 2005, 11:13 PM |
KkBlazekK | Joe, you didn't find anything that wasn't already public or useful, and some of the stuff you "found" is even on the WoW website. :-[ | October 13, 2005, 4:07 AM |
JoeTheOdd | [quote author=Blaze link=topic=12507.msg130860#msg130860 date=1129176472] Joe, you didn't find anything that wasn't already public or useful, and some of the stuff you "found" is even on the WoW website. :-[ [/quote] Such as? (And link?) | October 20, 2005, 2:46 AM |
Myndfyr | If anyone is interested in collaborating on this, and actually getting something that can log on, chat, and possibly check in-game mail (at the very least), contact me via PM. I have terms for the project, but I also have access to something we can use for testing without getting our accounts banned. | October 24, 2005, 4:17 PM |
JoeTheOdd | How about getting those documents UserLoser? EDIT - [code] .iBYTE Len(sUsername) 'Lengeth of Username .iVoid sUsername 'Username[/code] It'd be easier to refer to that as a pascal string instead of a byte+void. | November 1, 2005, 12:41 AM |
JoeTheOdd | Does anyone have a copy of my documents? I managed to lose them. | November 26, 2005, 11:22 PM |
Myndfyr | GG Joe. Yeah I have them. I'll send them back using the email you used to send them to me. | November 27, 2005, 12:31 AM |
JoeTheOdd | Thanks. | November 27, 2005, 7:40 PM |
Myndfyr | Some progress has been made with this, and so far I am able to log into the authentication server and request a realm list. I haven't had the time to look further into this since, but I'll repost: if anyone is interested in working on this, let me know by e-mail, AIM, or MSN (details in my profile). | December 22, 2005, 11:15 PM |