WoW Lightning Login

10/04/2005 11:17 Lowfyr#1
I've posted this program on a lot of forums, and most delete it immediately as they are distrustful of such things (and I can see why, douches running about with their '1337 keylogger programs'.)


So I'm taking a different approach. This program doesn't access the interent, so don't worry about that. First off, I'm going to post the source. I used to give source and compiled .exes, but people are distrustful of .exes, so I'm not going to give them out. (But I'll give you the icon file for the .exes so you can compile the scripts with it if you wish.)


Now, first off, what this program does.
It simply allows you to use LL Setup create a profile with your Username, Password, and a Character Slot, and then Lightning Login to type in a profile name to quickly and easily log you on to your character while you go get a coke or summat. You can create a profile for each of your characters, for instance. The program actually starts logging you in before your screen even comes out of being black on most systems.

Now, to use the program, you first need to download AutoIt3 from [Only registered and activated users can see links. Click Here To Register...]

Once you install it, you can run scripts directly without the need of a compiled .exe, thus you know exactly what you're running. After you install it right click your Desktop and select New -> AutoIt v3 Script. Name it LL Setup. Now right click it and select Edit. Delete everything inside it and copy in the source for LL Setup provided down the page a little.

Do the same for Lightning Login.


The readme covers what you need to do after this, and is included with the icon in the link below.


Enjoy, and PLEASE give me feedback and ideas!


LL Setup Source:
Code:
;------------------------------------------------------------------
;
;Lightning Login Setup 1.0
;By TempestReborne aka Tremptor
;
;September 11, 2005
;
;
;[Only registered and activated users can see links. Click Here To Register...]
;------------------------------------------------------------------
#include <GUIConstants.au3>

;Start the GUI
$main = GUICreate ( "WoW Auto Login Compiler" , 500 , 250 )
;Aut2exe.exe /in <infile.au3> [/out <outfile.exe>] [/icon <iconfile.ico>] [/nodecompile] [/comp 0-4] [/pass <passphrase>]
HotKeySet ( "{ESC}" , "exitfunc" )
GUICtrlCreateLabel ( "Input your Username as it is entered in WoW", 10, 10, 250, 20 )
$user = GUICtrlCreateInput ( "", 10, 31 , 200 , 20 )
GUICtrlCreateLabel ( "Input your Password as it is entered in WoW", 10, 56, 250, 20 )
$pass = GUICtrlCreateInput ( "", 10 , 77 , 200 , 20 , $ES_PASSWORD )
GuiCtrlCreateLabel ( "Character Number", 270, 10, 100, 20 )
$char = GUICtrlCreateInput ( "1", 270, 31 , 25 , 20 )
GuiCtrlCreateLabel ( "Time it takes (milliseconds) for WoW to Start", 270, 69, 250, 20 )
$wait = GUICtrlCreateInput ( "10000", 270, 90 , 65 , 20 )
$output = GUICtrlCreateInput ( "Name of Output File", 10, *120, 200, 20)
$pathtowow = GUICtrlCreateInput ( "Path to WoW Folder", 10, 150, 400, 20 )
$startbtn = GUICtrlCreateButton ( "Compile", 0, 200 , 75 , 50 )
GUISetState (@SW_SHOW)

Func exitfunc()
 * *Exit
EndFunc

;User Hits Compile
While 1
 * *$msg = GUIGetMsg()
If $msg = $startbtn Then
 * *compilestart()
EndIF
WEnd

Func compilestart()
 * *$readuser = GUICtrlRead ( $user )
 * *$readpass = GUICtrlRead ( $pass )
 * *$readchar = GUICtrlRead ( $char )
 * *$readwait = GUICtrlRead ( $wait )
 * *$readpath = GUICtrlRead ( $pathtowow )
 * *$readoput = GUICtrlRead ( $output )
 * *$confirmbox = MsgBox ( 4, "Is this information correct?", "AccountName: " & $readuser & @CRLF & "Password: " & $readpass & @CRLF & "Character: " & $readchar & @CRLF & "Wait Time: " & $readwait & *@CRLF & "Output Filename: " & $readoput & @CRLF & "Path to Wow: " & $readpath *)
 * *If $confirmbox = 6 Then *
 * * * *IniWrite ( $readoput & ".ini" , "Userdata", "AccountName", $readuser )
 * * * *IniWrite ( $readoput & ".ini" , "Userdata", "Password", $readpass )
 * * * *IniWrite ( $readoput & ".ini" , "Userdata", "Character", $readchar )
 * * * *IniWrite ( $readoput & ".ini" , "OtherData", "Waittime", $readwait )
 * * * *IniWrite ( $readoput & ".ini" , "OtherData", "PathtoWoW", $readpath )
 * * * *Exit
 * *EndIf
EndFunc
Lightning Login Source:
Code:
;------------------------------------------------------------------
;
;Lightning Login 1.0
;By TempestReborne aka Tremptor
;
;September 11, 2005
;
;
;[Only registered and activated users can see links. Click Here To Register...]
;------------------------------------------------------------------
HotKeySet ( "ESC" , "close" )
Func close()
 * *Exit
EndFunc
$prof = InputBox ( "Select Profile", "Input the name of the .ini you wish to use." , "" , "" , 400, 50 )
$user = IniRead ( $prof & ".ini", "Userdata", "AccountName", "Not Found" )
$pass = IniRead ( $prof & ".ini", "Userdata", "Password", "Not Found" )
$char = IniRead ( $prof & ".ini", "Userdata", "Character", "Not Found" )
$wait = IniRead ( $prof & ".ini", "OtherData", "Waittime", "Not Found" )
$path = IniRead ( $prof & ".ini", "OtherData", "PathtoWoW", "Not Found" )
If $user = "Not Found" Or $pass = "Not Found" OR $char = "Not Found" Or $wait = "Not Found" OR $path = "Not Found" Then
 * *MsgBox ( 0 , "Error" , "Missing Data/Unable to Find Profile" )
 * *Exit
EndIf
$splash = SplashTextOn ( "Autologin", "Starting World of Warcraft" , 200 , 50 ,-1,-1, 1 , "System" , "14" )
Run ( $path & "WoW.exe" )
WinWait ( "World of Warcraft" )
Sleep ( $wait )
ControlSetText ( "Autologin", "", $splash, "Waiting for World of Warcraft" )
WinWait ( "World of Warcraft" )
Sleep ( 5000 )
ControlSetText ( "Autologin", "", $splash, "Logging In" )
Send ("{HOME}+{END}{DEL}")
Send ( $user & "{TAB}" )
Send ( $pass )
Sleep ( 5000 )
Send ( "{ENTER}" )
ControlSetText ( "Autologin", "", $splash, "Waiting to Select Character" )
Sleep ( 10000)
$char = $char - 1
$cact = 0
Do
 * *Send ( "{DOWN }" )
 * *$cact = $cact + 1
Until $cact >= $char
Sleep ( 1000 )
Send ( "{ENTER}" )
ControlSetText ( "Autologin", "", $splash, "Character Selected. Have fun playing WoW!" )
Sleep ( 2000 )
Exit
10/04/2005 11:17 Lowfyr#2
There are no functions in it to connect to the internet.

If it's ZoneAlarm it might be saying it's trying to connect to the ip 0.0.0.0 or something like that, I have no idea why it does that, but there's no internet there xD


Now:

2.0 Released!

New Features: No downloading ANYTHING except AutoIt3. You just copy and paste the source, so you know that what you're getting is safe.
Password is now encrypted in the .ini file.
New Login Waittime feature. You can now set how long you want the script to sleep before trying to select your character.

Readme for 2.0:




Code:
If you already have the .au3 files, skip to part two.

PART 1:

Get and install AutoIt3 from [url]www.autoitscript.com[/url]

Now, Right click on your Desktop and do New -> Folder.
Name the folder Lightning Login.
Open the folder and right click inside it.
Do New -> AutoIt v3 Script.
Name it LL Setup.
Delete everything inside there and paste this into it:





;------------------------------------------------------------------
;
;Lightning Login Setup 2.0
;By TempestReborne aka Tremptor
;
;September 11, 2005
;
;
;[Only registered and activated users can see links. Click Here To Register...]
;------------------------------------------------------------------
#include <GUIConstants.au3>
#include <string.au3>
;Start the GUI
$main = GUICreate ( "WoW Auto Login Compiler" , 500 , 250 )
HotKeySet ( "{ESC}" , "exitfunc" )
GUICtrlCreateLabel ( "Input your Username as it is entered in WoW", 10, 10, 250, 20 )
$user = GUICtrlCreateInput ( "", 10, 31 , 200 , 20 )
GUICtrlCreateLabel ( "Input your Password as it is entered in WoW", 10, 56, 250, 20 )
$pass = GUICtrlCreateInput ( "", 10 , 77 , 200 , 20 , $ES_PASSWORD )
GuiCtrlCreateLabel ( "Character Number", 270, 10, 100, 20 )
$char = GUICtrlCreateInput ( "1", 270, 31 , 25 , 20 )
$liwt = GUICtrlCreateInput ( "Login Wait (In ms)", 305, 31, 100, 20 )
GuiCtrlCreateLabel ( "Time it takes (milliseconds) for WoW to Start", 270, 69, 250, 20 )
$wait = GUICtrlCreateInput ( "10000", 270, 90 , 65 , 20 )
$encp = GuiCtrlCreateInput("Encryption Passphrase",270,120,130,20, $ES_CENTER)
$output = GUICtrlCreateInput ( "Name of Output File", 10, *120, 200, 20)
$pathtowow = GUICtrlCreateInput ( "Path to WoW Folder", 10, 150, 400, 20 )
$startbtn = GUICtrlCreateButton ( "Compile", 0, 200 , 75 , 50 )
GUISetState (@SW_SHOW)

Func exitfunc()
 * *Exit
EndFunc

;User Hits Compile
While 1
 * *$msg = GUIGetMsg()
If $msg = $startbtn Then
 * *compilestart()
EndIF
WEnd

Func compilestart()
 * *$readuser = GUICtrlRead ( $user )
 * *$readpass = GUICtrlRead ( $pass )
 * *$readchar = GUICtrlRead ( $char )
 * *$readwait = GUICtrlRead ( $wait )
 * *$readpath = GUICtrlRead ( $pathtowow )
 * *$readoput = GUICtrlRead ( $output )
 * *$readencp = GUICtrlRead ( $encp )
 * *$readliwt = GUICtrlRead ( $liwt)
 * *$confirmbox = MsgBox ( 4, "Is this information correct?", "AccountName: " & $readuser & @CRLF & "Password: " & $readpass & @CRLF & "Character: " & 

$readchar & @CRLF & "Wait Time: " & $readwait & *@CRLF & "Output Filename: " & $readoput & @CRLF & "Path to Wow: " & $readpath *)
 * *If $confirmbox = 6 Then *
 * * * *$encd = _StringEncrypt ( "1", $readpass, $readencp )
 * * * *IniWrite ( $readoput & ".ini" , "Userdata", "AccountName", $readuser )
 * * * *IniWrite ( $readoput & ".ini" , "Userdata", "Password", $encd )
 * * * *IniWrite ( $readoput & ".ini" , "Userdata", "Character", $readchar )
 * * * *IniWrite ( $readoput & ".ini" , "OtherData", "Waittime", $readwait )
 * * * *IniWrite ( $readoput & ".ini" , "OtherData", "PathtoWoW", $readpath )
 * * * *IniWrite ( $readoput & ".ini" , "OtherData", "LoginWaittime", $readliwt )
 * * * *Exit
 * *EndIf
EndFunc








File -> Save. Close the window.
Now make another new script, delete everything in it, and name it Lightning Login.
Paste this into it:





;------------------------------------------------------------------
;
;Lightning Login 2.0
;By TempestReborne aka Tremptor
;
;September 11, 2005
;
;
;[Only registered and activated users can see links. Click Here To Register...]
;------------------------------------------------------------------
#include <string.au3>
HotKeySet ( "ESC" , "close" )
Func close()
 * *Exit
EndFunc
$prof = InputBox ( "Select Profile", "Input the name of the .ini you wish to use." , "" , "" , 400, 50 )
$encp = InputBox ( "Encryption", "Please enter your encryption password." , "" , "x" , 400, 50 )
$user = IniRead ( $prof & ".ini", "Userdata", "AccountName", "Not Found" )
$pass = IniRead ( $prof & ".ini", "Userdata", "Password", "Not Found" )
$char = IniRead ( $prof & ".ini", "Userdata", "Character", "Not Found" )
$wait = IniRead ( $prof & ".ini", "OtherData", "Waittime", "Not Found" )
$path = IniRead ( $prof & ".ini", "OtherData", "PathtoWoW", "Not Found" )
$liwt = IniRead ( $prof & ".ini", "OtherData", "LoginWaittime", "Not Found" )
If $user = "Not Found" Or $pass = "Not Found" OR $char = "Not Found" Or $wait = "Not Found" OR $path = "Not Found" OR $liwt = "Not Found" Then
 * *MsgBox ( 0 , "Error" , "Missing Data/Unable to Find Profile" )
 * *Exit
EndIf
$splash = SplashTextOn ( "Autologin", "Decrypting Pass and Starting WoW" , 200 , 50 ,-1,-1, 1 , "System" , "14" )
$pwdc = _StringEncrypt ( "0", $pass, $encp )
Run ( $path & "WoW.exe" )
WinWait ( "World of Warcraft" )
Sleep ( $wait )
ControlSetText ( "Autologin", "", $splash, "Waiting for World of Warcraft" )
WinWait ( "World of Warcraft" )
Sleep ( 5000 )
ControlSetText ( "Autologin", "", $splash, "Logging In" )
Send ("{HOME}+{END}{DEL}")
Send ( $user & "{TAB}" )
Send ( $pwdc )
Sleep ( 5000 )
Send ( "{ENTER}" )
ControlSetText ( "Autologin", "", $splash, "Waiting to Select Character" )
Sleep ( $liwt )
$char = $char - 1
$cact = 0
Do
 * *Send ( "{DOWN }" )
 * *$cact = $cact + 1
Until $cact >= $char
Sleep ( 200 )
Send ( "{ENTER}" )
ControlSetText ( "Autologin", "", $splash, "Character Selected. Have fun playing WoW!" )
Sleep ( 2000 )
Exit





File -> Save. Close the window.






PART TWO:


Now you need to double click LL Setup and create a profile. If you want you can create a profile for each character so that you can quickly login to 

any of your characters.


Description of Each Box:


Input your Username as it is entered in Wow:
Self explanatory. The program needs to have the EXACT username, otherwise
it will try to login to the wrong account.

Input your Password as it is entered in WoW:
Also self explanatory. Remember to use the correct capitalization.

Character Number:
This is the character slot you want to log in with. For your first character,
put 1. For your second, put 2, etc.

Login Wait (in ms):
This is the amount of time in milliseconds to wait for WoW to let you log in. If
you have a slower connection or play on a slow server, you should increase this amount.
I usually use 10000 (10 seconds).

Time it takes (milliseconds) for WoW to Start:
This is how long it usually takes WoW to start up. Suggested 10 seconds, or 10,000 milliseconds.
Don't put commas in.

Name of Output File:
This is the name you want the .ini file to have. This is also what you
will type in to Lightning Login to start that specific login profile. Suggested 
that you name it the name of your character, to remember easily.

Path to WoW Folder:
This is the path to World of Warcraft, usually C:\Program Files\World of Warcraft\
THE LAST BACKSLASH IS NECESSARY!

Encryption Passphrase:
This is the passphrase that will be used to encrypt your password into the .ini file.
You need to remember this. Try to keep it between 4 to 7 characters.

Compile:
Press this button to create the profile. The profile will be created in the same folder 
that you have Lightning Login Setup in. It needs to stay in the same folder as Lightning Login Setup
and Lightning Login so that Lightning Login may find it


To exit the program, press the ESC key. The upper right 'X' does not work due 
to the structure of the script.



THIS PROGRAM SHOULD NOT ATTEMPT TO ACCESS THE INTERNET! IF IT DOES DELETE IT
IMMEDIATELY AS YOU HAVE A HACKED/EDITED VERSION OF LIGHTNING LOGIN SETUP!





Using Lightning Login:

Double click Lightning Login.exe. An input box will come up asking you for a profile name. 
Put in the name of the profile you wish to use. For example, if you named
the profile Skittlez.ini, then you would type in Skittlez. Make sure the profile is in the same 
folder as Lightning Login!
Lightning Login will then start World of warcraft, put in your name and password, log you in, and select your character and Enter World.

Have fun playing WoW!


THIS PROGRAM SHOULD NOT ATTEMPT TO ACCESS THE INTERNET! IF IT DOES DELETE IT
IMMEDIATELY AS YOU HAVE A HACKED/EDITED VERSION OF LIGHTNING LOGIN!



You don't have to download anything, just use the source provided to construct the .au3 files yourselves. This way you KNOW what you're using, and know that it's safe.

Enjoy.
10/04/2005 11:43 juggalo#3
Wenn ich genau verstanden habe um was es dabei geht, werd ih dir +Karma, sieht aber wohl danach aus also müsst ichs noch 2-3 durchlesen, kannst mir in einem Satz sagen was das machen soll?

Createt das ein Profil für jeden deinen Char und du kannst dir Sachen machen die du dann onlin hast ?

Glaubt net oder :p

*Edit* so habs kapiert :ops:

Sehr schnell einloggen :p
Aber ja find ich cool, bei mir dauerts sowieso immer zu lang :p
+ wie versprochen
10/05/2005 19:27 modrit#4
ist ja nett das teil.
aber was sagt blizz dazu?
nicht das die wieder willkürlich mich bannen weil sie denken ich botte e.tc.?
10/06/2005 09:02 berzerkwolf#5
ich steig irgendwie nicht so ganz dahinter was des sein soll auch nachdem ich den englischen text gelesen habe ...

kann mir mal bitte einer kurz und knapp sagen was des sein soll O_o
10/06/2005 11:26 modrit#6
stell dir vor du hast nen icon für jedenchar wo du draufklickst und zack bist ingame.
du sollst wohl schon eingelogt sein wenn sich das bild aufgebaut hat
10/06/2005 11:57 berzerkwolf#7
ahhhja ok danke ^
10/06/2005 14:00 magierlein#8
verkürzt es auch die einloggzeit, oder nur die tipparbeit für acc/pw und die damit verbundenen lags?