Author Topic: It's official!  (Read 4291 times)

0 Members and 1 Guest are viewing this topic.

Offline MyndFyre

  • Boticulator Extraordinaire
  • x86
  • Hero Member
  • *****
  • Posts: 4540
  • The wait is over.
    • View Profile
    • JinxBot :: the evolution in boticulation
It's official!
« on: January 23, 2006, 02:27:50 am »
MyndFyre has the first working-almost WoW bot.  I can log in and chat with people in the area or in the guild.  :)

It's a console app built in C# 2003.  However, the core API is a DLL and can be plugged into a GUI with next-to-no work.

I will be releasing a program when I can sufficiently encrypt or otherwise protect the core API from being abused.

BTW, if you don't believe me:
Code: [Select]
[BEGINNING LOG Sunday, January 22, 2006 15:31:18
CONNECTING TO SERVER us.logon.worldofwarcraft.com
(connecting 1 trial(s) at 2000msec intervals)
===================================================
Error code 00

Login successful!  Sending realm list request...     

Server proof passes verifier check: True
[0] Greymane (63.241.255.33:3724)
[1] Stormscale (12.129.233.9:3724)
[2] Kul Tiras (12.129.225.103:3724)
[3] Drak'thul (12.129.225.57:3724)
[4] Detheroc (63.241.255.31:3724)
[5] Terenas (12.129.233.22:3724)
[6] Kalecgos (63.241.255.36:3724)
[7] Shattered Hand (206.16.235.35:3724)
[8] Burning Legion (206.16.235.95:3724)
[9] Sen'jin (12.129.225.55:3724)
[10] Burning Blade (206.16.235.57:3724)
[11] Uldum (12.129.233.1:3724)
[12] Illidan (63.241.255.21:3724)
[13] Kilrogg (12.129.225.84:3724)
[14] Stormrage (206.16.235.14:3724)
[15] Shadowsong (12.129.233.26:3724)
[16] Gorgonnash (63.241.255.15:3724)
[17] Vek'nilash (12.129.225.64:3724)
[18] Bloodscalp (12.129.233.3:3724)
[19] Hellscream (63.241.255.23:3724)
[20] Elune (206.16.235.23:3724)
[21] Laughing Skull (206.16.235.10:3724)
[22] Deathwing (12.129.225.77:3724)
[23] Shadow Council (12.129.233.88:3724)
[24] Alexstrasza (63.241.255.93:3724)
[25] Blackrock (12.129.225.126:3724)
[26] Medivh (206.16.235.117:3724)
[27] Windrunner (12.129.233.25:3724)
[28] Eonar (206.16.235.105:3724)
[29] Firetree (12.129.233.37:3724)
[30] Suramar (12.129.233.7:3724)
[31] Twisting Nether (63.241.255.95:3724)
[32] Wildhammer (63.241.255.32:3724)
[33] Draka (12.129.225.123:3724)
[34] Staghelm (63.241.255.99:3724)
[35] Daggerspine (12.129.233.10:3724)
[36] Chromaggus (12.129.225.5:3724)
[37] Archimonde (206.16.235.45:3724)
[38] Warsong (206.16.235.103:3724)
[39] Spinebreaker (63.241.255.18:3724)
[40] Magtheridon (206.16.235.126:3724)
[41] Draenor (12.129.233.5:3724)
[42] Blackhand (63.241.255.22:3724)
[43] Frostwolf (12.129.225.82:3724)
[44] Mal'Ganis (206.16.235.15:3724)
[45] Dragonmaw (12.129.233.49:3724)
[46] Dethecus (63.241.255.17:3724)
[47] Khaz'goroth (12.129.225.76:3724)
[48] Feathermoon (12.129.233.4:3724)
[49] Uther (12.129.225.87:3724)
[50] Dalaran (206.16.235.94:3724)
[51] Earthen Ring (206.16.235.54:3724)
[52] Icecrown (12.129.225.73:3724)
[53] Spirestone (12.129.233.84:3724)
[54] Thunderhorn (206.16.235.72:3724)
[55] Kil'Jaeden (12.129.225.81:3724)
[56] Stormreaver (63.241.255.20:3724)
[57] Khadgar (206.16.235.80:3724)
[58] Silvermoon (12.129.233.23:3724)
[59] Lightning's Blade (206.16.235.7:3724)
[60] Malfurion (63.241.255.63:3724)
[61] Argent Dawn (206.16.235.12:3724)
[62] Azshara (63.241.255.85:3724)
[63] Boulderfist (12.129.233.8:3724)
[64] Ursin (63.241.255.35:3724)
[65] Scarlet Crusade (12.129.233.75:3724)
[66] Hakkar (12.129.225.125:3724)
[67] Emerald Dream (63.241.255.72:3724)
[68] Stonemaul (12.129.233.28:3724)
[69] Akama (12.129.225.116:3724)
[70] Moonrunner (63.241.255.38:3724)
[71] Mannoroth (206.16.235.114:3724)
[72] Malygos (206.16.235.98:3724)
[73] Eredar (206.16.235.29:3724)
[74] Dragonblight (12.129.233.6:3724)
[75] Whisperwind (63.241.255.19:3724)
[76] Hyjal (12.129.225.86:3724)
[77] Bonechewer (12.129.233.50:3724)
[78] Frostmourne (12.129.225.68:3724)
[79] Balnazzar (63.241.255.42:3724)
[80] Arthas (206.16.235.110:3724)
[81] Cenarius (12.129.225.85:3724)
[82] Garona (63.241.255.29:3724)
[83] Llane (206.16.235.65:3724)
[84] Kirin Tor (63.241.255.117:3724)
[85] Skywall (12.129.233.42:3724)
[86] Doomhammer (12.129.225.74:3724)
[87] Eldre'Thalas (12.129.233.83:3724)
[88] Aggramar (206.16.235.123:3724)
[89] Runetotem (12.129.225.25:3724)
[90] Ner'zhul (12.129.225.83:3724)
[91] Gul'dan (63.241.255.108:3724)
[92] Bloodhoof (206.16.235.24:3724)
[93] Nathrezim (12.129.233.21:3724)
[94] Shadow Moon (206.16.235.19:3724)
[95] Perenolde (12.129.233.120:3724)
[96] Skullcrusher (206.16.235.13:3724)
[97] Gurubashi (12.129.233.56:3724)
[98] Dunemaul (12.129.233.11:3724)
[99] Dark Iron (63.241.255.34:3724)
[100] Agamaggan (63.241.255.78:3724)
[101] Garithos (12.129.225.8:3724)
[102] Maelstrom (63.241.255.68:3724)
[103] Crushridge (12.129.233.12:3724)
[104] Sargeras (63.241.255.37:3724)
[105] Aegwynn (12.129.225.35:3724)
[106] Khaz Modan (12.129.225.38:3724)
[107] Bleeding Hollow (206.16.235.115:3724)
[108] Thunderlord (206.16.235.42:3724)
[109] Gorefiend (206.16.235.55:3724)
[110] Bronzebeard (12.129.233.2:3724)
[111] Cho'gall (63.241.255.105:3724)
[112] Proudmoore (12.129.225.88:3724)
[113] Zul'jin (206.16.235.18:3724)
[114] Kel'Thuzad (12.129.225.75:3724)
[115] Destromath (63.241.255.16:3724)
[116] Darkspear (12.129.233.126:3724)
[117] Alleria (63.241.255.24:3724)
[118] Lothar (206.16.235.37:3724)
[119] Lightbringer (12.129.225.92:3724)
[120] Kargath (206.16.235.66:3724)
[121] Silver Hand (12.129.225.79:3724)
[122] Smolderthorn (12.129.233.63:3724)
[123] Tichondrius (12.129.225.80:3724)
[124] Kael'thas (63.241.255.79:3724)
[125] Durotan (206.16.235.16:3724)
[126] Cenarion Circle (12.129.233.24:3724)
[127] Gilneas (206.16.235.89:3724)
[128] Azjol-Nerub (12.129.233.119:3724)
[129] Azgalor (206.16.235.8:3724)
[130] Frostmane (12.129.233.118:3724)
[131] Lightninghoof (63.241.255.94:3724)
Selected realm: [125] (Durotan)
Outgoing packet:
0000   00 2d ed 01 00 00 0e 13   00 00 00 00 00 00 4d 59      .-m...........MY
0010   4e 44 46 59 52 45 00 06   c3 01 44 01 14 1a 98 85      NDFYRE..C.D.....
0020   2d 5d 8c aa 96 47 f4 e1   52 d7 d4 bf c7 3f 88         -].*.GtaRWT?G?.

Outgoing packet:
0000   e6 de 19 ff f4 1a                                      f^..t.         

The following characters are available for play on realm Durotan:
[0] Misgnomer (000000000057278d)
[1] Myndregar (0000000001199ca4)
[2] Jemdelan (000000000120cb5d)
[3] Moorie (000000000120dd1a)
[4] Nomulex (00000000012ae093)
Selected character: [1] (Myndregar)
Outgoing packet:
0000   9a 89 b9 b2 f2 ea a4 9c   19 01 00 00 00 00            ..92rj$....... 

Incoming packet:   742
Header:
0000   00 27 e6 02                                            .'f.           

Remains:
0000   55 67 23 1a 95 74 c1 da   83 77 9e 75 14 48 ed 6a      Ug#..tAZ.w.u.Hmj
0010   2c bb e4 64 b0 32 15 f8   2c 24 43 43 da 0d 50 79      ,;dd02.x,$CCZ.Py
0020   7d c2 d2 dd a9                                         }BR])           

Incoming packet:   AccountDataMd5
Header:
0000   00 82 09 02                                            ....           

Remains:
0000   00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00      ................
0010   00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00      ................
0020   00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00      ................
0030   00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00      ................
0040   00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00      ................
0050   00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00      ................
0060   00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00      ................
0070   00 00 00 00 00 00 00 00   00 00 00 00 00 00 00 00      ................

Incoming packet:   FriendList
Header:
0000   00 15 67 00                                            ..g.           

Remains:
0000   02 70 56 64 00 00 00 00   00 00 cf 90 19 01 00 00      .pVd......O.....
0010   00 00 00                                               ...             

Incoming packet:   IgnoreList
Header:
0000   00 03 6b 00                                            ..k.           

Remains:
0000   00                                                     .               

Incoming packet:   MessageChat
Header:
0000   00 31 96 00                                            .1..           

Remains:
0000   0a 00 00 00 00 00 00 00   00 00 00 00 00 1d 00 00      ................
0010   00 57 65 6c 63 6f 6d 65   20 74 6f 20 57 6f 72 6c      .Welcome to Worl
0020   64 20 6f 66 20 57 61 72   63 72 61 66 74 00 00         d of Warcraft..

Message from 0000000000000000: [System] in [Universal]: Welcome to World of Warcraft
Incoming packet:   SetRestStart
Header:
0000   00 06 1e 02                                            ....           

Remains:
0000   1f ff 5a 00                                            ..Z.           

Incoming packet:   BindPointUpdate
Header:
0000   00 16 55 01                                            ..U.           

Remains:
0000   22 8c cc c3 e3 5d 25 c5   21 72 c0 42 01 00 00 00      ".LCc]%E!r@B....
0010   7c 01 00 00                                            |...           

Incoming packet:   SetProficiency
Header:
0000   00 07 27 01                                            ..'.           

Remains:
0000   02 02 00 00 00                                         .....           

Incoming packet:   SetProficiency
Header:
0000   00 07 27 01                                            ..'.           

Remains:
0000   02 02 80 00 00                                         .....           
« Last Edit: January 23, 2006, 02:37:55 am by MyndFyre[x86] »
I have a programming folder, and I have nothing of value there

Running with Code has a new home!

Our species really annoys me.

Offline Sidoh

  • x86
  • Hero Member
  • *****
  • Posts: 17634
  • MHNATY ~~~~~
    • View Profile
    • sidoh
Re: It's official!
« Reply #1 on: January 23, 2006, 02:45:09 am »
Quote
Message from 00000000006a3474: [General] in [Common]: HEY GUYS I'M ON A BOT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Message from 0000000000001337: [Blizzard] in [Common]: /ban sidoh
Message from 00000000006a3474: [General] in [Common]: T_T

Offline Screenor

  • Hero Member
  • *****
  • Posts: 1611
  • My own little world.
    • View Profile
Re: It's official!
« Reply #2 on: January 23, 2006, 03:31:58 am »
Actually, I have a working WoW bot, you just have a almost working one. :)

That's how I blew through 48-52 so quickly. I'll run it tonight as well so I'll be 53, and we run ST tomorrow.


To Sidoh's reply which I know what it'll generally say;

No, I don't care about the game experience, no I don't care about wether you think it's "lame" or not. This is a rogue that I'm building to do maximized damage and serious farming, not to "roleplay" and enjoy begging for money on.


But yeah, if you're actually coding that bot, Myndfyre, when you finish label what it can do, I'd like to compare it with what I use.

Offline Blaze

  • x86
  • Hero Member
  • *****
  • Posts: 7136
  • Canadian
    • View Profile
    • Maide
Re: It's official!
« Reply #3 on: January 23, 2006, 07:21:41 am »
Actually, I have a working WoW bot, you just have a almost working one. :)

That's how I blew through 48-52 so quickly. I'll run it tonight as well so I'll be 53, and we run ST tomorrow.


To Sidoh's reply which I know what it'll generally say;

No, I don't care about the game experience, no I don't care about wether you think it's "lame" or not. This is a rogue that I'm building to do maximized damage and serious farming, not to "roleplay" and enjoy begging for money on.


But yeah, if you're actually coding that bot, Myndfyre, when you finish label what it can do, I'd like to compare it with what I use.

Wrong type of bot, dumb dumb.

Your type of bot, is the gay ones, that nobody likes except people the people who don't put enough time into the game.

MyndFyres bot is a program for chatting with, without WoW.exe. :P
And like a fool I believed myself, and thought I was somebody else...

Offline Joe

  • B&
  • x86
  • Hero Member
  • *****
  • Posts: 10319
  • In Soviet Russia, text read you!
    • View Profile
    • Github
Re: It's official!
« Reply #4 on: January 23, 2006, 08:01:52 am »
Another nice thing, WoW's CheckRevision doesn't use valuestrings. Yup, hardcoded values homie!
I'd personally do as Joe suggests

You might be right about that, Joe.


Offline Newby

  • x86
  • Hero Member
  • *****
  • Posts: 10877
  • Thrash!
    • View Profile
Re: It's official!
« Reply #5 on: January 23, 2006, 09:30:24 am »
Actually, I have a working WoW bot, you just have a almost working one. :)

That's how I blew through 48-52 so quickly. I'll run it tonight as well so I'll be 53, and we run ST tomorrow.

Does your bot PLAY the game for you (as in give the WoW GUI commands) or does it actually emulate the login sequence?
- Newby
http://www.x86labs.org

Quote
[17:32:45] * xar sets mode: -oooooooooo algorithm ban chris cipher newby stdio TehUser tnarongi|away vursed warz
[17:32:54] * xar sets mode: +o newby
[17:32:58] <xar> new rule
[17:33:02] <xar> me and newby rule all

I'd bet that you're currently bloated like a water ballon on a hot summer's day.

That analogy doesn't even make sense.  Why would a water balloon be especially bloated on a hot summer's day? For your sake, I hope there wasn't too much logic testing on your LSAT. 

Offline MyndFyre

  • Boticulator Extraordinaire
  • x86
  • Hero Member
  • *****
  • Posts: 4540
  • The wait is over.
    • View Profile
    • JinxBot :: the evolution in boticulation
Re: It's official!
« Reply #6 on: January 23, 2006, 02:06:08 pm »
Another nice thing, WoW's CheckRevision doesn't use valuestrings. Yup, hardcoded values homie!

It still changes at every logon based on client public key and a value from the server.
I have a programming folder, and I have nothing of value there

Running with Code has a new home!

Our species really annoys me.

Offline Blaze

  • x86
  • Hero Member
  • *****
  • Posts: 7136
  • Canadian
    • View Profile
    • Maide
Re: It's official!
« Reply #7 on: January 23, 2006, 04:13:45 pm »
Actually, I have a working WoW bot, you just have a almost working one. :)

That's how I blew through 48-52 so quickly. I'll run it tonight as well so I'll be 53, and we run ST tomorrow.

Does your bot PLAY the game for you (as in give the WoW GUI commands) or does it actually emulate the login sequence?

Yes, it reads the memory and sends keys.  An example program is WowGlider.
And like a fool I believed myself, and thought I was somebody else...

Offline Joe

  • B&
  • x86
  • Hero Member
  • *****
  • Posts: 10319
  • In Soviet Russia, text read you!
    • View Profile
    • Github
Re: It's official!
« Reply #8 on: January 23, 2006, 05:05:14 pm »
Another nice thing, WoW's CheckRevision doesn't use valuestrings. Yup, hardcoded values homie!

It still changes at every logon based on client public key and a value from the server.

Are the client/server keys used in the actual computation of the checksum, or are they applied after crev finishes? Do you actually need game files?
I'd personally do as Joe suggests

You might be right about that, Joe.


Offline Blaze

  • x86
  • Hero Member
  • *****
  • Posts: 7136
  • Canadian
    • View Profile
    • Maide
Re: It's official!
« Reply #9 on: January 23, 2006, 05:54:41 pm »
Also let me clarrify this, I do not use such programs as listed above, it was an example of the ones people on the vent server I go to use.
And like a fool I believed myself, and thought I was somebody else...

trust

  • Guest
Re: It's official!
« Reply #10 on: January 23, 2006, 05:56:06 pm »
Be nice to Scr33n0r, he doesn't know any better...he hangs out with myg0t people.

Offline MyndFyre

  • Boticulator Extraordinaire
  • x86
  • Hero Member
  • *****
  • Posts: 4540
  • The wait is over.
    • View Profile
    • JinxBot :: the evolution in boticulation
Re: It's official!
« Reply #11 on: January 23, 2006, 06:24:38 pm »
Are the client/server keys used in the actual computation of the checksum, or are they applied after crev finishes? Do you actually need game files?
Yes.  The checksum key is factored into the constants before any hashing is done:
Code: [Select]
PopulateByteArray(innerPadding, 0x36363636, 64); // populates that array with that constant
PopulateByteArray(outerPadding, 0x5c5c5c5c, 64);

for (int i = 0; i < 16; i++)
{
innerPadding[i] ^= checksumKey[i];
outerPadding[i] ^= checksumKey[i];
}

context = new MemoryStream();
context.Write(innerPadding, 0, 64);  // how you know you need the files every time

After performing the first checksum, the padding arrays are merged and hashed into the result.  *That* result is then merged into the client key and hashed again:
Code: [Select]
byte[] finalCheck = new byte[52];
Array.Copy(clientKey, 0, finalCheck, 0, 32);
Array.Copy(result2, 0, finalCheck, 32, 20);
byte[] finalResult = sha.ComputeHash(finalCheck);

You don't necessarily need to have the client, although you'd need another system like BNLS to do the version checking for you.  However, Skywing and I are currently looking into how the repair program works.  It's possible that we might be able to auto-download the necessary files to the client, or to a BNLS-like server.
I have a programming folder, and I have nothing of value there

Running with Code has a new home!

Our species really annoys me.

Offline Sidoh

  • x86
  • Hero Member
  • *****
  • Posts: 17634
  • MHNATY ~~~~~
    • View Profile
    • sidoh
Re: It's official!
« Reply #12 on: January 23, 2006, 09:17:35 pm »
Actually, I have a working WoW bot, you just have a almost working one. :)

That's how I blew through 48-52 so quickly. I'll run it tonight as well so I'll be 53, and we run ST tomorrow.


To Sidoh's reply which I know what it'll generally say;

No, I don't care about the game experience, no I don't care about wether you think it's "lame" or not. This is a rogue that I'm building to do maximized damage and serious farming, not to "roleplay" and enjoy begging for money on.


But yeah, if you're actually coding that bot, Myndfyre, when you finish label what it can do, I'd like to compare it with what I use.

Screenor: MyndFyre reversed the WoW authentication protocol.  That's a much higher achievement than one that just controls the WoW interface, if you ask me.

I don't roleplay, numbnuts.  I think it's really stupid that you use a bot to level your character; it's not because I'm jealous that you're leveling so fast.  You're just making yourself suck at the game more than you would if you'd actually played the character.  I really think you're an idiot for doing it, especially on your first character that's gotten above level 25.

Offline Blaze

  • x86
  • Hero Member
  • *****
  • Posts: 7136
  • Canadian
    • View Profile
    • Maide
Re: It's official!
« Reply #13 on: January 23, 2006, 09:31:00 pm »
I think it's really stupid that you use a bot to level your character; it's not because I'm jealous that you're leveling so fast.  You're just making yourself suck at the game more than you would if you'd actually played the character.  I really think you're an idiot for doing it, especially on your first character that's gotten above level 25.

Thats what I was thinking!
And like a fool I believed myself, and thought I was somebody else...

Offline Screenor

  • Hero Member
  • *****
  • Posts: 1611
  • My own little world.
    • View Profile
Re: It's official!
« Reply #14 on: January 24, 2006, 07:57:04 am »
Actually, I have a working WoW bot, you just have a almost working one. :)

That's how I blew through 48-52 so quickly. I'll run it tonight as well so I'll be 53, and we run ST tomorrow.

Does your bot PLAY the game for you (as in give the WoW GUI commands) or does it actually emulate the login sequence?

Yes, it reads the memory and sends keys.  An example program is WowGlider.

That's exactly what I use, actually.

At Newby: Yes.

At Blaze: I have about 13 days in that one character, I play the game more then you could imagine. I'm just lazy.

Also at Blaze: I posted I don't care, so, why reply? :)

Lastly:

Why? I know exatly how to play, I know exactly how everything works. It's not as though I let it run for 50 levels and just go "....what's MC?". Tell me, what don't I not know that makes me "suck" at the game? I'm able to (and have) taken out level 53 shamans, with a 52 druid healing them. Tell me how it makes me "suck at the game".
« Last Edit: January 24, 2006, 08:00:18 am by Scr33n0r »