ttol
9th July 2002, 15:54
----------------------------------------------
:: Lancraft 1.01 - PUBLIC
:: written by ttol
----------------------------------------------
:: Warcraft III v1.0 and 1.01
----------------------------------------------
-----------
:: Summary
-----------
We've managed to bypass the protections
embedded inside Warcraft III so that you can
now play across the internet. It works on
all versions up to July 07, 2002.
The benefits of our program:
o Simple usage
o No interaction and communication between
battle.net's authentication servers
o Simple usage
o Created by your proven team (ttol and Coolest)
o One person can host, everyone else joins..
- clans can now have clan servers!
o At a LAN with an internet connection, the LAN
people can battle it out with internet people.
Just give the IP to them and send them Lancraft
to battle it out...LAN vs Internet!
----------
:: To use
----------
One person has to host the game. Get that person's
IP address. Insert it into Lancast.
Start up Warcraft III, go to options and set
game port to anything other than the server's port
(6112 in 99.9% of the cases). I use 6110.
Go to LAN and that person's game will show up.
Enjoy.
**************
NOTE: If you're the server, please set your GAME PORT
under Options->Gameplay to 6112.
If you're connecting, set GAME PORT to 6110.
It's VERY IMPORTANT!
**************
----------
:: Details
----------
We basically emulated the LAN function to work
over the internet. It was a hard hack to write
because Blizzard Entertainment implemented a few
protections.
One of them was the port protection.
They wouldn't allow us to take control over the UDP
LAN port. If we did take it, Warcraft III would refuse
to go into LAN mode. We bypassed it by faking the
"Lan tag".
When you start a LAN server, it broadcasts a
packet that contains a "lan tag". It contains
a CRC check. It's like a keep-alive but with
a CRC. If the check fails, one of the side effects
is that the number of players jumps to a very large
semi-random number. The tag is based on the
number of open spots available and the crc.
So, we had to somehow circumvent the crc.
We made a fake CRC with 1/2 people in the server
until the server sends the full data with the name
of the server and other information. We decoded that
and re-encoded the CRC with the correct info.
The lan tag is:
F7 32 10 00 01 00 00 00 01 00 00 00 02 00 00 00 .2..............
A sample info request from client:
F7 2F 10 00 33 52 41 57 00 00 00 00 00 00 00 00
Response:
F7 30 6D 00 33 52 41 57 00 00 00 00 01 00 00 00 .0m.3RAW........
49 E1 7F 09 43 6F 6F 6C 65 73 74 27 73 20 47 61 I...Coolest's Ga
6D 65 00 00 01 03 49 07 01 01 A1 01 D1 49 01 A7 me....I......I..
8D 2D 6D 4D 8B 61 71 73 5D 29 33 29 AD 43 6F 6F .-mM.aqs])3).Coo
75 79 43 61 BB 79 2F 77 33 6D 01 43 37 6F 6F 6D uyCa.y/w3m.C7oom
65 73 75 01 01 01 00 0C 00 00 00 09 00 00 00 01 esu.............
00 00 00 02 00 00 00 55 00 00 00 E0 17 .......U.....
Then we -21 from the end of the packet (that's the
correct CRC), and we copy that and add to
F7 32 10 00 01 00 00 00 01 00 00 00 0C 00 00 00
and BOOM, it works.
-------------------
:: Acknowledgements
-------------------
o Blizzard Entertainment (www.blizzard.com) for making such a
beautiful game.
o ttol (that's me!) for...being the ladie's man and
perfecting the beautiful graphical user interface and etc
and such and so on and so forth
o Coolest for the network coding
:: Lancraft 1.01 - PUBLIC
:: written by ttol
----------------------------------------------
:: Warcraft III v1.0 and 1.01
----------------------------------------------
-----------
:: Summary
-----------
We've managed to bypass the protections
embedded inside Warcraft III so that you can
now play across the internet. It works on
all versions up to July 07, 2002.
The benefits of our program:
o Simple usage
o No interaction and communication between
battle.net's authentication servers
o Simple usage
o Created by your proven team (ttol and Coolest)
o One person can host, everyone else joins..
- clans can now have clan servers!
o At a LAN with an internet connection, the LAN
people can battle it out with internet people.
Just give the IP to them and send them Lancraft
to battle it out...LAN vs Internet!
----------
:: To use
----------
One person has to host the game. Get that person's
IP address. Insert it into Lancast.
Start up Warcraft III, go to options and set
game port to anything other than the server's port
(6112 in 99.9% of the cases). I use 6110.
Go to LAN and that person's game will show up.
Enjoy.
**************
NOTE: If you're the server, please set your GAME PORT
under Options->Gameplay to 6112.
If you're connecting, set GAME PORT to 6110.
It's VERY IMPORTANT!
**************
----------
:: Details
----------
We basically emulated the LAN function to work
over the internet. It was a hard hack to write
because Blizzard Entertainment implemented a few
protections.
One of them was the port protection.
They wouldn't allow us to take control over the UDP
LAN port. If we did take it, Warcraft III would refuse
to go into LAN mode. We bypassed it by faking the
"Lan tag".
When you start a LAN server, it broadcasts a
packet that contains a "lan tag". It contains
a CRC check. It's like a keep-alive but with
a CRC. If the check fails, one of the side effects
is that the number of players jumps to a very large
semi-random number. The tag is based on the
number of open spots available and the crc.
So, we had to somehow circumvent the crc.
We made a fake CRC with 1/2 people in the server
until the server sends the full data with the name
of the server and other information. We decoded that
and re-encoded the CRC with the correct info.
The lan tag is:
F7 32 10 00 01 00 00 00 01 00 00 00 02 00 00 00 .2..............
A sample info request from client:
F7 2F 10 00 33 52 41 57 00 00 00 00 00 00 00 00
Response:
F7 30 6D 00 33 52 41 57 00 00 00 00 01 00 00 00 .0m.3RAW........
49 E1 7F 09 43 6F 6F 6C 65 73 74 27 73 20 47 61 I...Coolest's Ga
6D 65 00 00 01 03 49 07 01 01 A1 01 D1 49 01 A7 me....I......I..
8D 2D 6D 4D 8B 61 71 73 5D 29 33 29 AD 43 6F 6F .-mM.aqs])3).Coo
75 79 43 61 BB 79 2F 77 33 6D 01 43 37 6F 6F 6D uyCa.y/w3m.C7oom
65 73 75 01 01 01 00 0C 00 00 00 09 00 00 00 01 esu.............
00 00 00 02 00 00 00 55 00 00 00 E0 17 .......U.....
Then we -21 from the end of the packet (that's the
correct CRC), and we copy that and add to
F7 32 10 00 01 00 00 00 01 00 00 00 0C 00 00 00
and BOOM, it works.
-------------------
:: Acknowledgements
-------------------
o Blizzard Entertainment (www.blizzard.com) for making such a
beautiful game.
o ttol (that's me!) for...being the ladie's man and
perfecting the beautiful graphical user interface and etc
and such and so on and so forth
o Coolest for the network coding